Megosztás:


Számítási feladatok identitás-összevonásának engedélyezése a GitHub Actionshez

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 a GitHub Actionshez:

  1. Szövetségi szabályzat létrehozása
  2. A GitHub Actions YAML-fájljának 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 a GitHubról, és kicserélik őket Databricks OAuth-jogkivonatokra.

Szövetségi politika létrehozása

Először hozzon létre egy 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. A GitHub esetében állítsa be a következő értékeket a szabályzathoz:

  • Szervezet: A Github-szervezet neve. Ha például az adattár URL-címe, https://github.com/databricks-inc/data-platformakkor a szervezet az databricks-inc.
  • Raktár: Az engedélyezendő egyetlen adattár neve, például data-platform.
  • Entitás típusa: A jogkivonat (tárgy) jogcímében sub képviselt GitHub-entitás típusa. Az alapértelmezett érték az Ág. A Databricks a Környezet használatát javasolja, amelyet a environment GitHub Actions YAML-fájljában lévő attribútum beállításával engedélyezheti. Lásd : Üzembe helyezés egy adott környezetben.
  • Kiállító URL-címe:https://token.actions.githubusercontent.com
  • Tárgy: A GitHub Actions-feladatkörnyezet értékeinek összefűzésével létrehozott sztring.
  • Közönség: A Databricks azt javasolja, hogy állítsa be ezt az Azure Databricks-fiókazonosítóra. Ha nincs megadva, a rendszer alapértelmezés szerint a fiókazonosítót használja.
  • Tulajdonosi jogcím: (Nem kötelező) Az OIDC-jogkivonat számítási feladatidentitását (sub) tartalmazó JWT-jogcím. A GitHub esetében hagyja meg a mezőt a munkafolyamatot aktiváló adattárat, ágat, címkét, lekéréses/egyesítési kérelmet vagy környezetet kódoló mezőként sub.

A következő Databricks CLI-parancs például egy összevonási szabályzatot hoz létre egy nevesített my-org szervezet számára, és egy Databricks-szolgáltatásnév numerikus azonosítóját 5581763342009999:

databricks account service-principal-federation-policy create 5581763342009999 --json '{
  "oidc_policy": {
	"issuer": "https://token.actions.githubusercontent.com",
	"audiences": [
  	  "a2222dd9-33f6-455z-8888-999fbbd77900"
	],
	"subject": "repo:my-github-org/my-repo:environment:prod"
  }
}'

A GitHub Actions YAML-fájljának konfigurálása

Ezután konfigurálja a GitHub Actions YAML-fájlt. Állítsa be a következő környezeti változókat:

  • DATABRICKS_AUTH_TYPE: github-oidc
  • DATABRICKS_HOST: A Databricks-munkaterület URL-címe
  • DATABRICKS_CLIENT_ID: A szolgáltatásnév (alkalmazás) azonosítója
name: GitHub Actions Demo
run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
on: workflow_dispatch

permissions:
  id-token: write
  contents: read

jobs:
  my_script_using_wif:
    runs-on: ubuntu-latest
    environment: prod
    env:
      DATABRICKS_AUTH_TYPE: github-oidc
      DATABRICKS_HOST: https://my-workspace.cloud.databricks.com/
      DATABRICKS_CLIENT_ID: a1b2c3d4-ee42-1eet-1337-f00b44r

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Install Databricks CLI
        uses: databricks/setup-cli@main

      - name: Run Databricks CLI commands
        run: databricks current-user me