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 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. Format yang dibutuhkan tergantung pada claim GitHub
subrepositori Anda. Lihat catatan berikut. - 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. Untuk mengautentikasi sebagai alur kerja yang dapat digunakan kembali daripada repositori panggilan, lihat Mengautentikasi menggunakan alur kerja yang dapat digunakan kembali.
Nota
Azure Databricks mencocokkan Subjek dengan klaim token sub secara tepat, dan format sub GitHub bergantung pada kapan repositori dibuat. Repositori yang dibuat, diganti nama, atau ditransfer pada atau setelah 15 Juli 2026 mencakup ID organisasi numerik dan repositori, seperti repo:octo-org@123456/octo-repo@456789:environment:prod. Repositori sebelumnya menggunakan repo:<org>/<repo>:environment:prod, kecuali jika repositori tersebut memilih untuk ikut menggunakan format immutable.
Untuk mengetahui nilai sub repositori Anda yang tepat, lihat Tentang penguatan keamanan dengan OpenID Connect. Format immutable tidak tersedia di GitHub Enterprise Server.
Sebagai contoh, perintah Databricks CLI berikut membuat kebijakan federasi untuk sebuah organisasi bernama my-org dan ID numerik service principal Databricks sebesar 5581763342009999. Subjek contoh menggunakan format name-only untuk repositori yang dibuat sebelum 15 Juli 2026:
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 prinsipal 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
Mengautentikasi menggunakan alur kerja yang dapat digunakan kembali
Secara default, sub klaim mengidentifikasi repositori panggilan. Untuk mengautentikasi sebagai alur kerja yang dapat digunakan kembali daripada repositori panggilan, atur subject_claim ke job_workflow_ref dalam kebijakan federasi. Setiap tim dapat memanggil alur kerja yang dapat digunakan kembali, tetapi hanya alur kerja yang dapat digunakan kembali yang diautentikasi dengan Databricks.
Membuat kebijakan federasi
Buat kebijakan federasi menggunakan job_workflow_ref sebagai klaim subjek. Atur subject ke ref file alur kerja yang dapat digunakan kembali:
databricks account service-principal-federation-policy create 5581763342009999 --json '{
"oidc_policy": {
"issuer": "https://token.actions.githubusercontent.com",
"audiences": [
"a2222dd9-33f6-455z-8888-999fbbd77900"
],
"subject": "my-github-org/shared-workflows/.github/workflows/deploy.yml@refs/heads/main",
"subject_claim": "job_workflow_ref"
}
}'
Mengonfigurasi file YAML GitHub Actions
Buat alur kerja yang dapat digunakan kembali yang mengautentikasi dengan Azure Databricks, dan alur kerja panggilan di repositori apa pun yang memanggilnya.
Contoh berikut menunjukkan file alur kerja yang dapat digunakan kembali (.github/workflows/deploy.yml di repositori alur kerja bersama):
on:
workflow_call:
jobs:
deploy:
runs-on: ubuntu-latest
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
Contoh berikut menunjukkan alur kerja panggilan di repositori apa pun yang menggunakan alur kerja yang dapat digunakan kembali:
on: workflow_dispatch
permissions:
id-token: write
contents: read
jobs:
call-deploy:
uses: my-github-org/shared-workflows/.github/workflows/deploy.yml@main
Nota
Atur permissions: id-token: write pada alur kerja panggilan, bukan alur kerja yang dapat digunakan kembali. GitHub hanya menyertakan klaim job_workflow_ref dalam token OIDC saat id-token: write diberikan pada alur kerja panggilan.