Sdílet prostřednictvím


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

Tento článek popisuje, jak zakázat základní ověřování pomocí uživatelského jména a hesla pro nasazení kódu do aplikací Azure App Service. Tento článek vysvětluje několik způsobů, jak zakázat základní ověřování, náhradní metody nasazení( pokud existuje) a jak monitorovat pokusy o základní přístup k ověřování.

Služba App Service poskytuje základní autentizaci pro klienty FTP a Web Deploy, aby se mohli připojit pomocí přihlašovacích údajů uživatelského jména a hesla pro nasazení. Základní rozhraní API pro ověřování jsou vhodná pro procházení systému souborů webu, nahrávání ovladačů a nástrojů a nasazování pomocí nástroje MSBuild. Další informace najdete v tématu Konfigurace přihlašovacích údajů pro nasazení pro Azure App Service.

Podniky často vyžadují bezpečnější metody nasazení než základní ověřování, jako je například ID Microsoft Entra. Přístupové tokeny Microsoft Entra OAuth 2.0 mají omezenou dobu použitelnosti, jsou specifické pro aplikace a prostředky, pro které jsou vydány, a nelze je znovu použít. Autorizace založená na tokenech OAuth pomáhá zmírnit mnoho problémů se základním ověřováním.

Microsoft Entra také umožňuje nasadit z jiných služeb Azure pomocí spravovaných identit. Další informace najdete v tématu Typy ověřování podle metody nasazení ve službě Azure App Service.

Požadavky

  • Pokud chcete zakázat základní ověřování pro přístup ftp k aplikaci, musíte mít k aplikaci přístup na úrovni vlastníka.
  • Pokud chcete vytvořit a přiřadit roli, která zabrání uživatelům s nižšími oprávněními k povolení základního ověřování, musíte mít v předplatném oprávnění Vlastník nebo Správce uživatelských přístupů .

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

Pro nasazení FTP je základní ověřování řízeno příznakem basicPublishingCredentialsPolicies/ftp nebo volbou portálu FTP Basic Auth Publishing Credentials.

U jiných metod 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 nebo možností portálu SCM Basic Auth Publishing Credentials.

Poznámka:

Pro povolení základního ověřování FTP se vyžaduje základní ověřování SCM.

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

  1. Na webu Azure Portal vyhledejte a vyberte App Services a pak vyberte svou aplikaci.

  2. V levé navigační nabídce aplikace vyberte Obecnénastavení>.

  3. Zvolte Vypnuto pro přihlašovací údaje pro publikování základního ověřování SCM, přihlašovací údaje pro publikování základního ověřování FTP nebo obojí a poté vyberte Uložit.

    Snímek obrazovky, který ukazuje, jak zakázat základní ověřování pro Azure App Service na webu Azure Portal

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

Pokud chcete ověřit, že je přístup Gitu zablokovaný, zkuste místní nasazení Gitu. Měla by se zobrazit zpráva o neúspěšném ověření .

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

Když zakážete základní ověřování, metody nasazení, které závisejí na základním ověřování, už nefungují. Některé metody nasazení mají záložní mechanismy nasazení.

Následující tabulka ukazuje, jak se různé metody nasazení chovají, když je zakázané základní ověřování, a záložní mechanismus, pokud existuje. 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 Nasazení s ověřováním Microsoft Entra vyžaduje Visual Studio 2022 verze 17.12 nebo novější.
File-transfer protocol Nefunguje.
Místní Git Nefunguje.
Azure CLI (příkazový řádek nástroje Azure) 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 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.
Plugin Maven nebo plugin Gradle Funguje
GitHub Actions Stávající pracovní postupy GitHub Actions, které používají základní ověřování, nefungují. Odpojte existující konfiguraci GitHubu a vytvořte novou konfiguraci GitHub Actions, která používá identitu přiřazenou uživatelem.
Pokud je stávající nasazení GitHub Actions nakonfigurované ručně, zkuste místo toho použít instanční objekt nebo OpenID Connect.
Pro nové pracovní postupy GitHub Actions použijte možnost Identita přiřazená uživatelem .
GitHub se službou sestavení služby App Service Nefunguje.
Nasazení z průvodce vytvořením portálu Pokud vyberete zdroj průběžného nasazování, když je základní ověřování nastavené na Zakázat, GitHub Actions se nakonfiguruje s možností uživatelsky přiřazené identity (OpenID Connect).
Bitbucket Nefunguje.
Azure Repos se službou App Service Build Nefunguje.
Azure Repos se službou Azure Pipelines Funguje
Azure Pipelines s úlohou AzureWebApp Funguje

Vytvořte vlastní roli, která zabrání povolení základního ověřování

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

  1. Na webu Azure Portal vyberte předplatné, ve kterém chcete vytvořit vlastní roli.

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

  3. Na stránce Vytvořit vlastní roli zadejte název role a pak vyberte Další.

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

  5. Vyhledejte a vyberte Microsoft Web Apps.

  6. Vyhledejte a rozbalte microsoft.web/sites/basicPublishingCredentialsPolicies.

  7. Zaškrtněte políčko Pro zápis a pak vyberte Přidat. Tento krok přidá operaci do NotActions pro roli.

  8. Znovu vyberte Vyloučit oprávnění .

  9. Vyhledejte a rozbalte microsoft.web/sites/slots/basicPublishingCredentialsPolicies, vyberte pole Pro zápis a pak vyberte Přidat.

  10. Karta Oprávnění by teď měla vypadat jako na následujícím snímku obrazovky. Vyberte možnost Zkontrolovat a vytvořita poté vyberte možnost Vytvořit.

    Snímek obrazovky znázorňující vyloučení zápisu pro basicPublishingCredentialsPolicies

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 pokusy o přihlášení a úspěšné přihlášení na FTP a Web Deploy, postupujte podle kroků v části Odeslání protokolů do služby Azure Monitor a povolte odeslání zvoleného typu protokolu AppServiceAuditLogs.

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

{
  "time": "2023-10-16T17:42:32.9322528Z",
  "ResourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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. Následující seznam ukazuje předdefinované zásady pro auditování a nápravu základního ověřování ve službě App Service:

Následující seznam obsahuje odpovídající zásady pro sloty: