问题就在标题中,我无法找到一种在不删除所有现有访问策略的情况下将访问策略添加到密钥保管库的方法。我在 github 项目中问了同样的问题,但还没有任何帮助。
https://github.com/Azure/azure-sdk-for-net/issues/44531
我正在使用 Azure.ResourceManager.KeyVault 版本 1.2.3
我现在在 github 线程中得到了一个有效的答案。
IdentityAccessPermissions accessPermissions = new IdentityAccessPermissions()
{
Secrets =
{
IdentityAccessSecretPermission.All
}
};
KeyVaultAccessPolicy accessPolicy = new KeyVaultAccessPolicy(tenantId, principalId1, accessPermissions);
var accessPolicies = new List<KeyVaultAccessPolicy>() { accessPolicy };
var updateProperties = new KeyVaultAccessPolicyProperties(accessPolicies);
var updateParameters = new KeyVaultAccessPolicyParameters(updateProperties);
keyVault.UpdateAccessPolicy(AccessPolicyUpdateKind.Add, updateParameters);
实际上,我已经尝试过,但不知道它是否有效,因为它没有显示在 keyvault 实例访问策略中。我必须再次获取 keyvault 实例才能获取添加的访问策略。
vaultCollection = resourceGroup.GetKeyVaults();
keyVault = vaultCollection.First(x => x.Id == keyVault.Id);
现在,keyVault 包含添加的访问策略。