我正在使用 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;
然后出现列表错误,所以我必须使用
Set-AzureRmKeyVaultAccessPolicy -VaultName vaultname -ResourceGroupName location -ObjectId obid -PermissionsToKeys all -PermissionsToSecrets all
这将消除错误,但我更喜欢一个解决方案,以便我可以使用 .NET SDK 来解决。
最佳答案
出现错误:
The operation "List" is not enabled in this key vault's access policy.
You are unauthorized to view these contents.
这里的关键是查看您无权查看这些内容。
导航到访问策略
并将您当前登录的用户添加为至少具有List
权限的主体:
您现在可以查看 secret (如果有):
关于c# - Azure Keyvault - "Operation "列表“保管库策略不允许”,但已检查所有权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42902130/