问题描述
我需要在创建 Key Vault 时限制对它的访问。我正在通过 Fluent sdk 创建,我可以在其中创建 keyvault 并定义标签和资源组。
注意:使用 powershell 我可以使用以下命令执行操作:Add-AzkeyvaultNetworkRule 但使用 Fluent 我不能
这里是我如何创建 keyvault:
var azureClient = await GetAzureClientWithSubscription();
var rVault = await azureClient.Vaults
.Define(kvName)
.WithRegion(Region.BrazilSouth)
.WithExistingResourceGroup(kvRG)
.DefineAccesspolicy()
.ForObjectId(_settings.ObjectId)
.AllowSecretPermissions(SecretPermissions.Get)
.AllowSecretPermissions(SecretPermissions.List)
.AllowSecretPermissions(SecretPermissions.Set)
.Attach()
.WithTags(tags)
.CreateAsync();
解决方法
这是一个已报告给 SDK 团队的已知问题,您可以查看 the issue here。虽然不是那么优雅,但您可以在创建密钥保管库后调用 this REST API 设置 networkAcls
。
或者只是通过 key vault ARM template 的 fluent SDK 创建一个密钥保管库。
如果您还有其他问题,请告诉我。