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

时间:2019-04-10 21:19:13

标签: .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("myblob-sasuri"))
            .ProtectKeysWithAzureKeyVault(keyVaultClient, "key-identifier-uri");
}

一切看起来不错,但是我对访问密钥库中的禁止错误感到困惑。我不知道是否以某种方式弄乱了密钥标识符(可疑)或keyVaultClient或权限。

我怀疑有权限,但是文档无处告诉我客户端需要什么权限。

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

1 个答案:

答案 0 :(得分:0)

通过实验,我了解到KeyVault访问策略必须在“密钥权限”的“加密操作”部分中启用“打开密钥”权限。因此,必须向您授予对KeyVault的访问权限的服务主体被授予访问策略中的一项特定权限。我们遇到了问题,因为我们没有启用它,而只是启用了加密和解密权限。应该对此进行记录,我在此处向文档添加了反馈:https://docs.microsoft.com/en-us/aspnet/core/security/data-protection/configuration/overview?view=aspnetcore-2.2