使用 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>
另請參閱
- Azure CLI 上線速查表
- 使用 Azure CLI 管理 Azure 訂用帳戶
- 使用 Azure CLI 建立 Azure 服務主體
- 尋找 Azure CLI 範例 和 已發佈的檔