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

Databricks访问Azure Key Vault遇PERMISSION_DENIED错误求助

解决Databricks访问Azure Key Vault的403权限拒绝问题

错误信息分析

com.databricks.common.client.DatabricksServiceHttpClientException: PERMISSION_DENIED: Invalid permissions on the specified KeyVault. Wrapped Message: Status code 403, "{"error":{"code":"Forbidden","message":"Caller is not authorized to perform action on resource.
If role assignments, deny assignments or role definitions were changed recently, please observe propagation time.
Caller: name=AzureDatabricks;appid=/
Action: 'Microsoft.KeyVault/vaults/secrets/getSecret/action'
Resource: '/subscriptions//resourcegroups//providers/microsoft.keyvault/vaults//secrets/serviceprincipalid'
Assignment: (not found)
DenyAssignmentId: null
DecisionReason: null
Vault: itidevkv2;location=eastus
","innererror":{"code":"ForbiddenByRbac"}}}"

从错误能看出核心问题是RBAC权限未正确匹配,虽然已配置Contributor和Key Vault Reader,但缺少读取密钥内容的具体权限,且系统未找到对应权限分配记录。

具体解决步骤

  • 核对服务主体一致性:确认Azure Key Vault中授权的服务主体,和Databricks密钥范围关联的SP ID完全一致,避免因ID输入错误导致权限不生效。
  • 添加Key Vault Secrets User角色:Key Vault Reader仅能读取密钥元数据,无法获取密钥内容。需在Azure Key Vault的「访问控制(IAM)」中,给目标服务主体添加Key Vault Secrets User角色,该角色包含Microsoft.KeyVault/vaults/secrets/getSecret/action权限,匹配错误中缺失的操作。
  • 检查Vault访问策略(旧模式):如果Key Vault未使用RBAC而是采用传统访问策略,需在「访问策略」页面给服务主体分配「机密权限」下的「获取」权限,同时确保「应用程序」选项选中对应服务主体。
  • 等待权限生效:Azure RBAC权限变更通常需要5-15分钟完成全局同步,跨区域场景可能耗时更久,修改后不要立即测试。
  • 验证密钥范围配置:重新检查Databricks密钥范围关联的Key Vault订阅ID、资源组、Vault名称是否准确,可在工作区「密钥范围」页面编辑确认。
  • 排查拒绝分配规则:尽管错误中DenyAssignmentId为null,仍需检查Key Vault的「访问控制(IAM)」->「拒绝分配」,确认没有意外规则限制服务主体权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 16:32:41