使用 Azure 门户授予对 Keyvault 的访问权限
Use Azure portal to grant access to a Keyvault
我正在寻找一种方法来启用对某个密钥库的访问:
if (builder.Environment.IsProduction())
{
builder.Configuration.AddAzureKeyVault(
new Uri(configuration["KeyVaultUri"]),
new DefaultAzureCredential());
}
这可以使用 Azure 门户(没有 Powershell,也没有 Azure CLI)完成吗?
我们在哪里说和检查“此应用程序可以使用 DefaultAzureCredential 访问此 Keyvault”?
澄清一下:我想这是非常基本的东西。我不想做任何棘手的事情。问题是我找到了使用 Azure-CLI、Powershell 等执行此操作的文档。此外,您可以在部署设置期间将 Keyvault 绑定到应用程序 (Visual Studio),这会在您的解决方案中添加大量垃圾文件……我找不到通过 Azure 执行相同操作的资源传送门
编辑:我试过的是:
在 Azure App Service 配置中,我选择了:Identity/System Assigned/Status:开启。我可以看到应用服务现在有一个带有对象 ID
的身份
在 Azure KeyVault 配置中,我添加了一个策略,其主体是在上一步中创建的身份,并授予读取和列出机密的权限
当我部署应用程序时,它崩溃了,没有错误日志。它只显示一个错误页面,其中包含 500.30 错误。文档说这可能是由于 Keyvault
配置错误造成的
当我评论以下内容时,应用程序正常启动:
/*if (builder.Environment.IsProduction())
{
builder.Configuration.AddAzureKeyVault(
new Uri(configuration["KeyVaultUri"]),
new DefaultAzureCredential());
}*/
Edit: What I have tried is:
In the Azure App Service configuration I have selected:
Identity/System Assigned/Status: ON. I can see the App Service has now
an Identity with an Object Id
In the Azure KeyVault configuration I have added a Policy whose
Principal is the identity created in the previous step, with grants to
read and list secrets
您已执行从应用服务配置 Key Vault 访问的所有先决条件。当您不评论代码片段时,您已经面临问题。请不要使用该代码,而是从门户网站进行设置。
/*if (builder.Environment.IsProduction())
{
builder.Configuration.AddAzureKeyVault(
new Uri(configuration["KeyVaultUri"]),
new DefaultAzureCredential());
}*/
要从门户配置它,您可以转到您的 App service >> Configuration >> Application Setting >> + New Application Setting >> Provide Name as KEY_VAULT_URI and Value as your keyvault URI
你可以参考这个Microsoft Tutorial
and Code Sample
。
我正在寻找一种方法来启用对某个密钥库的访问:
if (builder.Environment.IsProduction())
{
builder.Configuration.AddAzureKeyVault(
new Uri(configuration["KeyVaultUri"]),
new DefaultAzureCredential());
}
这可以使用 Azure 门户(没有 Powershell,也没有 Azure CLI)完成吗?
我们在哪里说和检查“此应用程序可以使用 DefaultAzureCredential 访问此 Keyvault”?
澄清一下:我想这是非常基本的东西。我不想做任何棘手的事情。问题是我找到了使用 Azure-CLI、Powershell 等执行此操作的文档。此外,您可以在部署设置期间将 Keyvault 绑定到应用程序 (Visual Studio),这会在您的解决方案中添加大量垃圾文件……我找不到通过 Azure 执行相同操作的资源传送门
编辑:我试过的是:
在 Azure App Service 配置中,我选择了:Identity/System Assigned/Status:开启。我可以看到应用服务现在有一个带有对象 ID
的身份在 Azure KeyVault 配置中,我添加了一个策略,其主体是在上一步中创建的身份,并授予读取和列出机密的权限
当我部署应用程序时,它崩溃了,没有错误日志。它只显示一个错误页面,其中包含 500.30 错误。文档说这可能是由于 Keyvault
配置错误造成的当我评论以下内容时,应用程序正常启动:
/*if (builder.Environment.IsProduction())
{
builder.Configuration.AddAzureKeyVault(
new Uri(configuration["KeyVaultUri"]),
new DefaultAzureCredential());
}*/
Edit: What I have tried is:
In the Azure App Service configuration I have selected: Identity/System Assigned/Status: ON. I can see the App Service has now an Identity with an Object Id
In the Azure KeyVault configuration I have added a Policy whose Principal is the identity created in the previous step, with grants to read and list secrets
您已执行从应用服务配置 Key Vault 访问的所有先决条件。当您不评论代码片段时,您已经面临问题。请不要使用该代码,而是从门户网站进行设置。
/*if (builder.Environment.IsProduction())
{
builder.Configuration.AddAzureKeyVault(
new Uri(configuration["KeyVaultUri"]),
new DefaultAzureCredential());
}*/
要从门户配置它,您可以转到您的 App service >> Configuration >> Application Setting >> + New Application Setting >> Provide Name as KEY_VAULT_URI and Value as your keyvault URI
你可以参考这个Microsoft Tutorial
and Code Sample
。