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

如何在Synapse Notebook中从配置特定网络访问的Key Vault获取密钥?

在Synapse Notebook中从受网络限制的Key Vault获取密钥

由于你的Key Vault限制了仅允许特定虚拟网络/IP访问,首先要确保Synapse工作区能合法访问Key Vault,再通过以下两种方式实现密钥获取:

一、先确保Synapse的网络访问权限

你需要满足以下任一条件:

  • 将Synapse工作区的托管虚拟网络(若已启用)添加到Key Vault的允许虚拟网络列表
  • 将Synapse工作区的出站公网IP添加到Key Vault的允许IP地址范围
  • 为Synapse和Key Vault配置私有链接(生产环境推荐,避免公网依赖)

同时,给Synapse的系统托管标识(或你指定的服务主体)配置Key Vault的Secret Get权限,确保有权读取密钥。

二、方法1:使用Azure Key Vault链接服务

  1. 在Synapse Studio中创建链接服务:
    • 进入「管理」→「链接服务」→「新建」,搜索选择「Azure Key Vault」
    • 选择目标Key Vault,认证方式选「系统托管标识」(推荐),并确认该标识已在Key Vault有读取权限
  2. 在Notebook中调用密钥:
    PySpark示例
    from azure.keyvault.secrets import SecretClient
    from azure.identity import DefaultAzureCredential
    
    key_vault_uri = "https://your-key-vault-name.vault.azure.net/"
    credential = DefaultAzureCredential()
    secret_client = SecretClient(vault_url=key_vault_uri, credential=credential)
    
    # 获取指定密钥
    secret_val = secret_client.get_secret("your-secret-name").value
    
    Spark SQL示例
    SELECT SecretValue FROM OPENROWSET(
        PROVIDER = 'AzureKeyVault',
        CONNECTION = 'https://your-key-vault-name.vault.azure.net/',
        OBJECT = 'your-secret-name'
    ) WITH (SecretValue VARCHAR(MAX)) AS secret_data
    

三、方法2:使用Synapse Secret Scope(和Databricks用法一致)

  1. 创建Key Vault绑定的Secret Scope:
    • 进入Synapse Studio「管理」→「机密」→「Secret Scopes」,点击「新建」
    • 选择「Azure Key Vault」类型,关联目标Key Vault,按需选择要同步的密钥
  2. 在Notebook中直接读取:
    # 语法和Databricks完全一致
    secret_val = dbutils.secrets.get(scope="your-secret-scope-name", key="your-secret-name")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 18:06:39