我使用PowerShell创建了一个密钥库,并为Soft-Delete和Purge-Protection启用了它。然后我创建了一些秘密,并将它们推入新的密钥库。在创建密钥库时创建的默认访问策略为我的帐户提供了除Purge之外的所有密钥、秘密和证书的权限。正如预期的那样,当我尝试删除秘密,然后永久删除它们时,我得到了Forbidden错误。然后,我修改了访问策略,使我的帐户获得了对秘密的Purge权限,认为这将允许我永久删除这些秘密。但是,即使在授予我的帐户Purge权限之后,当试图永久删除InRemovedState中的秘密时,我仍然会得到Forbidden错误。
发布于 2020-04-22 01:36:56
如果您只是启用Soft-Delete,那么Purge权限就足够了。但是,如果还启用了Purge-Protection,则需要等待保留时间来永久删除该秘密,无论您获得何种权限。
例外情况是:
--enable-purge-protection标志时。在这种情况下,密钥库将等待90天后,原来的秘密对象被标记为删除永久删除对象。默认情况下,保留期为90天,如果有必要,可以通过powershell将其设置为7到90。(文档说一旦它被设置和保存,它就不能被更改,实际上它可以,只需使用powershell)
$r = Get-AzResource -ResourceGroupName <group-name> -ResourceType Microsoft.KeyVault/vaults -Name <keyvault-name>
$r.Properties.softDeleteRetentionInDays = "7"
$r | Set-AzResource -Force

https://stackoverflow.com/questions/61342357
复制相似问题