Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La federazione dei token OAuth di Databricks, nota anche come OpenID Connect (OIDC), consente ai carichi di lavoro automatizzati in esecuzione all'esterno di Databricks di accedere in modo sicuro a Databricks senza la necessità di segreti di Databricks. Vedere Autenticare l'accesso ad Azure Databricks usando la federazione dei token OAuth.
Per abilitare la federazione delle identità del carico di lavoro per GitHub Actions:
Dopo aver abilitato la federazione dell'identità del carico di lavoro, gli SDK di Databricks e l'interfaccia della riga di comando di Databricks recuperano automaticamente i token di identità del carico di lavoro da GitHub e li scambiano per i token OAuth di Databricks.
Creare una politica di federazione
Creare prima di tutto un criterio di federazione dell'identità del carico di lavoro. Per istruzioni, vedere Configurare un criterio di federazione dell'entità servizio. Per GitHub, impostare i valori seguenti per i criteri:
-
Organizzazione: Nome dell'organizzazione Github. Ad esempio, se l'URL del repository è
https://github.com/databricks-inc/data-platform, l'organizzazione èdatabricks-inc. -
Deposito: Nome del singolo repository da consentire, ad esempio
data-platform. -
Tipo di entità: Tipo di entità GitHub rappresentata nell'attestazione
sub(oggetto) del token. Il valore predefinito è Branch. Databricks consiglia di usare Environment, che è possibile abilitare impostando l'attributoenvironmentnel file YAML di GitHub Actions. Vedere Distribuzione in un ambiente specifico. -
URL autorità di certificazione:
https://token.actions.githubusercontent.com - Oggetto: Stringa formata dalla concatenazione di valori dal contesto del processo gitHub Actions.
- Pubblico: Databricks consiglia di impostare questa opzione sull'ID dell'account Azure Databricks. Se omesso, l'ID account viene usato per impostazione predefinita.
-
Attestazione del soggetto: (facoltativo) Attestazione JWT che contiene il valore dell'identità del carico di lavoro (
sub) dal token OIDC. Per GitHub lasciare il campo comesub, che codifica il repository, il ramo, il tag, la richiesta pull/merge o l'ambiente che ha attivato il flusso di lavoro.
Ad esempio, il comando dell'interfaccia della riga di comando di Databricks seguente crea criteri di federazione per un'organizzazione denominata my-org e un ID numerico dell'entità servizio Databricks di 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"
}
}'
Configurare il file YAML di GitHub Actions
Configurare quindi il file YAML di GitHub Actions. Impostare le seguenti variabili di ambiente:
-
DATABRICKS_AUTH_TYPE:github-oidc -
DATABRICKS_HOST: URL dell'area di lavoro di Databricks -
DATABRICKS_CLIENT_ID: ID dell'entità servizio (applicazione)
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