我需要将我的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-xxx
与list 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?
答案 0 :(得分:1)
对于服务主体机密,您只需在创建时就可以看到它。创建时间过后,您将再也看不到它。因此,如果您忘记了服务主体机密,则只需重置该机密即可获得一个新的机密。您可以看到消息here:
确保您复制此值-无法检索它。如果忘记了 密码,重置服务主体凭据。
此处的重置命令:
az ad sp credential reset --name yourApplicationName
有关该命令的更多详细信息,请参见az ad sp credential reset
。
答案 1 :(得分:0)
创建后看不到它,但是可以将其保存到Azure Key Vault并在每次需要进行请求时从中提取值。