Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met Databricks OAuth-tokenfederatie, ook wel bekend als OpenID Connect (OIDC), kunnen uw geautomatiseerde workloads die buiten Databricks worden uitgevoerd, veilig toegang krijgen tot Databricks zonder dat Databricks-geheimen nodig zijn. Zie Verificatietoegang tot Azure Databricks met behulp van OAuth-tokenfederatie.
Workload-identiteitsfederatie inschakelen voor GitLab CI/CD:
Nadat u workloadidentiteitsfederatie hebt ingeschakeld, halen de Databricks SDK's en de Databricks CLI automatisch workloadidentiteitstokens op uit GitLab CI/CD en wisselen ze uit voor Databricks OAuth-tokens.
Een federatiebeleid maken
Maak eerst een federatiebeleid voor workloadidentiteiten. Zie Een federatiebeleid voor de service-principal configureren voor instructies. Stel voor GitLab CI/CD de volgende waarden in:
-
Groep: De naam van uw GitLab-groep. Als uw project-URL bijvoorbeeld is, is
https://gitlab.com/databricks-inc/data-platformdatabricks-incde groep . -
Project: De naam van het enkele GitLab-project dat moet worden toegestaan, zoals
data-platform. -
Verwijzingstype: Het type Git-verwijzing dat wordt weergegeven in de
subclaim (onderwerp) van uw token. Dit kan een vertakkings-, tag- of samenvoegaanvraag zijn. - URL van verlener: De URL van het GitLab-exemplaar waarmee het OIDC-token wordt opgegeven.
- Onderwerp: Een samenvoeging van waarden uit de taakcontext.
-
Publiek: De verwachte
audwaarde in het OIDC-token. Configureer dit in het blok vanid_tokens:uw taak. Databricks raadt u aan deze in te stellen op uw Azure Databricks-account-id. -
Onderwerpclaim: (Optioneel) De JWT-claim die de waarde van de workloadidentiteit (
sub) van het OIDC-token bevat. Laat voor GitLab het veld staan,subwaarmee het project, de vertakking, tag of samenvoegingsaanvraag die de pijplijn heeft geactiveerd, worden gecodeerd.
Met de volgende Databricks CLI-opdracht maakt u bijvoorbeeld een federatiebeleid voor een numerieke id van een Databricks-service-principal van 5581763342009999:
databricks account service-principal-federation-policy create 5581763342009999 --json '{
"oidc_policy": {
"issuer": "https://gitlab.com/example-group",
"audiences": [
"a2222dd9-33f6-455z-8888-999fbbd77900"
],
"subject": "project_path:my-group/my-project:..."
}
}'
Het YAML-bestand van GitLab configureren
Wijzig vervolgens het GitLab-configuratiebestand. Ga naar <databricks-account-id> uw Azure Databricks-account-id.
Sla naast het instellen van de volgende omgevingsvariabelen voor de werkruimte het token op in de DATABRICKS_OIDC_TOKEN Omgevingsvariabele van Azure Databricks. U kunt ook een aangepaste omgevingsvariabele gebruiken en instellen DATABRICKS_OIDC_TOKEN_ENV.
-
DATABRICKS_AUTH_TYPE:env-oidc -
DATABRICKS_HOST: De URL van uw Databricks-werkruimte -
DATABRICKS_CLIENT_ID: De id van de service-principal (toepassing)
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