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 GitLab CI/CD:
När du har aktiverat arbetsbelastningsidentitetsfederation hämtar Databricks SDK:er och Databricks CLI automatiskt arbetsbelastningsidentitetstoken från GitLab CI/CD 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 GitLab CI/CD anger du följande värden:
-
Grupp: Namnet på din GitLab-grupp. Om din projekt-URL till exempel är
https://gitlab.com/databricks-inc/data-platformärdatabricks-incgruppen . -
Projekt: Namnet på det enda GitLab-projekt som ska tillåtas, till exempel
data-platform. -
Referenstyp: Den typ av Git-referens som representeras i anspråket
sub(ämne) för din token. Det kan vara en förgrenings-, tagg- eller sammanslagningsbegäran. - Utfärdar-URL: Url:en för GitLab-instansen som utfärdar OIDC-token.
- Subjekt: En sammanlänkning av värden som hämtats från jobbkontexten.
-
Publik: Det förväntade
audvärdet i OIDC-token. Konfigurera detta i jobbetsid_tokens:block. Databricks rekommenderar att du anger det till ditt Azure Databricks-konto-ID. -
Ämnesanspråk: (valfritt) JWT-anspråket som innehåller värdet för arbetsbelastningsidentiteten (
sub) från OIDC-token. För GitLab lämnar du fältet somsub, som kodar den projekt-, gren-, tagg- eller sammanslagningsbegäran som utlöste pipelinen.
Följande Databricks CLI-kommando skapar till exempel en federationsprincip för ett numeriskt ID 5581763342009999för Databricks-tjänstens huvudnamn för :
databricks account service-principal-federation-policy create 5581763342009999 --json '{
"oidc_policy": {
"issuer": "https://gitlab.com/example-group",
"audiences": [
"https://gitlab.com/example-group"
],
"subject": "project_path:my-group/my-project:..."
}
}'
Konfigurera GitLab YAML-filen
Ändra sedan GitLab-konfigurationsfilen. Ändra <databricks-account-id> till ditt Azure Databricks-konto-ID.
Förutom att ange följande miljövariabler för arbetsytor lagrar du token i DATABRICKS_OIDC_TOKEN miljövariabeln Azure Databricks. Du kan också använda en anpassad miljövariabel och ange DATABRICKS_OIDC_TOKEN_ENV.
-
DATABRICKS_AUTH_TYPE:env-oidc -
DATABRICKS_HOST: Url för Din Databricks-arbetsyta -
DATABRICKS_CLIENT_ID: Tjänstens huvudnamn (program)-ID
spec:
inputs:
# Specify your Databricks account ID, workspace hostname, and service principal OAuth client ID.
databricks-account-id:
databricks-host:
databricks-client-id:
# See https://docs.gitlab.com/ci/inputs/#define-input-parameters-with-specinputs for more on pipeline input variables.
---
stages:
- my_script_using_wif
variables:
DATABRICKS_AUTH_TYPE: env-oidc
DATABRICKS_HOST: $[[ inputs.databricks-host ]]
DATABRICKS_CLIENT_ID: $[[ inputs.databricks-client-id ]]
my_script_using_wif:
id_tokens:
DATABRICKS_OIDC_TOKEN:
aud: $[[ inputs.databricks-account-id ]]
stage: my_script_using_wif
image: ubuntu:latest
before_script:
- apt-get update -y
- apt-get install -y curl unzip
- curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
script:
- databricks current-user me