Alapszintű hitelesítés letiltása az App Service üzemelő példányaiban

Ez a cikk bemutatja, hogyan tilthatja le az alapszintű hitelesítést (felhasználónév és jelszó-hitelesítés) a kód App Service-alkalmazásokban való üzembe helyezésekor.

Az App Service alapvető hitelesítést biztosít az FTP- és WebDeploy-ügyfelek számára, hogy üzembehelyezési hitelesítő adatokkal csatlakozzanak hozzá. Ezek az API-k nagyszerűen használhatók a webhely fájlrendszerének böngészéséhez, illesztőprogramok és segédprogramok feltöltéséhez, valamint az MsBuild használatával történő üzembe helyezéshez. A vállalatok azonban gyakran biztonságosabb üzembehelyezési módszereket igényelnek, mint az alapszintű hitelesítést, például a Microsoft Entra ID-hitelesítést (lásd a hitelesítés típusait az Azure-alkalmazás Szolgáltatás üzembe helyezési módszerei alapján). A Microsoft Entra az OAuth 2.0 jogkivonatalapú hitelesítést használja, és számos előnnyel és fejlesztéssel rendelkezik, amelyek segítenek az alapszintű hitelesítéssel kapcsolatos problémák megoldásában. Az OAuth hozzáférési jogkivonatok például korlátozottan használhatók, és azokra az alkalmazásokra és erőforrásokra vonatkoznak, amelyekhez ki vannak adva, így nem használhatók fel újra. A Microsoft Entra lehetővé teszi más Azure-szolgáltatásokból való üzembe helyezést felügyelt identitások használatával is.

Alapszintű hitelesítés letiltása

Az alapszintű hitelesítéshez két különböző vezérlő érhető el. Ezek konkrétan a következők:

  • FTP-telepítés esetén az alapszintű hitelesítést a basicPublishingCredentialsPolicies/ftp jelölő vezérli (az FTP Alapszintű hitelesítés közzétételi hitelesítő adatai beállítás a portálon).
  • Az alapszintű hitelesítést használó egyéb üzembehelyezési módszerek, például a Visual Studio, a helyi Git és a GitHub esetében az alapszintű hitelesítést a basicPublishingCredentialsPolicies/scm jelölő vezérli (A portálon az SCM Basic Auth Publishing Credentials beállítás).
  1. Az Azure Portalon keresse meg és válassza ki az App Servicest, majd válassza ki az alkalmazást.

  2. Az alkalmazás bal oldali menüjében válassza az Általános konfigurációs>beállítások lehetőséget.

  3. Az SCM alapszintű hitelesítésű közzétételi hitelesítő adatai vagy az FTP alapszintű hitelesítési hitelesítő adatai esetében válassza a Ki, majd a Mentés lehetőséget.

    A screenshot showing how to disable basic authentication for Azure App Service in the Azure portal.

Az FTP-hozzáférés letiltásának ellenőrzéséhez próbáljon meg FTP/S használatával csatlakozni az alkalmazáshoz. Üzenetet kell kapnia 401 Unauthenticted .

Annak ellenőrzéséhez, hogy a Git-hozzáférés le van-e tiltva, próbálkozzon a helyi Git-telepítéssel. Üzenetet kell kapnia Authentication failed .

Üzembe helyezés alapszintű hitelesítés nélkül

Ha letiltja az alapszintű hitelesítést, az alapszintű hitelesítéstől függő üzembehelyezési módszerek leállnak.

Az alábbi táblázat bemutatja, hogyan viselkednek a különböző üzembehelyezési módszerek, ha az alapszintű hitelesítés le van tiltva, és hogy van-e tartalék mechanizmus. További információ: Hitelesítési típusok üzembe helyezési módszerek szerint a Azure-alkalmazás Service-ben.

