Udostępnij za pośrednictwem


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 offwartość .

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:

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 falsewartość .

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 na falsewartość .

Wykonaj następujące kroki, aby zalogować się za pomocą przeglądarki:

  1. 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.

  2. 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 zwraca expires_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 gdy expiresOn 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 loginpolecenia : "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ż