【发布时间】:2017-05-05 09:14:01
【问题描述】:
我对微软分散的文档有点困惑。
我创建了一个应用程序 (https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal),这意味着我现在拥有:
- 应用程序 ID
- 钥匙
- 目录 ID
我已进入 Azure 门户中的 KeyVault,并已授予该应用程序的权限。
出于测试目的,我正在尝试通过 CURL 运行测试。我为此使用的基础是以下 Microsoft 页面(https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-oauth-service-to-service#request-an-access-token 和 https://docs.microsoft.com/en-us/rest/api/#create-the-request)
所以,我要做的第一件事就是通过以下调用获取令牌:
curl -d "grant_type=client_credentials&client_id=<removed_for_security>&client_secret=<removed_for_security>" https://login.microsoftonline.com/<removed_for_security>/oauth2/token
这会返回一个令牌。
然后我(尝试)按如下方式使用该令牌:
curl -H "Authorization: Bearer <removed_for_security>” -vv https://<removed_for_security>.vault.azure.net/secrets/<removed_for_security>/<removed_for_security>
我没有返回任何内容,只是“HTTP/1.1 401 Unauthorized”
【问题讨论】:
-
我也有同样的问题。在完成以下两个答案后,我仍然收到“401 Unauthorized”错误。是否需要授予特殊的 keyvault 权限(访问策略或其他)才能使用其余 api?我已经授予我的服务主体访问密钥的权限:创建、列出、加密、解密、wrapKey、UnwrapKey、获取。这些是我试图运行的唯一操作。我也已经授予我的服务主体访问 keyvault 资源本身的权限。还是没有运气。
标签: azure azure-keyvault