【发布时间】:2020-07-21 00:09:26
【问题描述】:
我不确定如何通过本地计算机对 Azure 密钥库进行身份验证。 虽然我知道我可能永远不想在生产场景中这样做,但我确实想在生产之前测试它的使用。
这可能吗?
虽然我确实看到了 several options,但我未能使用 DefaultAzureCredential 以及我后来尝试的 CertificateCredential、ClientSecretCredential,每个都有自己的错误,我不完全理解。
默认的告诉我: azure.core.exceptions.HttpResponseError:(禁止)用户、组或应用程序 'appid=a79ae17f-90f7-4341-a2f7-b4ae4abad7d2;oid=cb8a8745-1567-4cd7-b8a0-5cecd6afe6c6;iss=https://sts. windows.net/98d1d263-cc4b-4d75-96a6-daf642242d3b/'没有秘密获得密钥库'AnotherKV2;location=eastus'的权限
azure.core.exceptions.HttpResponseError:(禁止)用户、组或应用程序 'appid={MYAPPID};oid={SomeOID};iss=https://sts.windows.net/98d1d263- cc4b-4d75-96a6-daf642242d3b/' 没有获得密钥保管库“{MyKVName};location=eastus”的权限。如需解决此问题的帮助,请参阅https://go.microsoft.com/fwlink/?linkid=2125287
这很奇怪有两个原因:
-
首先,虽然我确实在我的订阅中定义了一个带有 {MYAPPID} 的 SP,但我不记得曾经在我的本地机器上使用过它,所以我的本地应用程序如何具有与(我假设是自动生成的)相同的 APPID我使用以下命令创建服务主体时得到的那个: az ad sp create-for-rbac --name "MyApp"
-
其次,查看我的 keyvault 的访问策略,似乎 {MYAPPID} 被授权做所有事情
我错过了什么吗?是否应该以其他方式完成? (或者根本没有?)
【问题讨论】:
标签: python azure azure-keyvault permission-denied