Üzembe helyezési módszer Ha az alapszintű hitelesítés le van tiltva
A Visual Studio üzembe helyezése Nem működik.
FTP Nem működik.
Helyi Git Nem működik.
Azure CLI Az Azure CLI 2.48.1-es vagy újabb verzióiban a következő parancsok a Microsoft Entra-hitelesítésre kerülnek vissza:
- az webapp up
- az webapp deploy
- az webapp deployment source config-zip
- az webapp log deployment show
- az webapp log deployment list
- az webapp log download
- az webapp log tail
- az webapp browse
- az webapp create-remote-connection
- az webapp ssh
- az functionapp deploy
- az functionapp log deployment list
- az functionapp log deployment show
- az functionapp deployment source config-zip 
Maven beépülő modul vagy Gradle beépülő modul Működik.
GitHub és App Service Build Service Nem működik.
GitHub Actions – Egy meglévő GitHub Actions-munkafolyamat, amely alapszintű hitelesítést használ, nem tud hitelesíteni. Az Üzembe helyezési központban válassza le a meglévő GitHub-konfigurációt, és hozzon létre egy új GitHub Actions-konfigurációt a felhasználó által hozzárendelt identitásbeállítással .
– Ha a meglévő GitHub Actions-üzembe helyezés manuálisan van konfigurálva, próbálkozzon inkább egy egyszerű szolgáltatásnév vagy az OpenID Csatlakozás használatával.
– Az Üzembe helyezési központban az új GitHub Actions-konfigurációhoz használja a felhasználó által hozzárendelt identitásbeállítást .
Üzembe helyezés a Létrehozás varázslóban Ha az alapszintű hitelesítés letiltási és folyamatos üzembe helyezési beállítása engedélyezve van, a GitHub Actions a felhasználó által hozzárendelt identitásbeállítással (OpenID Csatlakozás) van konfigurálva.
Azure-adattárak az App Service Build Service szolgáltatással Nem működik.
BitBucket Nem működik.
Azure Pipelines az AzureWebApp-feladattal Működik.
Azure Pipelines with AzureRmWebAppDeployment task - Használja a legújabb AzureRmWebAppDeployment feladatot a tartalék viselkedés lekéréséhez.
– A Közzétételi profil (PublishProfile) kapcsolattípus nem működik, mert alapszintű hitelesítést használ. Módosítsa a kapcsolat típusát az Azure Resource Manager (AzureRM)-ra.
– Nem Windows-folyamatügynökök esetén a hitelesítés működik.
– Windows-ügynökök esetén előfordulhat, hogy módosítani kell a feladat által használt üzembe helyezési módszert. Ha a Web Deploy használata (DeploymentType: 'webDeploy') és az alapszintű hitelesítés le van tiltva, a feladat egy Microsoft Entra-jogkivonattal hitelesít. Ha nem használja az windows-latest ügynököt, vagy ha saját üzemeltetésű ügynököt használ, további követelmények is vannak. További információt a Windows-ügynökömRől származó Microsoft Entra-hitelesítéssel a Azure-alkalmazás szolgáltatásomon történő webes üzembe helyezés nem tudok című témakörben talál.
– Más üzembe helyezési módszerek is működnek, például zip üzembe helyezés vagy csomagból való futtatás.

Egyéni szerepkör létrehozása alapszintű hitelesítéshez nem szükséges engedélyekkel

