Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Databricks OAuth-tokenfederation, även kallat OpenID Connect (OIDC), gör att dina automatiserade arbetsbelastningar som körs utanför Databricks på ett säkert sätt kan komma åt Databricks utan att databricks-hemligheter behövs. Se Autentisera åtkomst till Azure Databricks med hjälp av OAuth-tokenfederation.
Så här aktiverar du arbetsbelastningsidentitetsfederation för GitHub Actions:
När du har aktiverat arbetsbelastningsidentitetsfederation hämtar Databricks SDK:er och Databricks CLI automatiskt arbetsbelastningsidentitetstoken från GitHub och utbyter dem mot Databricks OAuth-token.
Skapa en federationsprincip
Skapa först en princip för arbetsbelastningsidentitetsfederation. Anvisningar finns i Konfigurera en federationsprincip för tjänstens huvudnamn. För GitHub anger du följande värden för principen:
-
Organisation: Namnet på din Github-organisation. Om din lagringsplats-URL till exempel är
https://github.com/databricks-inc/data-platformärdatabricks-incorganisationen . -
Databasen: Namnet på den enda lagringsplats som ska tillåtas, till exempel
data-platform. -
Entitetstyp: Den typ av GitHub-entitet som representeras i anspråket
sub(ämne) för din token. Standardvärdet är Gren. Databricks rekommenderar att du använder Miljö, som du kan aktivera genom att angeenvironmentattributet i YAML-filen för GitHub Actions. Se Distribuera till en specifik miljö. -
Utfärdar-URL:
https://token.actions.githubusercontent.com - Subjekt: En sträng som bildas genom att sammanfoga värden från GitHub Actions-jobbkontexten.
- Publik: Databricks rekommenderar att du ställer in detta på ditt Azure Databricks-konto-ID. Om det utelämnas används konto-ID:t som standard.
-
Ämnesanspråk: (valfritt) JWT-anspråket som innehåller värdet för arbetsbelastningsidentiteten (
sub) från OIDC-token. För GitHub lämnar du fältet somsub, som kodar lagringsplatsen, grenen, taggen, pull/merge-begäran eller miljön som utlöste arbetsflödet.
Följande Databricks CLI-kommando skapar till exempel en federationsprincip för en organisation med namnet my-org och ett numeriskt ID för Databricks-tjänstens huvudnamn för 5581763342009999:
databricks account service-principal-federation-policy create 5581763342009999 --json '{
"oidc_policy": {
"issuer": "https://token.actions.githubusercontent.com",
"audiences": [
"https://github.com/my-org"
],
"subject": "repo:my-github-org/my-repo:environment:prod"
}
}'
Konfigurera YAML-filen för GitHub Actions
Konfigurera sedan YAML-filen GitHub Actions. Ange följande miljövariabler:
-
DATABRICKS_AUTH_TYPE:github-oidc -
DATABRICKS_HOST: Url för Din Databricks-arbetsyta -
DATABRICKS_CLIENT_ID: Tjänstens huvudnamn (program)-ID
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