Sdílet prostřednictvím


Přihlášení k Azure pomocí instančního objektu pomocí Azure CLI

Instanční objekty jsou účty, které nejsou vázané na konkrétního uživatele, což může mít oprávnění k nim přiřazená prostřednictvím předdefinovaných rolí. Ověřování pomocí instančního objektu je nejlepší způsob, jak psát bezpečné skripty nebo programy, a umožňuje používat omezení oprávnění i místně uložené statické přihlašovací údaje. Další informace o instančních objektech najdete v tématu Práce s instančními objekty Azure pomocí Azure CLI.

K přihlášení pomocí instančního objektu potřebuje:

  • Název nebo identifikátor URL přidružený k instančnímu objektu
  • Tajný klíč klienta instančního objektu nebo certifikát X509 použitý k vytvoření instančního objektu ve formátu PEM
  • Tenant přidružený k instančnímu objektu jako .onmicrosoft.com doména nebo ID tenanta Microsoft Entra

Všimněte si dvou důležitých faktů při práci s instančními objekty a Azure CLI:

  • Certifikát musí být připojený k privátnímu klíči v rámci souboru PEM. Příklad formátu souboru PEM najdete v tématu Ověřování na základě certifikátu.

  • Pokud váš instanční objekt používá certifikát uložený ve službě Key Vault, musí být privátní klíč tohoto certifikátu dostupný bez přihlášení k Azure. Informace o načtení certifikátu az loginnajdete v tématu Načtení certifikátu ze služby Key Vault.

Přihlaste se pomocí tajného klíče klienta:

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

Přihlaste se pomocí certifikátu:

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

Důležité

Pokud chcete zabránit zobrazování vašeho hesla v konzole a používáte příkaz az login interaktivně, na příkazovém řádku bash použijte příkaz read -s.

read -sp "Azure password: " AZ_PASS && echo && az login --service-principal --username <app-id> --password $AZ_PASS --tenant <tenant>

V PowerShellu použijte rutinu Get-Credential .

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

Viz také