You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查找Azure Key Vault中密钥的作用域以配置应用服务角色权限

Azure Key Vault密钥作用域获取与Terraform配置

1. 单个密钥的作用域格式

Azure中针对Key Vault单个密钥的权限作用域是固定格式:
/subscriptions/<订阅ID>/resourceGroups/<资源组名>/providers/Microsoft.KeyVault/vaults/<密钥库名>/secrets/<密钥名>

2. 快速获取各部分信息

  • 订阅ID: 登录Azure门户后,在「订阅」页面查看;或者用Azure CLI执行az account show --query id -o tsv直接输出
  • 资源组名: 打开目标Key Vault的「概述」页面,顶部就能看到所属资源组
  • 密钥库名: 就是你创建的Key Vault实例名称
  • 密钥名: 在Key Vault的「密钥」菜单里,找到要授权的目标密钥名称

3. Terraform配置优化写法

如果你的Key Vault是通过Terraform部署的(比如资源名为azurerm_key_vault.this),可以直接引用资源属性动态生成作用域,避免硬编码:

resource "azurerm_role_assignment" "GetKey" {
  scope              = "${azurerm_key_vault.this.id}/secrets/your-secret-name" # 替换成实际密钥名
  principal_id       = azurerm_web_app.this.identity.0.principal_id
  role_definition_name = "Key Vault Secrets User" # 注意:内置的读取密钥角色是这个,不是"Get"
}

重要提醒:Azure没有名为"Get"的内置角色,要实现密钥读取权限,建议使用官方内置的Key Vault Secrets User角色,它包含了获取密钥的必要权限。

4. 验证作用域有效性

可以先用Azure CLI测试作用域是否正确,命令如下:
az role assignment create --scope "<完整作用域路径>" --assignee "<应用服务主体ID>" --role "Key Vault Secrets User"

内容的提问来源于stack exchange,提问作者SLN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 13:50:27