c# - Azure Keyvault - "Operation "列表“保管库策略不允许”,但已检查所有权限

标签 c# .net powershell azure azure-keyvault

我正在使用 AAD 应用程序通过 .NET 客户端访问 KeyVault。尽管此 AAD 应用已启用“ secret ”下的所有权限(下面的屏幕截图),但如果导航到“ secret ”面板,我会收到“此 key 保管库的访问策略中未启用“列表”操作”的消息。

我希望能够通过 AAD 应用程序设置权限,因此不能选择使用 Powershell。

如果我通过 Powershell 设置权限 - 它确实有效。

我如何创建访问策略:

        var accessPolicy = new AccessPolicyEntry
        {

            ApplicationId = app,
            ObjectId = Obid,
            PermissionsRawJsonString = "{ \"keys\": [ \"all\" ], \"secrets\": [ \"all\"  ], \"certificates\": [ \"all\" ] }",
            TenantId = ten,

        };

        return accessPolicy;

这给了我 enter image description here

然后出现列表错误,所以我必须使用

Set-AzureRmKeyVaultAccessPolicy -VaultName vaultname -ResourceGroupName location -ObjectId obid -PermissionsToKeys all -PermissionsToSecrets all 

这将消除错误,但我更喜欢一个解决方案,以便我可以使用 .NET SDK 来解决。

最佳答案

enter image description here

出现错误:

The operation "List" is not enabled in this key vault's access policy.

You are unauthorized to view these contents.

这里的关键是查看您无权查看这些内容。

导航到访问策略并将您当前登录的用户添加为至少具有List权限的主体:

enter image description here

您现在可以查看 secret (如果有):

enter image description here

关于c# - Azure Keyvault - "Operation "列表“保管库策略不允许”,但已检查所有权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42902130/

相关文章:

c# - 在 json 反序列化期间确定类型

c# - 存储库、管道、业务逻辑和域模型——我如何将它们组合在一起?

c# - 如何在 .NET 中使用自定义格式对 TimeSpan 对象进行 String.Format ?

c# - 如何将动态对象传递给 HtmlHelper.Editor()?

powershell - 从测试连接返回 StatusCode

powershell - PowerShell删除或跳过CSV中的列

c# - C# 将 MySQL 服务器上的表中的数据复制到本地 MySql 数据库表

c# - 使用 Polly 时抛出特定异常

.net - 强制 ConfigurationManager 重新加载所有部分

Powershell - 格式化锯齿状数组输出