Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule omówiono sposób wyłączania podstawowej nazwy użytkownika i uwierzytelniania haseł na potrzeby wdrażania kodu w aplikacjach usługi Azure App Service. W artykule wyjaśniono kilka sposobów wyłączania podstawowego uwierzytelniania, metod wdrażania awaryjnego, jeśli takie istnieją, oraz monitorowania prób dostępu za pomocą podstawowego uwierzytelniania.
Usługa App Service zapewnia podstawowe mechanizmy uwierzytelniania dla klientów FTP i Web Deploy, aby mogli się połączyć, używając poświadczeń wdrożenia, które obejmują nazwę użytkownika i hasło. Podstawowe interfejsy API uwierzytelniania są dobre do przeglądania systemu plików witryny, przesyłania sterowników i narzędzi oraz wdrażania przy użyciu MSBuild. Aby uzyskać więcej informacji, zobacz Konfigurowanie poświadczeń wdrożenia dla usługi Azure App Service.
Przedsiębiorstwa często wymagają bezpieczniejszych metod wdrażania niż uwierzytelnianie podstawowe, takie jak Microsoft Entra ID. Tokeny dostępu microsoft Entra OAuth 2.0 mają ograniczony okres istnienia, są specyficzne dla aplikacji i zasobów, dla których są wydawane, i nie można ich używać ponownie. Autoryzacja oparta na tokenach OAuth pomaga rozwiązać wiele problemów z uwierzytelnianiem podstawowym.
Firma Microsoft Entra umożliwia również wdrażanie z innych usług platformy Azure przy użyciu tożsamości zarządzanych. Aby uzyskać więcej informacji, zobacz Typy uwierzytelniania według metody wdrażania w usłudze Azure App Service.
Wymagania wstępne
- Aby wyłączyć uwierzytelnianie podstawowe na potrzeby dostępu FTP do aplikacji, musisz mieć dostęp na poziomie właściciela do aplikacji.
- Aby utworzyć i przypisać rolę, aby uniemożliwić użytkownikom z niższymi uprawnieniami włączanie uwierzytelniania podstawowego, musisz mieć uprawnienia Właściciel lub Administrator dostępu użytkowników w subskrypcji.
Wyłącz uwierzytelnianie podstawowe
W przypadku wdrożenia FTP podstawowe uwierzytelnianie jest kontrolowane przez flagę basicPublishingCredentialsPolicies/ftp lub opcję portalu publikowania podstawowego uwierzytelniania FTP.
W przypadku innych metod wdrażania korzystających z uwierzytelnienia podstawowego, takich jak Visual Studio, lokalny Git i GitHub, uwierzytelnienie podstawowe jest kontrolowane przez flagę basicPublishingCredentialsPolicies/scm lub opcję portalu poświadczeń publikowania uwierzytelnienia podstawowego SCM.
Uwaga / Notatka
Podstawowe uwierzytelnianie SCM jest wymagane do włączenia uwierzytelniania podstawowego protokołu FTP.
Aby wyłączyć uwierzytelnianie podstawowe:
W witrynie Azure Portal wyszukaj i wybierz pozycję App Services, a następnie wybierz aplikację.
W menu nawigacji po lewej stronie aplikacji wybierz pozycję konfiguracji>Ustawienia ogólne.
Wybierz pozycję Wyłączone dla poświadczeń publikowania podstawowego uwierzytelniania SCM, poświadczeń publikowania podstawowego uwierzytelniania FTP lub obu tych poleceń, a następnie wybierz pozycję Zapisz.
Aby upewnić się, że dostęp do protokołu FTP jest zablokowany, spróbuj nawiązać połączenie z aplikacją przy użyciu protokołu FTP/FTPS. Powinien zostać wyświetlony komunikat 401 Nieautoryzowany.
Aby upewnić się, że dostęp do usługi Git jest zablokowany, spróbuj przeprowadzić lokalne wdrożenie Git. Powinien zostać wyświetlony komunikat Uwierzytelnianie nie powiodło się .
Wdrażanie bez uwierzytelniania podstawowego
Po wyłączeniu uwierzytelniania podstawowego metody wdrażania, które zależą od uwierzytelniania podstawowego, nie działają już. Niektóre metody wdrażania mają mechanizmy wdrażania rezerwowego.
W poniższej tabeli pokazano, jak działają różne metody wdrażania, gdy uwierzytelnianie podstawowe jest wyłączone, oraz mechanizm rezerwowy, jeśli istnieje. Aby uzyskać więcej informacji, zobacz Typy uwierzytelniania według metod wdrażania w usłudze Azure App Service.
| Metoda wdrażania | Gdy uwierzytelnianie podstawowe jest wyłączone |
|---|---|
| Wdrożenie Visual Studio | Wdrożenie przy użyciu uwierzytelniania entra firmy Microsoft wymaga programu Visual Studio 2022 w wersji 17.12 lub nowszej. |
| FTP | Nie działa. |
| Lokalny system Git | Nie działa. |
| Azure CLI (Interfejs wiersza polecenia platformy Azure) | W interfejsie wiersza polecenia platformy Azure w wersji 2.48.1 lub nowszej następujące polecenia przechodzą na uwierzytelnianie 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. |
| wtyczka Maven lub wtyczka Gradle | Działa. |
| GitHub Actions | Istniejące przepływy pracy funkcji GitHub Actions korzystające z uwierzytelniania podstawowego nie działają. Odłącz istniejącą konfigurację usługi GitHub i utwórz nową konfigurację funkcji GitHub Actions korzystającą z tożsamości przypisanej przez użytkownika. Jeśli istniejące wdrożenie funkcji GitHub Actions zostało skonfigurowane ręcznie, spróbuj zamiast tego użyć jednostki usługi lub programu OpenID Connect. W przypadku nowych przepływów pracy funkcji GitHub Actions użyj opcji Tożsamość przypisana przez użytkownika . |
| GitHub z usługą kompilacji App Service | Nie działa. |
| Wdrażanie z poziomu kreatora tworzenia portalu | Jeśli wybierzesz źródło ciągłego wdrażania po ustawieniu uwierzytelniania podstawowego na wartość Wyłącz, funkcja GitHub Actions zostanie skonfigurowana z opcją tożsamości przypisanej przez użytkownika (OpenID Connect). |
| Bitbucket | Nie działa. |
| Usługa Azure Repos z usługą kompilacji usługi App Service | Nie działa. |
| Usługa Azure Repos z usługą Azure Pipelines | Działa. |
Usługa Azure Pipelines z AzureWebApp zadaniem |
Działa. |
W przypadku dostępu do kontenerów systemu Linux polecenie w wersji zapoznawczej az webapp exec wymaga programu Azure CLI 2.90.0 lub nowszego i obsługuje uwierzytelnianie Microsoft Entra, gdy podstawowe uwierzytelnianie SCM jest wyłączone. Nie musisz włączać podstawowej autoryzacji, żeby z niej korzystać. Zobacz Otwórz powłokę kontenerową (SSH) i uruchom polecenia.
Utwórz rolę niestandardową, aby zapobiec włączeniu uwierzytelniania podstawowego
Aby uniemożliwić użytkownikom z niższymi uprawnieniami włączenie uwierzytelniania podstawowego dla dowolnej aplikacji, możesz utworzyć rolę niestandardową i przypisać użytkowników do roli.
W witrynie Azure Portal wybierz subskrypcję, w której chcesz utworzyć rolę niestandardową.
W menu nawigacji po lewej stronie wybierz pozycję Kontrola dostępu (IAM)>Dodaj>rolę niestandardową.
Na stronie Tworzenie roli niestandardowej nadaj roli nazwę, a następnie wybierz przycisk Dalej.
Na karcie Uprawnienia wybierz pozycję Wyklucz uprawnienia.
Wyszukaj i wybierz pozycję Microsoft Web Apps.
Wyszukaj i rozwiń microsoft.web/sites/basicPublishingCredentialsPolicies.
Wybierz pole dla pozycji Zapis, a następnie wybierz pozycję Dodaj. Ten krok dodaje operację do NotActions przypisaną do roli.
Ponownie wybierz pozycję Wyklucz uprawnienia .
Wyszukaj i rozwiń microsoft.web/sites/slots/basicPublishingCredentialsPolicies, wybierz opcję 'Zapis', a następnie kliknij 'Dodaj'.
Karta Uprawnienia powinna teraz wyglądać podobnie jak na poniższym zrzucie ekranu. Wybierz Przejrzyj + utwórz, a następnie wybierz Utwórz.
Teraz możesz przypisać tę rolę do użytkowników organizacji. Aby uzyskać więcej informacji, zobacz Tworzenie lub aktualizowanie ról niestandardowych platformy Azure przy użyciu witryny Azure Portal.
Monitorowanie prób uwierzytelniania Basic
Wszystkie pomyślne i nieudane próby logowania są rejestrowane w typie dziennika usługi Azure Monitor AppServiceAuditLogs. Aby przeprowadzić audyt prób i pomyślnych logowań w FTP i Web Deploy, wykonaj kroki opisane w artykule Wysyłanie dzienników do usługi Azure Monitor i włącz wysyłanie AppServiceAuditLogs typu dziennika.
Aby potwierdzić, że dzienniki są wysyłane do wybranych usług, spróbuj zalogować się za pośrednictwem protokołu FTP lub narzędzia Web Deploy. W poniższym przykładzie przedstawiono dziennik konta magazynowego.
{
"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"
}
}
Korzystanie z podstawowych zasad związanych z uwierzytelnianiem
Usługa Azure Policy może pomóc w wymuszaniu standardów organizacyjnych i ocenie zgodności na dużą skalę. Za pomocą usługi Azure Policy można przeprowadzać inspekcję dla wszystkich aplikacji, które nadal korzystają z uwierzytelniania podstawowego, i korygować wszelkie niezgodne zasoby. Na poniższej liście przedstawiono wbudowane zasady inspekcji i korygowania podstawowego uwierzytelniania w usłudze App Service:
- Zasady audytu dla FTP
- Zasady audytu dla programu SCM
- Polityka remediacji dla protokołu FTP
- Zasady działań naprawczych dla programu SCM
Na poniższej liście przedstawiono odpowiednie zasady dla miejsc:
- Zasady inspekcji/audytu dla protokołu FTP
- Zasady audytu dla programu SCM
- Polityka remediacji dla protokołu FTP
- Zasady działań naprawczych dla programu SCM
Treści powiązane
- Typy uwierzytelniania według metody wdrażania w usłudze Azure App Service
- Konfigurowanie ciągłego wdrażania w usłudze Azure App Service
- Wdrażanie w usłudze Azure App Service przy użyciu funkcji GitHub Actions
- Wdrażanie do usługi Azure App Service przy użyciu Git lokalnie
- Wdróż aplikację w usłudze Azure App Service przy użyciu protokołu FTP/S