Zakázání základního ověřování v nasazeních služby App Service

V tomto článku se dozvíte, jak při nasazování kódu do aplikací služby App Service zakázat základní ověřování (ověřování uživatelským jménem a heslem).

App Service poskytuje základní ověřování pro klienty FTP a WebDeploy pro připojení k němu pomocí přihlašovacích údajů nasazení. Tato rozhraní API jsou skvělá pro procházení systému souborů webu, nahrávání ovladačů a nástrojů a nasazování pomocí nástroje MsBuild. Podniky však často vyžadují bezpečnější metody nasazení než základní ověřování, jako je ověřování Microsoft Entra ID (viz Typy ověřování pomocí metod nasazení ve službě Aplikace Azure Service). Microsoft Entra používá autorizaci založenou na tokenech OAuth 2.0 a má mnoho výhod a vylepšení, která pomáhají zmírnit problémy se základním ověřováním. Přístupové tokeny OAuth mají například omezenou využitelnou životnost a jsou specifické pro aplikace a prostředky, pro které jsou vystavené, takže je nelze znovu použít. Microsoft Entra také umožňuje nasadit z jiných služeb Azure pomocí spravovaných identit.

Zakázání základního ověřování

K dispozici jsou dva různé ovládací prvky základního ověřování. Konkrétně:

  • Pro nasazení FTP se základní ověřování řídí příznakem basicPublishingCredentialsPolicies/ftp (možnost Přihlašovací údaje pro základní ověřování FTP na portálu).
  • Pro jiné metody nasazení, které používají základní ověřování, jako je Visual Studio, místní Git a GitHub, se základní ověřování řídí příznakem basicPublishingCredentialsPolicies/scm (možnost SCM Basic Auth Publishing Credentials na portálu).
  1. Na webu Azure Portal vyhledejte a vyberte App Services a pak vyberte svou aplikaci.

  2. V nabídce vlevo aplikace vyberte Obecné nastavení konfigurace>.

  3. V případě přihlašovacích údajů pro publikování základního ověřování SCM nebo přihlašovacích údajů základního ověřování FTP vyberte Vypnuto a pak vyberte Uložit.

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

Pokud chcete ověřit, že přístup k FTP je zablokovaný, zkuste se k aplikaci připojit pomocí FTP/S. Měla by se zobrazit 401 Unauthenticted zpráva.

Pokud chcete ověřit, že je přístup Gitu zablokovaný, zkuste místní nasazení Gitu. Měla by se zobrazit Authentication failed zpráva.

Nasazení bez základního ověřování

Když zakážete základní ověřování, metody nasazení, které závisí na základním ověřování, přestanou fungovat.

Následující tabulka ukazuje, jak se při zakázání základního ověřování chovají různé metody nasazení a jestli existují nějaké náhradní mechanismy. Další informace najdete v tématu Typy ověřování podle metod nasazení ve službě Aplikace Azure Service.

Metoda nasazení Při zakázání základního ověřování
Nasazení sady Visual Studio Nefunguje.
FTP Nefunguje.
Místní Git Nefunguje.
Azure CLI – V Azure CLI 2.48.1 nebo novějších se následující příkazy vrátí k ověřování Microsoft Entra:
- 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 
Modul plug-in Maven nebo modul plug-in Gradle Funguje.
GitHub se službou App Service Build Service Nefunguje.
GitHub Actions – Existující pracovní postup GitHub Actions, který používá základní ověřování , se nemůže ověřit. V Centru nasazení odpojte existující konfiguraci GitHubu a vytvořte novou konfiguraci GitHub Actions s možností identity přiřazenou uživatelem.
– Pokud je existující nasazení GitHub Actions nakonfigurované ručně, zkuste místo toho použít instanční objekt nebo OpenID Připojení.
– Pro novou konfiguraci GitHub Actions v Centru nasazení použijte možnost identity přiřazené uživatelem.
Nasazení v průvodci vytvořením Pokud je základní ověřování nastavené na Možnost Zakázat a Průběžné nasazování nastaveno na Povolit, nakonfiguruje se GitHub Actions s možností identity přiřazenou uživatelem (OpenID Připojení).
Azure Repos se službou App Service Build Service Nefunguje.
BitBucket Nefunguje.
Azure Pipelines s úlohou AzureWebApp Funguje.
Azure Pipelines s úlohou AzureRmWebAppDeployment – K získání náhradního chování použijte nejnovější úlohu AzureRmWebAppDeployment.
– Typ připojení Publikovat profil (PublishProfile) nefunguje, protože používá základní ověřování. Změňte typ připojení na Azure Resource Manager (AzureRM).
– Na agentech mimo Windows Pipelines funguje ověřování.
– V agentech Windows může být potřeba upravit metodu nasazení používanou úlohou . Když se použije nasazení webu (DeploymentType: 'webDeploy') a základní ověřování je zakázané, úloha se ověří pomocí tokenu Microsoft Entra. Pokud agenta nepoužíváte windows-latest nebo používáte agenta v místním prostředí, existují další požadavky. Další informace najdete v tématu Nasazení webu do služby Aplikace Azure pomocí ověřování Microsoft Entra z agenta systému Windows.
– Jiné metody nasazení fungují, například nasazení souboru ZIP nebo spuštění z balíčku.

