Partager via


Activer la fédération des identités de charge de travail pour Terraform Cloud, Bitbucket Pipelines ou Jenkins

La fédération de jetons OAuth Databricks, également appelée OpenID Connect (OIDC), permet à vos charges de travail automatisées s’exécutant en dehors de Databricks d’accéder en toute sécurité à Databricks sans avoir besoin de secrets Databricks. Consultez Authentifier l’accès à Azure Databricks à l’aide de la fédération de jeton OAuth.

Pour activer la fédération des identités de charge de travail pour Terraform Cloud, Atlassian Bitbucket Pipelines ou Jenkins :

  1. Créer une stratégie de fédération
  2. Configurer le fournisseur d’identité

Après avoir activé la fédération des identités de charge de travail, les SDK Databricks et le CLI Databricks récupèrent automatiquement les jetons d'identité de charge de travail du fournisseur d'identité et les échangent contre des jetons OAuth Databricks.

Créer une stratégie de fédération

Tout d’abord, créez une stratégie de fédération d’identité de charge de travail personnalisée. Pour obtenir des instructions, consultez Configurer une stratégie de fédération de principal de service. Vous devez définir les valeurs suivantes :

  • URL de l’émetteur : En règle générale, l’URL du jeton du fournisseur
  • Public: En règle générale, un identificateur d’organisation
  • Objet: En règle générale, une valeur qui spécifie le contexte du travail ou du projet

Par exemple, la commande CLI Databricks suivante crée une stratégie de fédération pour une URL https://gitlab.com/example-group GitHub et un ID numérique numérique du principal de service Databricks :5581763342009999

databricks account service-principal-federation-policy create 5581763342009999 --json '{
  "oidc_policy": {
	"issuer": "https://gitlab.com/example-group",
	"audiences": [
  	  "https://gitlab.com/example-group"
	],
	"subject": "project_path:my-group/my-project:..."
  }
}'

Configurer le fournisseur d’identité

Ensuite, dans la configuration du fournisseur d'identité, définissez les variables d'environnement de jeton OIDC par défaut du fournisseur à celles de Databricks.

Jenkins

Pour activer la fédération des identités de charge de travail pour Jenkins, définissez le jeton dans DATABRICKS_OIDC_TOKEN. Vous pouvez également définir le jeton dans un fichier et configurer DATABRICKS_OIDC_TOKEN_FILEPATH pour qu'il pointe vers ce fichier.

Terraform Cloud

Pour activer la fédération des identités de charge de travail pour Terraform Cloud, définissez la DATABRICKS_OIDC_TOKEN_ENV variable d’environnement pour indiquer au Kit de développement logiciel (SDK) Databricks de rechercher le jeton dans TFC_WORKLOAD_IDENTITY_TOKEN.

DATABRICKS_OIDC_TOKEN_ENV = TFC_WORKLOAD_IDENTITY_TOKEN

Atlassian Bitbucket Pipelines

Pour activer la fédération des identités de charge de travail pour les pipelines Bitbucket, définissez la DATABRICKS_OIDC_TOKEN_ENV variable d’environnement pour indiquer au Kit de développement logiciel (SDK) Databricks de rechercher le jeton dans BITBUCKET_STEP_OIDC_TOKEN.

image: atlassian/default-image

pipelines:
  default:
    - step:
        oidc: true
        script:
          - export DATABRICKS_CLIENT_ID=a1b2c3d4-ee42-1eet-1337-f00b44r
          - export DATABRICKS_HOST=https://my-workspace.cloud.databricks.com/
          - export DATABRICKS_OIDC_TOKEN_ENV=BITBUCKET_STEP_OIDC_TOKEN
          - export DATABRICKS_AUTH_TYPE=env-oidc
          - curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
          - databricks --version
          - databricks current-user me