首页 > 解决方案 > Azure 订阅/服务主体在创建后检索 rbac 角色的 app_id 和应用密码

问题描述

在为订阅或服务主体创建 rbac 角色后,您将获得应用程序 ID 和应用程序密码,但您以后如何检索这些?

例如创建 rbac 角色

az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/${SUBSCRIPTION_ID}"

然后你得到回复的回复

{
  "appId": "{appid_hash}",
  "displayName": "----------------------------",
  "name": "http://----------------------------",
  "password": "{password_hash}",
  "tenant": "{tenant_hash}"
}

我希望再次找到 passowrd 和 appId,但我发现很难弄清楚。有什么建议么?通过cli工作会更好。我已经知道从 Portal 获取 appId 的位置,但希望能够在丢失时通过脚本检索它。还是我只需要保存这些可以检索的地方。

如果是这样,那是怎么做的?

标签: azureazure-cli

解决方案


创建后无法检索密码:

获取现有服务原则

az ad sp list 或 az ad sp show 获取用户和租户,但不获取任何身份验证机密或身份验证方法。可以使用 az keyvault secret show 检索 Key Vault 中证书的机密,但默认情况下不存储其他机密。如果您忘记了身份验证方法或密码,请重置服务主体凭据。

您可以列出服务原则的其他详细信息,但您需要知道名称或 ID,例如:

az ad sp show --id "http://testsp"
az ad sp show --id "21cd9589-6f82-435b-9193-b5238fa194e4"        

您可以列出所有服务原则,az ad sp list但您可能已经创建了一百个。您应该安全地存储 ID 和秘密,并在以后根据需要检索它们


推荐阅读