Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Databricks OAuth 令牌联合(也称为 OpenID Connect(OIDC))允许在 Databricks 外部运行的自动化工作负荷以安全的方式访问 Databricks,而无需 Databricks 密钥。 请参阅使用 OAuth 令牌联合身份验证对 Azure Databricks 进行身份验证。
若要为 CircleCI 启用工作负载身份联合,
启用工作负荷标识联合后,Databricks SDK 和 Databricks CLI 会自动从 CircleCI 提取工作负荷标识令牌,并将其交换为 Databricks OAuth 令牌。
创建联合策略
首先,创建自定义工作负荷标识联合策略。 有关说明,请参阅 配置服务主体联合策略。 对于 CircleCI,请为策略设置以下值:
-
颁发者 URL:
https://oidc.circleci.com/org/<org_id>
组织 ID 所在的位置<org-id>
- 观众: CircleCI 组织 ID
- 主题: CircleCI 项目 ID
-
使用者声明:
oidc.circleci.com/project-id
例如,以下 Databricks CLI 命令为组织 ID 1234
和 Databricks 服务主体数字 ID 5581763342009999
创建联合策略:
databricks account service-principal-federation-policy create 5581763342009999 --json '{
"oidc_policy": {
"issuer": "https://oidc.circleci.com/org/1234",
"audiences": [
"1234"
],
"subject": "5678",
"subject_claim": "oidc.circleci.com/project-id"
}
}'
配置 CircleCI YAML
接下来,修改 CircleCI 配置文件。 除了以下变量之外,还请在 CircleCI DATABRICKS_OIDC_TOKEN_ENV
文件中设置config.yml
,以便指示 Databricks SDK 或 CLI 在CIRCLE_OIDC_TOKEN_V2
中搜索令牌。 (也可以使用较旧的 CIRCLE_OIDC_TOKEN
环境变量。
-
DATABRICKS_AUTH_TYPE
:env-oidc
-
DATABRICKS_HOST
:你的 Databricks 工作区网址 -
DATABRICKS_CLIENT_ID
:服务主体(应用程序)ID
version: 2.1
jobs:
build:
docker:
- image: cimg/base:current
environment:
DATABRICKS_HOST: https://my-workspace.cloud.databricks.com/
DATABRICKS_CLIENT_ID: a1b2c3d4-ee42-1eet-1337-f00b44r
DATABRICKS_OIDC_TOKEN_ENV: CIRCLE_OIDC_TOKEN
DATABRICKS_AUTH_TYPE: env-oidc
steps:
- checkout
- run:
name: Install Databricks CLI
command: |
curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sudo sh
databricks --version
- run:
name: Run Databricks CLI commands
command: databricks current-user me