Vytvoření vlastní role bez oprávnění pro základní ověřování

Pokud chcete zabránit tomu, aby uživatel s nižším oprávněním povoloval základní ověřování pro libovolnou aplikaci, můžete vytvořit vlastní roli a přiřadit ho k této roli.

  1. Na webu Azure Portal v horní nabídce vyhledejte a vyberte předplatné, ve které chcete vytvořit vlastní roli.

  2. V levém navigačním panelu vyberte Řízení přístupu (IAM)>Přidat>vlastní roli.

  3. Nastavte kartu Základní podle potřeby a pak vyberte Další.

  4. Na kartě Oprávnění vyberte Vyloučit oprávnění.

  5. Vyhledejte a vyberte Microsoft Web Apps a vyhledejte následující operace:

    Operation Popis
    microsoft.web/sites/basicPublishingCredentialsPolicies/ftp Přihlašovací údaje pro publikování PŘES FTP pro aplikace App Service
    microsoft.web/sites/basicPublishingCredentialsPolicies/scm Přihlašovací údaje pro publikování SCM pro aplikace App Service
    microsoft.web/sites/slots/basicPublishingCredentialsPolicies/ftp Přihlašovací údaje pro publikování FTP pro sloty služby App Service
    microsoft.web/sites/slots/basicPublishingCredentialsPolicies/scm Přihlašovací údaje pro publikování SCM pro sloty služby App Service
  6. V každé z těchto operací zaškrtněte políčko Pro zápis a pak vyberte Přidat. Tento krok přidá operaci jako NotActions pro roli.

    Karta Oprávnění by měla vypadat jako na následujícím snímku obrazovky:

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

  7. Vyberte Zkontrolovat a vytvořit a pak Vytvořit.

  8. Tuto roli teď můžete přiřadit uživatelům vaší organizace.

Další informace najdete v tématu Vytvoření nebo aktualizace vlastních rolí Azure pomocí webu Azure Portal.

Monitorování základních pokusů o ověření

Všechna úspěšná přihlášení a pokusy o přihlášení se zaprotokolují do typu protokolu služby Azure Monitor AppServiceAuditLogs . Pokud chcete auditovat pokus a úspěšná přihlášení na FTP a WebDeploy, postupujte podle kroků v části Odeslání protokolů do služby Azure Monitor a povolte odeslání AppServiceAuditLogs typu protokolu.

Pokud chcete ověřit, že se protokoly odesílají do vybraných služeb, zkuste se přihlásit přes FTP nebo WebDeploy. Následující příklad ukazuje protokol účtu úložiště.

{
  "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"
  }
}

Azure Policy vám může pomoct vynutit standardy organizace a vyhodnotit dodržování předpisů ve velkém měřítku. Azure Policy můžete použít k auditování všech aplikací, které stále používají základní ověřování, a opravovat všechny nedodržující prostředky. Tady jsou předdefinované zásady pro auditování a nápravu základního ověřování ve službě App Service:

Pro sloty platí následující zásady:

Nejčastější dotazy

Proč se v sadě Visual Studio zobrazí upozornění, že je zakázané základní ověřování?

Visual Studio vyžaduje základní ověřování pro nasazení do služby Aplikace Azure Service. Upozornění vám připomíná, že se konfigurace v aplikaci změnila a už do ní nemůžete nasadit. Buď jste v aplikaci zakázali základní ověřování sami, nebo zásady vaší organizace vynucují, aby pro aplikace app Service bylo zakázané základní ověřování.