Ha meg szeretné akadályozni, hogy egy alacsonyabb szintű felhasználó bármely alkalmazáshoz engedélyezze az alapszintű hitelesítést, létrehozhat egy egyéni szerepkört, és hozzárendelheti a felhasználót a szerepkörhöz.

  1. Az Azure Portal felső menüjében keresse meg és válassza ki azt az előfizetést, amelyben létre szeretné hozni az egyéni szerepkört.

  2. A bal oldali navigációs sávon válassza a Hozzáférés-vezérlés (IAM)>Egyéni szerepkör hozzáadása>lehetőséget.

  3. Állítsa be az Alapfület tetszés szerint, majd válassza a Tovább gombot.

  4. Az Engedélyek lapon válassza az Engedélyek kizárása lehetőséget.

  5. Keresse meg és válassza ki a Microsoft Web Apps alkalmazást, majd keressen rá a következő műveletekre:

    Művelet Leírás
    microsoft.web/sites/basicPublishingCredentialsPolicies/ftp FTP-közzétételi hitelesítő adatok az App Service-alkalmazásokhoz.
    microsoft.web/sites/basicPublishingCredentialsPolicies/scm Az SCM az App Service-alkalmazások hitelesítő adatait teszi közzé.
    microsoft.web/sites/slots/basicPublishingCredentialsPolicies/ftp FTP-közzétételi hitelesítő adatok az App Service-pontokhoz.
    microsoft.web/sites/slots/basicPublishingCredentialsPolicies/scm SCM-közzétételi hitelesítő adatok az App Service-pontokhoz.
  6. Az egyes műveletek alatt jelölje ki az Írás jelölőnégyzetet, majd válassza a Hozzáadás lehetőséget. Ez a lépés notActions néven adja hozzá a műveletet a szerepkörhöz.

    Az Engedélyek lapnak az alábbi képernyőképhez hasonlóan kell kinéznie:

    A screenshot showing the creation of a custom role with all basic authentication permissions excluded.

  7. Válassza a Felülvizsgálat + létrehozás, majd a Létrehozás lehetőséget.

  8. Most már hozzárendelheti ezt a szerepkört a szervezet felhasználóihoz.

További információ: Egyéni Azure-szerepkörök létrehozása vagy frissítése az Azure Portal használatával

Alapszintű hitelesítési kísérletek figyelése

A rendszer minden sikeres és megkísérelt bejelentkezést az Azure Monitor AppServiceAuditLogs naplótípusba naplóz. Az FTP-n és a WebDeploy-on megkísérelt és sikeres bejelentkezések naplózásához kövesse a Naplók küldése az Azure Monitorba című témakörben leírt lépéseket, és engedélyezze a naplótípus szállításátAppServiceAuditLogs.

Ha ellenőrizni szeretné, hogy a naplók a kiválasztott szolgáltatás(ok)ra vannak-e kézbesítve, próbáljon meg ftp-en vagy WebDeploy-on keresztül bejelentkezni. Az alábbi példában egy tárfiók naplója látható.

{
  "time": "2023-10-16T17:42:32.9322528Z",
  "ResourceId": "/SUBSCRIPTIONS/EF90E930-9D7F-4A60-8A99-748E0EEA69DE/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.WEB/SITES/MY-DEMO-APP",
  "Category": "AppServiceAuditLogs",
  "OperationName": "Authorization",
  "Properties": {
    "User": "$my-demo-app",
    "UserDisplayName": "$my-demo-app",
    "UserAddress": "24.19.191.170",
    "Protocol": "FTP"
  }
}

Az Azure Policy segíthet a szervezeti szabványok betartatásában és a megfelelőség nagy léptékű értékelésében. Az Azure Policy használatával naplózhatja az alapszintű hitelesítést továbbra is használó alkalmazásokat, és szervizelheti a nem megfelelő erőforrásokat. Az alábbiakban az App Service-ben az alapszintű hitelesítés naplózására és szervizelására vonatkozó beépített szabályzatok találhatók:

A pontokra vonatkozó szabályzatok a következők:

Gyakori kérdések

Miért kapok figyelmeztetést a Visual Studióban, amely szerint az alapszintű hitelesítés le van tiltva?

A Visual Studio alapszintű hitelesítést igényel a Azure-alkalmazás Szolgáltatásban való üzembe helyezéshez. A figyelmeztetés emlékezteti, hogy az alkalmazás konfigurációja megváltozott, és már nem helyezheti üzembe azt. Ön letiltotta az alapszintű hitelesítést az alkalmazásban, vagy a szervezeti szabályzat kikényszeríti, hogy az alapszintű hitelesítés le legyen tiltva az App Service-alkalmazások esetében.