Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Federasi token OAuth Databricks, juga dikenal sebagai OpenID Connect (OIDC), memungkinkan beban kerja otomatis Anda yang berjalan di luar Databricks untuk mengakses Databricks dengan aman tanpa perlu rahasia Databricks. Lihat Mengautentikasi akses ke Azure Databricks menggunakan federasi token OAuth.
Untuk mengaktifkan federasi identitas beban kerja untuk GitHub Actions:
- Membuat kebijakan federasi
- Konfigurasikan file YAML GitHub Actions
Setelah Anda mengaktifkan federasi identitas beban kerja, Databricks SDK dan Databricks CLI secara otomatis mengambil token identitas beban kerja dari GitHub dan menukarnya dengan token OAuth Databricks.
Membuat kebijakan federasi
Pertama, buat kebijakan federasi identitas beban kerja. Untuk petunjuknya, lihat Mengonfigurasi kebijakan federasi perwakilan layanan. Untuk GitHub, atur nilai berikut untuk kebijakan:
-
Organisasi: Nama organisasi Github Anda. Misalnya, jika URL repositori Anda adalah
https://github.com/databricks-inc/data-platform, maka organisasinya adalahdatabricks-inc. -
Repositori: Nama repositori tunggal yang diizinkan, seperti
data-platform. -
Jenis entitas: Jenis entitas GitHub yang diwakili dalam
subklaim (subjek) token Anda. Defaultnya adalah Cabang. Databricks merekomendasikan penggunaan Environment, yang dapat Anda aktifkan dengan mengaturenvironmentatribut dalam file YAML GitHub Actions Anda. Lihat Menyebarkan ke lingkungan tertentu. -
URL Pengeluar Sertifikat:
https://token.actions.githubusercontent.com - Subyek: String yang dibentuk dengan menggabungkan nilai dari konteks pekerjaan GitHub Actions.
- Khalayak: Databricks merekomendasikan untuk mengatur ini ke ID akun Azure Databricks Anda. Jika dihilangkan, ID akun digunakan secara default.
-
Klaim subjek: (Opsional) Klaim JWT yang berisi nilai identitas beban kerja (
sub) dari token OIDC. Untuk GitHub, biarkan bidang sebagaisub, yang mengodekan repositori, cabang, tag, permintaan pull/merge, atau lingkungan yang memicu alur kerja.
Misalnya, perintah Databricks CLI berikut membuat kebijakan federasi untuk organisasi bernama my-org dan ID numerik perwakilan layanan Databricks dari 5581763342009999:
databricks account service-principal-federation-policy create 5581763342009999 --json '{
"oidc_policy": {
"issuer": "https://token.actions.githubusercontent.com",
"audiences": [
"a2222dd9-33f6-455z-8888-999fbbd77900"
],
"subject": "repo:my-github-org/my-repo:environment:prod"
}
}'
File YAML GitHub Actions dikonfigurasi
Selanjutnya, konfigurasikan file YAML GitHub Actions. Atur variabel lingkungan berikut:
-
DATABRICKS_AUTH_TYPE:github-oidc -
DATABRICKS_HOST: URL ruang kerja Databricks Anda -
DATABRICKS_CLIENT_ID: ID perwakilan layanan (aplikasi)
name: GitHub Actions Demo
run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
on: workflow_dispatch
permissions:
id-token: write
contents: read
jobs:
my_script_using_wif:
runs-on: ubuntu-latest
environment: prod
env:
DATABRICKS_AUTH_TYPE: github-oidc
DATABRICKS_HOST: https://my-workspace.cloud.databricks.com/
DATABRICKS_CLIENT_ID: a1b2c3d4-ee42-1eet-1337-f00b44r
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Databricks CLI
uses: databricks/setup-cli@main
- name: Run Databricks CLI commands
run: databricks current-user me