Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Federace tokenů OAuth Databricks, označovaná také jako OpenID Connect (OIDC), umožňuje automatizovaným úlohám spuštěným mimo Databricks zabezpečený přístup k Databricks bez tajných kódů Databricks. Viz Ověřování přístupu k Azure Databricks pomocí federace tokenů OAuth.
Pro umožnění federace pracovních identit pro GitHub Actions:
Jakmile povolíte federaci identit úloh, sady SDK Databricks a rozhraní příkazového řádku Databricks automaticky načítají tokeny identity úloh z GitHubu a vyměňují je za tokeny OAuth Databricks.
Vytvořit zásady federace
Nejprve vytvořte zásady federace identit úloh. Pokyny najdete v tématu Konfigurace zásad federace pro hlavní službu. Pro GitHub nastavte pro zásadu následující hodnoty:
-
Organizace: Název vaší organizace na GitHubu Pokud je například adresa URL vašeho úložiště
https://github.com/databricks-inc/data-platform, pak je organizacedatabricks-inc. -
Skladiště: Název jednoho úložiště, které se má povolit, například
data-platform. -
Typ entity: Druh entity GitHubu reprezentovaný v
subdeklaraci (předmětu) vašeho tokenu. Výchozí hodnota je Branch. Databricks doporučuje používat Environment, které můžete povolit nastavením atributuenvironmentv souboru YAML GitHub Actions. Viz Nasazení do konkrétního prostředí. -
Adresa URL vystavitele:
https://token.actions.githubusercontent.com - Předmět: Řetězec vytvořený zřetězením hodnot z kontextu úlohy GitHub Actions
- Publika: Databricks doporučuje toto nastavení na ID vašeho účtu Azure Databricks. Pokud ho vynecháte, použije se ve výchozím nastavení ID účtu.
-
Deklarace identity subjektu: (Volitelné) Deklarace identity JWT, která obsahuje hodnotu identity (
sub) úlohy z tokenu OIDC. U GitHubu ponechte pole jakosub, které kóduje úložiště, větev, značku, žádost o přijetí změn nebo sloučení nebo prostředí, které aktivovalo pracovní postup. Pokud chcete provést ověření jako opakovaně použitelný pracovní postup místo volajícího úložiště, přečtěte si téma Ověření pomocí opakovaně použitelného pracovního postupu.
Například následující příkaz Databricks CLI vytvoří zásadu federace pro organizaci, která má název my-org a numerické ID servisního principálu 5581763342009999 služby Databricks:
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"
}
}'
Konfigurujte soubor YAML GitHub Actions
Dále nakonfigurujte soubor YAML GitHub Actions. Nastavte následující proměnné prostředí:
-
DATABRICKS_AUTH_TYPE:github-oidc -
DATABRICKS_HOST: Adresa URL pracovního prostoru Databricks -
DATABRICKS_CLIENT_ID: ID servisního principálu (aplikace)
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
Ověření pomocí opakovaně použitelného pracovního postupu
Ve výchozím nastavení sub deklarace identifikuje volající úložiště. Pokud chcete provést ověření jako opakovaně použitelný pracovní postup místo volajícího úložiště, nastavte subject_claim na job_workflow_ref v zásadách federace. Každý tým může vyvolat opakovaně použitelný pracovní postup, ale pouze opakovaně použitelný pracovní postup se ověřuje pomocí Databricks.
Vytvořit zásady federace
Vytvořte zásadu federace, která se používá job_workflow_ref jako deklarace identity subjektu. Nastavte subject jako referenci na opakovaně použitelný soubor pracovního postupu:
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"
}
}'
Konfigurujte soubory YAML GitHub Actions
Vytvořte opakovaně použitelný pracovní postup, který se ověřuje pomocí Azure Databricks, a volající pracovní postup v libovolném úložišti, které ho vyvolá.
Následující příklad ukazuje opakovaně použitelný soubor pracovního postupu (.github/workflows/deploy.yml v úložišti sdílených pracovních postupů):
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
Následující příklad ukazuje volající pracovní postup v libovolném úložišti, které používá opakovaně použitelný pracovní postup:
on: workflow_dispatch
permissions:
id-token: write
contents: read
jobs:
call-deploy:
uses: my-github-org/shared-workflows/.github/workflows/deploy.yml@main
Note
Nastavte permissions: id-token: write pro volající pracovní postup, nikoli opakovaně použitelný pracovní postup. GitHub do tokenu OIDC zahrne pouze deklaraci identity job_workflow_ref při udělení id-token: write volajícího pracovního postupu.