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.
De workload-identiteitsfederatie activeren voor Azure DevOps Pipelines:
Nadat u workloadidentiteitsfederatie hebt ingeschakeld, halen de Databricks SDK's en de Databricks CLI automatisch workloadidentiteitstokens op uit Azure DevOps Pipelines en wisselen ze uit voor Databricks OAuth-tokens.
Een federatiebeleid maken
Maak eerst een aangepast federatiebeleid voor workloadidentiteit. Zie Een federatiebeleid voor de service-principal configureren voor instructies. Stel voor Azure DevOps de volgende waarden in voor het beleid:
-
URL van verlener:
https://vstoken.dev.azure.com/<org_id>, waar<org-id>is de GUID van uw Azure DevOps-organisatie -
Publiek:
api://AzureADTokenExchange -
Onderwerp:
p://<org-name>/<project-name>/<pipeline-name>waar<org-name>is de naam van uw Azure DevOps-organisatie,<project-name>is uw Azure DevOps-projectnaam en<pipeline-name>is dit de naam van uw Azure DevOps-pijplijn
Met de volgende Databricks CLI-opdracht maakt u bijvoorbeeld een federatiebeleid voor een organisatie-id 7f1078d6-b20d-4a20-9d88-05a2f0d645a3 en een numerieke id van een Databricks-service-principal van 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"
}
}
'
YAML voor Azure DevOps-pijplijn configureren
Configureer vervolgens het YAML-bestand van de Azure DevOps-pijplijn. Stel de volgende omgevingsvariabelen in:
-
DATABRICKS_AUTH_TYPE:azure-devops-oidc -
DATABRICKS_HOST: De URL van uw Databricks-werkruimte -
DATABRICKS_CLIENT_ID: De id van de service-principal (toepassing) -
SYSTEM_ACCESSTOKEN: De$(System.AccessToken)pipeline-variabele koppelen aan deze omgevingsvariabele
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)