问题描述
我组织中的云工程师设置了 Azure keyvault 和服务主体。我知道此服务主体的 ID,但我还需要 clientId
、clientSecret
和 tenantId
。
The documentation 表明当您使用 Azure CLI 创建服务主体时,这些变量会公开给您,但在我的情况下,已经有一个。我没有创建新的凭据,坦率地说,我不需要。
那么,如何检索与现有服务主体关联的 clientId
、clientSecret
和 tenantId
?
解决方法
您可以使用 CLI 命令获取服务主体的 Client Id
和 Tenant Id
,如下所示:
az ad sp list --query "[].{id:appId,tenant:appOwnerTenantId}"
您甚至可以获得更多服务主体的值 - 请参阅 ServicePrincipalInner 类。
此外,如评论中所述,您无法检索其他人创建的 Client Secret
。你必须reset:
az ad sp credential reset --name APP_ID