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

无需创建Secret Scope从Azure Key Vault在Databricks获取密钥及CLI相关疑问

关于Azure Databricks与Key Vault密钥访问的问题解答

一、无需创建Secret Scope直接访问Azure Key Vault密钥的方法

可以通过Azure SDK在Databricks笔记本中直接调用Key Vault API获取密钥,但需要确保Databricks集群拥有对应AKV的访问权限:

  • 为集群的服务主体(或托管标识)分配Key Vault的密钥读取者角色
  • 在笔记本中安装依赖:%pip install azure-keyvault-secrets azure-identity
  • 示例代码:
from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient

vault_url = "https://你的密钥保管库名称.vault.azure.net/"
credential = DefaultAzureCredential()
secret_client = SecretClient(vault_url=vault_url, credential=credential)

secret = secret_client.get_secret("你的密钥名称")
print(secret.value)

这种方式绕开了Databricks Secret Scope,但依赖Azure身份认证体系,适合不需要在Databricks Secrets生态内复用密钥的场景。

二、Databricks CLI创建AKV-backed Secret Scope的运行位置

Databricks CLI命令可在任意安装并配置完成CLI的环境中执行:

  • 本地开发机器(Windows/macOS/Linux):先安装Databricks CLI,再通过databricks configure命令配置工作区URL和个人访问令牌(PAT)
  • Databricks集群终端:在集群的「终端」标签页直接运行(集群默认已预装CLI)
  • CI/CD流水线(如Azure DevOps、GitHub Actions):在流水线环境中安装CLI并配置PAT后执行命令
    创建AKV关联Scope的核心命令示例:
databricks secrets create-scope --scope <作用域名称> --scope-backend-type AZURE_KEYVAULT --resource-id <密钥保管库资源ID> --dns-name <密钥保管库DNS地址>

三、能否直接用Databricks CLI检索密钥而无需创建Secret Scope?

不行。Databricks CLI的secrets get命令依赖已创建的Secret Scope,因为CLI是通过Databricks Secrets服务访问密钥,而该服务必须通过Scope关联到Key Vault。如果要直接用CLI获取AKV密钥,可使用Azure CLI的az keyvault secret show命令,前提是CLI已完成登录并拥有AKV访问权限:

az keyvault secret show --name <密钥名称> --vault-name <密钥保管库名称> --query "value" -o tsv

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 09:25:25