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 Azure DevOps-pipelines:
När du har aktiverat arbetsbelastningsidentitetsfederation hämtar Databricks SDK:er och Databricks CLI automatiskt arbetsbelastningsidentitetstoken från Azure DevOps-pipelines och utbyter dem mot Databricks OAuth-token.
Skapa en federationsprincip
Skapa först en anpassad identitetsfederationsprincip för arbetsbelastning. Anvisningar finns i Konfigurera en federationsprincip för tjänstens huvudnamn. För Azure DevOps anger du följande värden för principen:
-
Utfärdar-URL:
https://vstoken.dev.azure.com/<org_id>, där<org-id>är GUID för din Azure DevOps-organisation -
Publik:
api://AzureADTokenExchange -
Subjekt:
p://<org-name>/<project-name>/<pipeline-name>var<org-name>är ditt Azure DevOps-organisationsnamn,<project-name>är ditt Azure DevOps-projektnamn och<pipeline-name>är namnet på din Azure DevOps-pipeline
Följande Databricks CLI-kommando skapar till exempel en federationsprincip för ett organisations-ID 7f1078d6-b20d-4a20-9d88-05a2f0d645a3 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://vstoken.dev.azure.com/7f1078d6-b20d-4a20-9d88-05a2f0d645a3",
"audiences": [
"api://AzureADTokenExchange"
],
"subject": "p://my-org/my-project/my-pipeline"
}
}
'
Konfigurera Azure DevOps Pipeline YAML
Konfigurera sedan YAML-filen för Azure DevOps-pipelinen. Ange följande miljövariabler:
-
DATABRICKS_AUTH_TYPE:azure-devops-oidc -
DATABRICKS_HOST: Url för Din Databricks-arbetsyta -
DATABRICKS_CLIENT_ID: Tjänstens huvudnamn (program)-ID -
SYSTEM_ACCESSTOKEN: Mappa$(System.AccessToken)pipelinevariabeln till den här miljövariabeln
trigger: none
pool: test # my self-hosted pool name
variables:
DATABRICKS_HOST: https://my-workspace.cloud.databricks.com/
DATABRICKS_AUTH_TYPE: azure-devops-oidc
DATABRICKS_CLIENT_ID: a1b2c3d4-ee42-1eet-1337-f00b44r
steps:
- script: |
databricks current-user me
displayName: 'Display Databricks current user information'
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)