如何查询Azure Active Directory中的应用程序客户端密码?

时间:2019-08-21 21:05:35

标签: azure azure-active-directory

我需要将我的API管理与Azure Active Directory身份提供程序链接。

为此,我必须使用REST API,该API要求将客户端机密作为主体的一部分:

https://docs.microsoft.com/en-us/rest/api/apimanagement/2019-01-01/identityprovider/createorupdate

我不想将客户端机密签入源代码控制,所以我想我会从Active Directory中即时检索客户端机密:

当我尝试将az ad app credential list --id xxxx-my-long-id-xxxlist the app credentials一起使用时,它不会返回密码:

[
  {
    "additionalProperties": null,
    "customKeyIdentifier": null,
    "endDate": "2020-08-16T14:11:44.782000+00:00",
    "keyId": "xxxxx-xxxx-x-xxx--xx-xxxxx",
    "startDate": "2019-08-16T14:11:53.862000+00:00",
    "value": null
  }
]

是否有另一种获取客户机密的方法?

也许通过其余的api?

2 个答案:

答案 0 :(得分:1)

对于服务主体机密,您只需在创建时就可以看到它。创建时间过后,您将再也看不到它。因此,如果您忘记了服务主体机密,则只需重置该机密即可获得一个新的机密。您可以看到消息here

  

确保您复制此值-无法检索它。如果忘记了   密码,重置服务主体凭据。

此处的重置命令:

az ad sp credential reset --name yourApplicationName

有关该命令的更多详细信息,请参见az ad sp credential reset

答案 1 :(得分:0)

创建后看不到它,但是可以将其保存到Azure Key Vault并在每次需要进行请求时从中提取值。