Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
OpenID Connect (OIDC) olarak da bilinen Databricks OAuth belirteci federasyonu, Databricks dışında çalışan otomatik iş yüklerinizin Databricks gizli dizileri olmadan Databricks'e güvenli bir şekilde erişmesini sağlar. Bkz . OAuth belirteci federasyonu kullanarak Azure Databricks'e erişimin kimliğini doğrulama.
GitHub Actions için iş yükü kimlik federasyonu etkinleştirmek için:
İş yükü kimlik federasyonu etkinleştirildikten sonra Databricks SDK'ları ve Databricks CLI, GitHub'dan iş yükü kimlik belirteçlerini otomatik olarak getirir ve Bunları Databricks OAuth belirteçleri ile değiştirir.
Federasyon ilkesi oluşturma
İlk olarak bir iş yükü kimliği federasyon politikası oluşturun. Yönergeler için bkz. Hizmet sorumlusu federasyon ilkesi yapılandırma. GitHub için ilke için aşağıdaki değerleri ayarlayın:
-
Organizasyon: GitHub organizasyonunuzun adı. Örneğin, depo URL'niz
https://github.com/databricks-inc/data-platformise, kuruluşdatabricks-incolacaktır. -
Depo: İzin vermek için tek deponun adı, örneğin
data-platform. -
Varlık türü: Belirtecinizin (konu) talebinde temsil edilen
subGitHub varlığı türü. Varsayılan değer Branch'tir. Databricks, GitHub Actions YAML dosyanıza özniteliğini ayarlayarakenvironment'i etkinleştirmenizi önerir. Bkz. Belirli bir ortama dağıtma. -
Veren URL'si:
https://token.actions.githubusercontent.com -
Konu: GitHub Actions iş bağlamından değerleri birleştirerek oluşturulan bir dize. Gerekli format, deponuzun GitHub
subtalebine bağlıdır. Aşağıdaki nota bakın. - Hedef Kitle: Databricks, bunu Azure Databricks hesap kimliğinize ayarlamanızı önerir. Atlanırsa, hesap kimliği varsayılan olarak kullanılır.
-
Konu talebi: (İsteğe bağlı) OIDC belirtecinden iş yükü kimliği (
sub) değerini içeren JWT talebi. GitHub için alanı, iş akışını tetikleyen depoyu, dalı, etiketi, çekme/birleştirme isteğini veya ortamı kodlayansubolarak bırakın. Çağrı deposu yerine yeniden kullanılabilir bir iş akışı olarak kimlik doğrulaması yapmak için bkz. Yeniden kullanılabilir bir iş akışı kullanarak kimlik doğrulaması.
Note
Azure Databricks, Subject'i token'ın sub claim'iyle tam olarak eşleştirir ve GitHub'un sub formatı, deponun ne zaman oluşturulduğuna bağlıdır. 15 Temmuz 2026 veya sonrasında oluşturulan, yeniden adlandırılan veya aktarılan depolar, sayısal organizasyon ve depo kimliklerini içerir; örneğin repo:octo-org@123456/octo-repo@456789:environment:prod. Önceki depolar, değişmez biçimi özellikle seçmedikçe repo:<org>/<repo>:environment:prod kullanır.
deponuzun tam sub değerini bulmak için OpenID Connect ile güvenlik sağlamlaştırma hakkında bölümüne bakın. Değişmez format GitHub Enterprise Server'da mevcut değildir.
Örneğin, aşağıdaki Databricks CLI komutu, my-org adlı bir kuruluş için ve 5581763342009999 sayısal kimliğine sahip bir Databricks hizmet sorumlusu için bir federasyon politikası oluşturur. Örnek konu, 15 Temmuz 2026'dan önce oluşturulan bir depo için yalnızca ad biçimini kullanır:
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"
}
}'
GitHub Actions YAML dosyasını yapılandırma
Ardından GitHub Actions YAML dosyasını yapılandırın. Aşağıdaki ortam değişkenlerini ayarlayın:
-
DATABRICKS_AUTH_TYPE:github-oidc -
DATABRICKS_HOST: Databricks çalışma alanı URL'niz -
DATABRICKS_CLIENT_ID: Hizmet sorumlusu (uygulama) kimliği
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
Yeniden kullanılabilir bir iş akışı kullanarak kimlik doğrulayın
Varsayılan olarak, sub beyanı çağrı deposunu tanımlar. Çağrı deposu yerine yeniden kullanılabilir bir iş akışı olarak kimlik doğrulaması yapmak için federasyon ilkesinde subject_claim değerini job_workflow_ref olarak ayarlayın. Tüm ekipler yeniden kullanılabilir iş akışını çağırabilir, ancak yalnızca yeniden kullanılabilir iş akışının kendisi Databricks ile kimlik doğrulaması yapar.
Federasyon ilkesi oluşturma
job_workflow_ref'yi konu iddiası olarak kullanarak bir federasyon ilkesi oluşturun. Yeniden kullanılabilir iş akışı dosyanızın referansını subject olarak ayarlayın.
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"
}
}'
GITHUB ACTIONS YAML dosyalarını yapılandırma
Azure Databricks ile kimlik doğrulaması yapan yeniden kullanılabilir bir iş akışı ve herhangi bir depodaki iş akışını çağıran bir iş akışı oluşturun.
Aşağıdaki örnekte, yeniden kullanılabilir bir iş akışı dosyası gösterilmektedir (.github/workflows/deploy.yml paylaşılan iş akışları deposunda):
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
Aşağıdaki örnek, yeniden kullanılabilir iş akışını kullanan herhangi bir depoda iş akışının nasıl çağrıldığını gösterir.
on: workflow_dispatch
permissions:
id-token: write
contents: read
jobs:
call-deploy:
uses: my-github-org/shared-workflows/.github/workflows/deploy.yml@main
Note
permissions: id-token: write çağıran iş akışında ayarlayın, yeniden kullanılabilir iş akışında değil. GitHub yalnızca çağrı iş akışında job_workflow_ref verildiğinde OIDC belirtecine id-token: write talebini ekler.