Share via


使用 Azure CLI 使用服務主體登入

服務主體不是系結至任何特定使用者的帳戶,這些帳戶可以具有透過預先定義角色指派的許可權。 使用服務主體進行驗證是撰寫安全腳本或程式的最佳方式,可讓您同時套用許可權限制和本機儲存的靜態認證資訊。 若要深入瞭解服務主體,請參閱 使用 Azure CLI 使用 Azure 服務主體。

若要使用服務主體登入,您需要:

  • 與服務主體相關聯的 URL 或名稱
  • 服務主體密碼,或用來以 PEM 格式建立服務主體的 X509 憑證
  • 與服務主體相關聯的租使用者,做為 .onmicrosoft.com 網域或 Azure 物件識別碼

使用服務主體和 Azure CLI 時,請注意兩個重要事實:

  • 憑證 必須附加至 PEM 檔案內的私密金鑰 。 如需 PEM 檔案格式的範例,請參閱 憑證式驗證

  • 如果您的服務主體使用儲存在 金鑰保存庫 中的憑證,則必須使用該憑證的私密金鑰,而不需登入 Azure。 若要擷 az login 取 的憑證,請參閱 從 金鑰保存庫 擷取憑證。

az login --service-principal -u <app-id> -p <password-or-cert> --tenant <tenant>

重要

如果您想要避免在主控台上顯示密碼,並且以互動方式使用 az login ,請使用 read -s 下的 bash 命令。

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

在 PowerShell 下,使用 Get-Credential Cmdlet。

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

另請參閱