Megosztás:


Számítási feladatok identitás-összevonásának engedélyezése az Azure DevOps Pipelineshoz

A Databricks OAuth token szövetség, más néven OpenID Connect (OIDC), lehetővé teszi, hogy az a Databricksen kívüli automatizált munkafolyamatok biztonságosan hozzáférjenek a Databricks felületéhez, anélkül hogy szükség lenne Databricks titkokra. Lásd : Az Azure Databricks hozzáférésének hitelesítése OAuth-jogkivonat-összevonással.

A számítási feladatok identitás-összevonásának engedélyezése az Azure DevOps Pipelineshoz:

  1. Szövetségi szabályzat létrehozása
  2. Az Azure DevOps Pipeline YAML konfigurálása

A számítási feladatok identitás-összevonásának engedélyezése után a Databricks SDK-k és a Databricks CLI automatikusan lekéri a számítási feladatok identitási jogkivonatait az Azure DevOps Pipelinesból, és kicseréli őket Databricks OAuth-jogkivonatokra.

Szövetségi politika létrehozása

Először hozzon létre egy egyéni számítási feladat identitás-összevonási szabályzatát. Útmutatásért tekintse meg a szolgáltatásnév összevonási szabályzatának konfigurálását. Az Azure DevOps esetében állítsa be a következő értékeket a szabályzathoz:

  • Kiállító URL-címe:https://vstoken.dev.azure.com/<org_id>, ahol <org-id> az Azure DevOps-szervezet GUID azonosítója
  • Közönség:api://AzureADTokenExchange
  • Tárgy:p://<org-name>/<project-name>/<pipeline-name> az <org-name> Azure DevOps-szervezet neve, <project-name> az Azure DevOps-projekt neve és <pipeline-name> az Azure DevOps-folyamat neve

A következő Databricks CLI-parancs például egy összevonási szabályzatot hoz létre egy szervezeti azonosítóhoz 7f1078d6-b20d-4a20-9d88-05a2f0d645a3 és egy Databricks-szolgáltatásnév numerikus azonosítójához 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"
  }
}
'

Az Azure DevOps Pipeline YAML konfigurálása

Ezután konfigurálja az Azure DevOps Pipeline YAML-fájlját. Állítsa be a következő környezeti változókat:

  • DATABRICKS_AUTH_TYPE: azure-devops-oidc
  • DATABRICKS_HOST: A Databricks-munkaterület URL-címe
  • DATABRICKS_CLIENT_ID: A szolgáltatásnév (alkalmazás) azonosítója
  • SYSTEM_ACCESSTOKEN: A $(System.AccessToken) csővezeték változó leképezése erre a környezeti változóra
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)