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

如何使用服务主体/托管标识启用RBAC模式Azure密钥保管库的Databricks机密范围?

基于RBAC权限模型的Azure密钥保管库与Databricks机密范围配置流程

以下分别介绍服务主体和托管标识两种认证方式的具体操作步骤:


一、使用服务主体配置

1. 创建并记录服务主体信息

如果没有现成的服务主体,可通过Azure CLI或门户创建:

  • CLI方式执行:
    az ad sp create-for-rbac --name "databricks-kv-sp" --skip-assignment
    
    记录输出中的appId(客户端ID)、password(客户端密钥)、tenantId(租户ID)。
  • 门户方式:在Azure AD中创建“应用注册”,生成客户端密钥后记录上述信息。

2. 为服务主体分配Key Vault RBAC权限

需授予服务主体**机密用户(Secret User)**角色以读取密钥保管库中的机密:

  • 登录Azure门户,进入目标KeyVault的「访问控制(IAM)」页
  • 点击「添加角色分配」,选择「机密用户」角色
  • 在「成员」选项中选择刚才创建的服务主体,完成分配

3. 在Databricks中创建密钥保管库机密范围

  • 打开Azure Databricks工作区,在URL末尾追加#secrets/createScope并访问(直接通过UI入口可能无法找到此页)
  • 填写机密范围名称(仅允许小写字母、数字、连字符),勾选「Azure Key Vault」选项
  • 输入Key Vault的DNS名称(如https://your-keyvault.vault.azure.net/)和资源ID(可从KeyVault的「属性」页复制)
  • 选择「服务主体」作为认证方式,填入之前记录的appId、password、tenantId
  • 点击「创建」完成配置

二、使用托管标识配置

托管标识分为系统分配和用户分配两种,以下分别说明:

方式1:系统分配托管标识

1. 启用Databricks工作区的系统分配标识

  • 登录Azure门户,进入目标Databricks工作区的「标识」页
  • 切换到「系统分配」标签,开启状态并保存,记录生成的对象ID

2. 为系统分配标识分配Key Vault RBAC权限

同服务主体步骤2,在KeyVault的IAM中添加「机密用户」角色,指定此系统分配标识

3. 创建Databricks机密范围

  • 访问Databricks工作区的#secrets/createScope页面
  • 填写范围名称,勾选「Azure Key Vault」选项
  • 输入Key Vault的DNS名称和资源ID
  • 选择「托管标识」作为认证方式,选择「系统分配」选项
  • 点击「创建」完成配置

方式2:用户分配托管标识

1. 创建用户分配托管标识

  • 在Azure门户中搜索「托管标识」,新建用户分配标识,记录其资源ID和客户端ID

2. 为用户分配标识分配Key Vault RBAC权限

同前,在KeyVault的IAM中添加「机密用户」角色到该标识

3. 将用户分配标识关联到Databricks工作区

  • 进入Databricks工作区的「标识」页,切换到「用户分配」标签
  • 点击「添加」,选择刚才创建的用户分配标识并保存

4. 创建Databricks机密范围

  • 访问#secrets/createScope页面,填写范围名称并勾选Azure Key Vault选项
  • 输入Key Vault的DNS名称和资源ID
  • 选择「托管标识」作为认证方式,选择对应的用户分配标识
  • 点击「创建」完成配置

额外说明

  • 权限变更可能需要5-10分钟生效,若测试时出现权限错误请稍后重试
  • 若使用Databricks CLI创建范围,可参考以下命令:
    • 服务主体方式:
      databricks secrets create-scope --scope <scope-name> \
        --scope-backend-type AZURE_KEYVAULT \
        --backend-config "vault_uri=https://your-keyvault.vault.azure.net/" \
        --backend-config "service_principal_client_id=<app-id>" \
        --backend-config "service_principal_client_secret=<password>" \
        --backend-config "service_principal_tenant_id=<tenant-id>"
      
    • 系统分配托管标识方式:
      databricks secrets create-scope --scope <scope-name> \
        --scope-backend-type AZURE_KEYVAULT \
        --backend-config "vault_uri=https://your-keyvault.vault.azure.net/" \
        --backend-config "managed_identity_id=system"
      
    • 用户分配托管标识方式:
      databricks secrets create-scope --scope <scope-name> \
        --scope-backend-type AZURE_KEYVAULT \
        --backend-config "vault_uri=https://your-keyvault.vault.azure.net/" \
        --backend-config "managed_identity_id=<user-assigned-identity-resource-id>"
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 04:08:12