Logowanie interakcyjne przy użyciu interfejsu wiersza polecenia platformy Azure

Domyślna metoda uwierzytelniania interfejsu wiersza polecenia platformy Azure do logowania używa przeglądarki internetowej i tokenu dostępu.

  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.

az login --tenant 00000000-0000-0000-0000-000000000000

Jeśli chcesz zmienić aktywną dzierżawę po zalogowaniu, zobacz Jak zmienić aktywną dzierżawę.

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 przeglądarce Microsoft Edge. Dodaj localhost w obszarze "Usuń zasady zabezpieczeń domeny" i wybierz pozycję Usuń.

Zobacz też