我正试图使用微软以编程方式创建一个Azure KeyVault秘密。Azure.KeyVault.KeyVaultClient。出于我的目的,我将使用一个证书作为Azure AD应用程序进行身份验证。Azure AD应用程序的清单中已经有证书信息。
我的代码创建了Azure KeyVault,为Azure AD应用程序的机密和对象ID提供了“所有”权限。我验证使用Powershell检索KeyVault和查看访问策略是否发生了这种情况。
当我试图使用KeyVault ()在这个KeyVaultClient.SetSecretAsync上创建一个秘密时,我会得到一个异常,上面写着“不允许操作'set‘”。有“禁止”的身份代码。
除了在KeyVault上设置的权限之外,我是否还需要确保其他任何权限(比如Azure应用程序)?
发布于 2016-10-12 15:29:30
问题是,Access策略不需要Azure AD应用程序的对象ID。它实际上需要Azure应用程序的服务主体的对象ID。
由于最近在portal.azure.com添加了“应用程序注册”,所以我们可以很小地获得应用程序的对象ID。但是,Azure AD应用程序的服务主体的对象ID在UI中不可用(据我所能找到)。您可以通过Powershell获得它:
Get-AzureRmADServicePrincipal -ServicePrincipalName <app client ID>发布于 2018-03-29 02:08:48
现在,您可以在密钥库设置的访问策略刀片中找到所有访问密钥库的注册应用程序。
我已经记录了使用Azure门户这里为任何需要帮助的人创建和使用服务主体的情况。
https://stackoverflow.com/questions/39901876
复制相似问题