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

如何在Azure Databricks notebook中访问GitHub仓库文件且不使用PAT

Azure Databricks 访问 GitHub 私有仓库免 PAT 的实现方案

完全可以用 deploy keys 替代个人 PAT 实现访问,这种方案和个人账号解绑,仅对单个仓库生效,还可以设置为只读权限,更适合服务类的固定访问场景,也可以根据你的使用需求选 GitHub App 方案,具体实现步骤如下:

方案一:使用 Deploy Keys(单仓库访问首选)

1. 生成 SSH 密钥对

你可以直接在 Databricks 集群的终端操作,或者本地生成后再上传密钥,执行命令:
ssh-keygen -t ed25519 -C "databricks-repo-access"
全程回车不要设置密码,生成后公钥默认路径为 ~/.ssh/id_ed25519.pub,私钥路径为 ~/.ssh/id_ed25519。

2. 配置公钥到 GitHub 仓库

进入目标私有仓库的 Settings 页面,找到 Deploy keys 选项,点击 Add deploy key,把刚才生成的公钥内容完整粘贴进去,如果只需要读取文件,不要勾选 Allow write access,保存即可。

3. 在 Databricks 中配置私钥

不要把私钥硬编码在 notebook 里,建议存到 Databricks Secret 中,在 notebook 里读取后完成 SSH 配置:

import os
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# 读取存放在Secret中的私钥
private_key = w.secrets.get(scope="你的secret scope名称", key="github-deploy-key")
# 初始化.ssh目录
ssh_dir = os.path.expanduser("~/.ssh")
os.makedirs(ssh_dir, exist_ok=True)
# 写入私钥并设置正确权限
private_key_path = os.path.join(ssh_dir, "id_ed25519")
with open(private_key_path, "w") as f:
    f.write(private_key)
os.chmod(private_key_path, 0o600)
# 把GitHub加入known_hosts,避免SSH连接时的交互确认
os.system("ssh-keyscan github.com >> ~/.ssh/known_hosts")

如果集群所有用户都需要用到这个访问权限,可以把上述逻辑写成集群的 init 脚本,集群启动时自动完成配置,不用每个 notebook 单独执行。

4. 拉取仓库文件

不需要用原来的 HTTP 接口拉取,用 git 命令操作更稳定,如果只需要拉取单个文件,用 git archive 比克隆整个仓库更高效:

git archive --remote=git@github.com:<仓库所有者>/<仓库名>.git HEAD:<文件所在目录> <文件名> | tar -x

需要拉取整个仓库的话直接克隆即可:

git clone git@github.com:<仓库所有者>/<仓库名>.git

方案二:使用 GitHub App(多仓库访问首选)

如果你需要同时访问多个私有仓库,每个仓库单独配置 deploy keys 比较麻烦,可以选 GitHub App 方案:

  • 创建一个 GitHub App,仅配置仓库内容的只读权限,把 App 安装到所有需要访问的私有仓库上
  • 将 App 的私钥、App ID 等敏感信息存到 Databricks Secret 中
  • 在 notebook 中调用 GitHub 接口生成短期访问令牌,有效期最长1小时,用完即失效,安全性比固定的 PAT 高很多
  • 用生成的短期令牌替换你原来 curl 命令中的 PAT 即可,原有请求逻辑基本不需要修改。

注意事项

  • 所有密钥、令牌类敏感信息都不要硬编码在 notebook 或脚本中,必须存在 Databricks Secret 中,避免泄露
  • 测试连通性可以执行 ssh -T git@github.com,正常会返回你配置的 deploy key 对应的仓库提示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:57:03