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

问题描述 投票:0回答:1

使用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时遇到了Forbidden错误。我无法弄清楚我是否以某种方式搞砸了密钥标识符(可疑)或keyVaultClient或权限。

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

有人做过这项工作吗?

.net-core azure-keyvault data-protection
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.