使用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或权限。
我怀疑有权限,但是文档无处告诉我客户端需要什么权限。
有人成功完成了这项工作吗?
答案 0 :(得分:0)
通过实验,我了解到KeyVault访问策略必须在“密钥权限”的“加密操作”部分中启用“打开密钥”权限。因此,必须向您授予对KeyVault的访问权限的服务主体被授予访问策略中的一项特定权限。我们遇到了问题,因为我们没有启用它,而只是启用了加密和解密权限。应该对此进行记录,我在此处向文档添加了反馈:https://docs.microsoft.com/en-us/aspnet/core/security/data-protection/configuration/overview?view=aspnetcore-2.2