.net core 使用ASP.Net Core v2.2 ProtectKeysWithAzureKeyVault()数据保护

.net core 使用ASP.Net Core v2.2 ProtectKeysWithAzureKeyVault()数据保护,.net-core,azure-keyvault,data-protection,.net Core,Azure Keyvault,Data Protection,使用ASP.NET Core 2.2,我尝试配置数据保护,以便将密钥环存储在Azure Blob存储中,并使用存储在KeyVault中的密钥保护密钥环 在我的ConfigureServices()方法中,我有: public void ConfigureServices(IServiceCollection services) { services.AddDataProtection() .PersistKeysToAzureBlobStorage(new Uri

使用ASP.NET Core 2.2,我尝试配置数据保护,以便将密钥环存储在Azure Blob存储中,并使用存储在KeyVault中的密钥保护密钥环

在我的ConfigureServices()方法中,我有:

public void ConfigureServices(IServiceCollection services)
{
    services.AddDataProtection()
            .PersistKeysToAzureBlobStorage(new Uri("myblob-sasuri"))
            .ProtectKeysWithAzureKeyVault(keyVaultClient, "key-identifier-uri");
}
一切看起来都很好,但我对进入钥匙库时被禁止的错误感到困惑。我无法确定我是否以某种方式弄错了密钥标识符(可疑)或KeyVault客户端,或权限

我怀疑权限,但文档没有告诉我客户需要什么权限


有人成功地完成了这项工作吗?

通过实验,我了解到KeyVault访问策略必须在密钥权限的加密操作部分启用“解开密钥”权限。因此,您授予对KeyVault访问权限的服务主体必须在访问策略中被授予该特定权限。我们遇到了问题,因为我们没有启用它,我们只是启用了加密和解密权限。这应该记录下来,我在这里向文档添加了反馈: