Logowanie interakcyjne przy użyciu interfejsu wiersza polecenia platformy Azure
Interaktywne logowania do platformy Azure oferują bardziej intuicyjne i elastyczne środowisko użytkownika. Logowanie interakcyjne za pomocą interfejsu wiersza polecenia platformy Azure umożliwia użytkownikom uwierzytelnianie na platformie Azure bezpośrednio za pomocą polecenia az login , co jest przydatne w przypadku zadań zarządzania ad hoc i środowisk wymagających ręcznego logowania, takich jak klienci z uwierzytelnianiem wieloskładnikowym (MFA). Ta metoda upraszcza dostęp do testowania skryptów, uczenia się i zarządzania na bieżąco bez konieczności wstępnego konfigurowania jednostek usługi lub innych metod uwierzytelniania nieinteraktywnego.
Wymagania wstępne
Logowanie interakcyjne
Aby zalogować się interaktywnie, użyj polecenia az login . Począwszy od interfejsu wiersza polecenia platformy Azure w wersji 2.61.0, interfejs wiersza polecenia platformy Azure domyślnie używa menedżera kont internetowych (WAM) w systemie Windows oraz logowania opartego na przeglądarce w systemach Linux i macOS.
az login
Selektor subskrypcji
Począwszy od interfejsu wiersza polecenia platformy Azure w wersji 2.61.0, jeśli masz dostęp do wielu subskrypcji, zostanie wyświetlony monit o wybranie subskrypcji platformy Azure podczas logowania, jak pokazano w poniższym przykładzie.
Retrieving subscriptions for the selection...
[Tenant and subscription selection]
No Subscription name Subscription ID Tenant name
---- ------------------------------------ ---------------------------------------- --------------
[1] Facility Services Subscription 00000000-0000-0000-0000-000000000000 Contoso
[2] Finance Department Subscription 00000000-0000-0000-0000-000000000000 Contoso
[3] Human Resources Subscription 00000000-0000-0000-0000-000000000000 Contoso
[4] * Information Technology Subscription 00000000-0000-0000-0000-000000000000 Contoso
The default is marked with an *; the default tenant is 'Contoso' and subscription is
'Information Technology Subscription' (00000000-0000-0000-0000-000000000000).
Select a subscription and tenant (Type a number or Enter for no changes): 2
Tenant: Contoso
Subscription: Finance Department Subscription (00000000-0000-0000-0000-000000000000)
[Announcements]
With the new Azure CLI login experience, you can select the subscription you want to use more easily.
Learn more about it and its configuration at https://go.microsoft.com/fwlink/?linkid=2271236
If you encounter any problem, please open an issue at https://aka.ms/azclibug
Następnym razem, gdy zalogujesz się, wcześniej wybrana dzierżawa i subskrypcja zostanie oznaczona jako domyślna gwiazdka (*
) obok jej numeru. Dzięki temu możesz nacisnąć klawisz Enter , aby wybrać domyślną subskrypcję.
Polecenia są domyślnie uruchamiane względem wybranej subskrypcji. Nadal możesz użyć az account set
polecenia, aby zmienić subskrypcję z wiersza polecenia w dowolnym momencie. Aby uzyskać więcej informacji, zobacz Jak zarządzać subskrypcjami platformy Azure za pomocą interfejsu wiersza polecenia platformy Azure.
Poniżej przedstawiono kilka wskazówek dotyczących selektora subskrypcji, które należy wziąć pod uwagę:
- Selektor subskrypcji jest dostępny tylko w 64-bitowych systemach Windows, Linux lub macOS.
- Selektor subskrypcji jest dostępny tylko w przypadku korzystania z
az login
polecenia . - Po zalogowaniu się przy użyciu jednostki usługi lub tożsamości zarządzanej nie zostanie wyświetlony monit o wybranie subskrypcji.
Jeśli chcesz wyłączyć funkcję selektora subskrypcji, ustaw właściwość konfiguracji core.login_experience_v2 na off
wartość .
az config set core.login_experience_v2=off
az login
Logowanie się przy użyciu Menedżera kont sieci Web (WAM) w systemie Windows
Począwszy od interfejsu wiersza polecenia platformy Azure w wersji 2.61.0, menedżer kont sieci Web (WAM) jest teraz domyślną metodą uwierzytelniania w systemie Windows. WAM to składnik systemu Windows 10+, który działa jako broker uwierzytelniania. (Broker uwierzytelniania to aplikacja działająca na komputerze użytkownika, która zarządza uzgadniania uwierzytelniania i konserwacją tokenów dla połączonych kont).
Korzystanie z wam ma kilka korzyści:
- Zwiększone zabezpieczenia. Zobacz Dostęp warunkowy: Ochrona tokenów (wersja zapoznawcza).
- Obsługa funkcji Windows Hello, zasad dostępu warunkowego i kluczy FIDO.
- Usprawnione logowanie jednokrotne.
- Poprawki błędów i ulepszenia dostarczane z systemem Windows.
Jeśli wystąpi problem i chcesz przywrócić poprzednią metodę uwierzytelniania opartą na przeglądarce, ustaw właściwość konfiguracji core.enable_broker_on_windows na false
wartość .
az account clear
az config set core.enable_broker_on_windows=false
az login
WAM jest dostępny w systemie Windows 10 lub nowszym oraz w systemie Windows Server 2019 i nowszych wersjach.
Logowanie przy użyciu przeglądarki
Interfejs wiersza polecenia platformy Azure domyślnie jest metodą uwierzytelniania opartą na przeglądarce, jeśli jest spełniony jeden z następujących warunków:
- System operacyjny (OS) to Mac, Linux lub Windows OS jest starszy niż Windows 10 lub Windows Server 2019.
- Właściwość konfiguracji jest ustawiona
core.enable_broker_on_windows
nafalse
wartość .
Wykonaj następujące kroki, aby zalogować się za pomocą przeglądarki:
Uruchom polecenie
az login
.az login
Jeśli interfejs wiersza polecenia platformy Azure może otworzyć domyślną przeglądarkę, inicjuje przepływ kodu autoryzacji i otwiera domyślną przeglądarkę, aby załadować stronę logowania platformy Azure.
W przeciwnym razie inicjuje przepływ kodu urządzenia i nakazuje otwarcie strony przeglądarki pod adresem https://aka.ms/devicelogin. Następnie wprowadź kod wyświetlany w terminalu.
Jeśli żadna przeglądarka internetowa nie jest dostępna lub przeglądarka internetowa nie zostanie otwarta, możesz wymusić przepływ kodu urządzenia za pomocą polecenia az login --use-device-code.
Zaloguj się w przeglądarce przy użyciu poświadczeń swojego konta.
Logowanie się za pomocą poświadczeń w wierszu polecenia
Podaj swoje poświadczenia użytkownika platformy Azure w wierszu polecenia. Użyj tej metody uwierzytelniania tylko do nauki poleceń interfejsu wiersza polecenia platformy Azure. Aplikacje na poziomie produkcyjnym powinny używać jednostki usługi lub tożsamości zarządzanej.
To podejście nie działa dla kont Microsoft ani kont mających włączone uwierzytelnianie dwuskładnikowe. Otrzymasz komunikat dotyczący uwierzytelniania interakcyjnego.
az login --user <username> --password <password>
Ważne
Jeśli chcesz zapobiec wyświetlaniu hasła w konsoli i korzystasz z polecenia az login
interaktywnie, użyj polecenia read -s
w powłoce bash
.
read -sp "Azure password: " AZ_PASS && echo && az login -u <username> -p $AZ_PASS
W programie PowerShell użyj Get-Credential
polecenia cmdlet .
$AzCred = Get-Credential -UserName <username>
az login -u $AzCred.UserName -p $AzCred.GetNetworkCredential().Password
Logowanie się przy użyciu innej dzierżawy
Możesz wybrać dzierżawę, aby zalogować się w niej za pomocą argumentu --tenant
. Wartością tego argumentu może być domena .onmicrosoft.com
lub identyfikator obiektu platformy Azure dla dzierżawy. Metody logowania interakcyjnego i wiersza polecenia współpracują z usługą --tenant
.
W wybranych środowiskach i począwszy od interfejsu core.login_experience_v2
wiersza polecenia platformy Azure w wersji 2.61.0 należy najpierw wyłączyć selektor subskrypcji, ustawiając właściwość konfiguracji na off
.
# disable the subscription selector (v. 2.61.0 and up)
az config set core.login_experience_v2=off
# login with a tenant ID
az login --tenant 00000000-0000-0000-0000-000000000000
Aby ponownie włączyć selektor subskrypcji, uruchom polecenie az config set core.login_experience_v2=on
. Aby uzyskać więcej informacji na temat selektora subskrypcji, zobacz Logowanie interakcyjne
Jeśli chcesz zmienić aktywną dzierżawę po zalogowaniu, zobacz Jak zmienić aktywną dzierżawę.
Logowanie przy użyciu --scope
az login --scope https://management.core.windows.net//.default
Wyloguj
Aby usunąć dostęp do platformy Azure, użyj polecenia az logout .
az logout
Czyszczenie pamięci podręcznej subskrypcji
Aby zaktualizować listę subskrypcji, użyj polecenia az account clear . Aby wyświetlić zaktualizowaną listę, musisz zalogować się ponownie.
az account clear
az login
Wyczyszczenie pamięci podręcznej subskrypcji nie jest technicznie tym samym procesem co wylogowanie się z platformy Azure.
Jednak w przypadku wyczyszczenia pamięci podręcznej subskrypcji nie można uruchamiać poleceń interfejsu wiersza polecenia platformy Azure, w tym az account set
, dopóki nie zalogujesz się ponownie.
Tokeny odświeżania
Po zalogowaniu się przy użyciu konta użytkownika interfejs wiersza polecenia platformy Azure generuje i przechowuje token odświeżania uwierzytelniania. Ponieważ tokeny dostępu są ważne tylko przez krótki czas, token odświeżania jest wystawiany w tym samym czasie, gdy token dostępu jest wystawiany. Aplikacja kliencka może następnie w razie potrzeby wymienić ten token odświeżania dla nowego tokenu dostępu. Aby uzyskać więcej informacji na temat okresu istnienia i wygaśnięcia tokenu, zobacz Odświeżanie tokenów w Platforma tożsamości Microsoft.
Użyj polecenia az account get-access-token, aby pobrać token dostępu:
# get access token for the active subscription
az account get-access-token
# get access token for a specific subscription
az account get-access-token --subscription "<subscription ID or name>"
Oto kilka dodatkowych informacji na temat dat wygaśnięcia tokenu dostępu:
- Daty wygaśnięcia są aktualizowane w formacie obsługiwanym przez interfejs wiersza polecenia platformy Azure oparty na protokole MSAL.
- Począwszy od interfejsu wiersza polecenia platformy Azure w wersji 2.54.0,
az account get-access-token
zwracaexpires_on
właściwość wraz z właściwościąexpiresOn
czasu wygaśnięcia tokenu. - Właściwość
expires_on
reprezentuje znacznik czasu przenośnego interfejsu systemu operacyjnego (POSIX), podczas gdyexpiresOn
właściwość reprezentuje lokalną datę/godzinę. - Właściwość
expiresOn
nie wyraża "fałszu", gdy kończy się czas letni. Może to spowodować problemy w krajach lub regionach, w których przyjmuje się czas letni. Aby uzyskać więcej informacji na temat "składania", zobacz PEP 495 – uściślanie czasu lokalnego. - Zalecamy używanie właściwości przez aplikacje
expires_on
podrzędne, ponieważ używa ono kodu uniwersalnego czasu (UTC).
Przykładowe wyjście:
{
"accessToken": "...",
"expiresOn": "2023-10-31 21:59:10.000000",
"expires_on": 1698760750,
"subscription": "...",
"tenant": "...",
"tokenType": "Bearer"
}
Rozwiązywanie problemów
Gdy domyślna przeglądarka to Microsoft Edge, może wystąpić następujący błąd podczas próby interaktywnego zalogowania się na platformie Azure za pomocą az login
polecenia : "Połączenie dla tej witryny nie jest bezpieczne". Aby rozwiązać ten problem, odwiedź stronę edge://net-internals/#hsts w firmie Microsoft
Krawędzi. Dodaj localhost
w obszarze "Usuń zasady zabezpieczeń domeny" i wybierz pozycję Usuń.
Zobacz też
- Ściągawka dotycząca dołączania interfejsu wiersza polecenia platformy Azure
- Znajdowanie przykładów interfejsu wiersza polecenia platformy Azure i opublikowanych dokumentów