使用 DataProtectionProvider 连接到 Azure Key Vault
Connecting to Azure Key Vault using DataProtectionProvider
我有一段时间配置 .Net Core 的 DataProtectionProvider 以将密钥存储在 Azure Key Vault 中。问题是我似乎无法创建正确的 Blob URI,或者至少我认为这是问题所在,因为其他一切似乎都井井有条,但我仍然未获得授权。
在 Azure 中,我注册了一个应用程序和客户端密码,创建了一个保险库和一个密钥,以及一个为应用程序提供几乎所有权限的访问策略。
这是我的 ConfigureServices 的相关部分:
string uri = "https://{vault-name}.vault.azure.net/keys/{vault-name}/{key}" + "se=2020-01-01&sp=r&spr=https&sv=2018-11-09&sr=b&sig={sig}";
string keyIdentifier = "https://{vault-name}.vault.azure.net/keys/{vault-name}";
string clientId = "{application-id";
string clientSecret = "{client-secret}";
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
services.AddDataProtection()
.PersistKeysToAzureBlobStorage(new Uri(uri)) // requires Microsoft.AspNetCore.DataProtection.AzureStorage
.ProtectKeysWithAzureKeyVault(keyIdentifier, clientId, clientSecret); //requires Microsoft.AspNetCore.DataProtection.AzureKeyVault
services.AddControllers();
我对如何生成 sas 很困惑。文档似乎暗示这与存储帐户有某种关联,但我看不到任何将存储帐户与密钥保管库相关联的明显方法。所以我从 Azure CLI 尝试了一些不同的东西,但似乎没有得到我过去的身份验证。
如有任何帮助,我们将不胜感激。
您似乎正试图将 Key Vault 的 uri 传递给 .PeristKeysToAzureBlobStorage()
。相反,您需要传递存储中将保存密钥环的 blob 的 uri。 Azure Storage provider.
的文档中对此进行了说明
您可以如图所示通过门户生成 SAS link,或者您可以 utilize the CLI 创建 link。
我有一段时间配置 .Net Core 的 DataProtectionProvider 以将密钥存储在 Azure Key Vault 中。问题是我似乎无法创建正确的 Blob URI,或者至少我认为这是问题所在,因为其他一切似乎都井井有条,但我仍然未获得授权。
在 Azure 中,我注册了一个应用程序和客户端密码,创建了一个保险库和一个密钥,以及一个为应用程序提供几乎所有权限的访问策略。
这是我的 ConfigureServices 的相关部分:
string uri = "https://{vault-name}.vault.azure.net/keys/{vault-name}/{key}" + "se=2020-01-01&sp=r&spr=https&sv=2018-11-09&sr=b&sig={sig}";
string keyIdentifier = "https://{vault-name}.vault.azure.net/keys/{vault-name}";
string clientId = "{application-id";
string clientSecret = "{client-secret}";
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
services.AddDataProtection()
.PersistKeysToAzureBlobStorage(new Uri(uri)) // requires Microsoft.AspNetCore.DataProtection.AzureStorage
.ProtectKeysWithAzureKeyVault(keyIdentifier, clientId, clientSecret); //requires Microsoft.AspNetCore.DataProtection.AzureKeyVault
services.AddControllers();
我对如何生成 sas 很困惑。文档似乎暗示这与存储帐户有某种关联,但我看不到任何将存储帐户与密钥保管库相关联的明显方法。所以我从 Azure CLI 尝试了一些不同的东西,但似乎没有得到我过去的身份验证。
如有任何帮助,我们将不胜感激。
您似乎正试图将 Key Vault 的 uri 传递给 .PeristKeysToAzureBlobStorage()
。相反,您需要传递存储中将保存密钥环的 blob 的 uri。 Azure Storage provider.
您可以如图所示通过门户生成 SAS link,或者您可以 utilize the CLI 创建 link。