Udostępnij za pośrednictwem


Logowanie się do platformy Azure przy użyciu jednostki usługi przy użyciu interfejsu wiersza polecenia platformy Azure

Jednostki usługi to konta, które nie są powiązane z żadnym konkretnym użytkownikiem, które mogą mieć uprawnienia przypisane za pomocą wstępnie zdefiniowanych ról. Uwierzytelnianiu przy użyciu nazwy głównej usługi jest najlepszym sposobem pisania bezpiecznych skryptów lub programów, umożliwiając stosowanie zarówno ograniczeń uprawnień, jak i statycznych informacji o poświadczeniach przechowywane lokalnie. Aby dowiedzieć się więcej na temat jednostek usługi, zobacz Praca z jednostkami usługi platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure.

Do zalogowania się za pomocą jednostki usługi są potrzebne następujące elementy:

  • Adres URL lub nazwa skojarzona z jednostką usługi
  • Klucz tajny klienta jednostki usługi lub certyfikat X509 użyty do utworzenia jednostki usługi w formacie PEM
  • Dzierżawa skojarzona z jednostką usługi jako domena .onmicrosoft.com lub identyfikator dzierżawy firmy Microsoft Entra

Podczas pracy z jednostkami usługi i interfejsem wiersza polecenia platformy Azure należy zwrócić uwagę na dwa ważne fakty:

  • Certyfikat musi być dołączany do KLUCZA PRYWATNEGO w pliku PEM. Aby zapoznać się z przykładem formatu pliku PEM, zobacz Uwierzytelnianie oparte na certyfikatach.

  • Jeśli jednostka usługi używa certyfikatu przechowywanego w usłudze Key Vault, ten klucz prywatny certyfikatu musi być dostępny bez logowania się na platformie Azure. Aby pobrać certyfikat dla az loginprogramu , zobacz Pobieranie certyfikatu z usługi Key Vault.

Zaloguj się przy użyciu wpisu tajnego klienta:

az login --service-principal --username APP_ID --password CLIENT_SECRET --tenant TENANT_ID

Zaloguj się przy użyciu certyfikatu:

az login --service-principal --username APP_ID --certificate /path/to/cert.pem --tenant TENANT_ID

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 --service-principal --username <app-id> --password $AZ_PASS --tenant <tenant>

W programie PowerShell użyj Get-Credential polecenia cmdlet .

$AzCred = Get-Credential -UserName <app-id>
az login --service-principal --username $AzCred.UserName --password $AzCred.GetNetworkCredential().Password --tenant <tenant>

Zobacz też