Aller au contenu principal

Configurer le provisionnement SCIM au niveau du Workspace à l'aide d'Okta (hérité)

important

Cette documentation a été retirée et pourrait ne pas être mise à jour. Le provisionnement SCIM au niveau du workspace est hérité. Databricks vous recommande d’utiliser le provisionnement SCIM au niveau du compte ; consultez Synchroniser les utilisateurs et les groupes à partir de votre fournisseur d’identité à l’aide de SCIM.

info

Aperçu

Cette fonctionnalité est en aperçu public.

Cette section décrit comment configurer le provisionnement d'Okta directement vers les espaces de travail Databricks.

Obtenez le jeton API et l'URL SCIM dans Databricks

  1. En tant qu'administrateur de Workspace Databricks, générez un jeton d'accès personnel. Voir la gestion des jetons. Stockez le jeton d'accès personnel dans un emplacement sécurisé.
important

L’utilisateur qui possède ce jeton d’accès personnel ne doit pas être géré au sein d’Okta. Dans le cas contraire, la suppression de l'utilisateur d'Okta perturberait l'intégration SCIM.

  1. Notez l'URL suivante, qui est requise pour la configuration d'Okta :

    https://<databricks-instance>/api/2.0/preview/scim/v2

    Remplacez <databricks-instance> par l'URL du workspace de votre déploiement Databricks. Consultez Obtenir les identifiants des objets du workspace.

Gardez cet browser tab ouvert.

Configurez le provisionnement SCIM dans l'application SAML Databricks dans Okta

  1. Accédez à **Applications** et cliquez sur **Databricks**.

  2. Click provisionnement . Saisissez les informations suivantes obtenues dans la section ci-dessus :

    • URL de base de provisionnement : l'endpoint de provisionnement
    • Jeton d'API de provisionnement : le jeton d'accès personnel
  3. Cliquez sur Tester les identifiants API .

  4. Rechargez la tab **Provisionnement**. Des paramètres supplémentaires apparaissent après un test réussi des identifiants de l'API.

  5. Pour configurer le comportement lors de l'envoi des modifications Okta à Databricks, cliquez sur Vers l'application .

    • Dans Général , cliquez sur Modifier . Activez les fonctionnalités dont vous avez besoin. Databricks recommande d'activer Créer des utilisateurs au minimum.
    • Dans **Mappings d'attributs Databricks**, vérifiez vos Mappings d'attributs Databricks. Ces mappings dépendront des options que vous avez activées ci-dessus. Vous pouvez ajouter et modifier les mappings pour répondre à vos besoins. Voir Mapper les attributs d'application sur la page de Provisionnement dans la documentation Okta.
  6. Pour configurer le comportement lors de la transmission des modifications Databricks à Okta, cliquez sur **Vers Okta**. Les paramètres par default fonctionnent bien pour le provisionnement Databricks. Si vous souhaitez mettre à jour les paramètres default et les mappages d'attributs, consultez Provisionnement et déprovisionnement dans la documentation Okta.

Testez l'intégration

Pour tester la configuration, utilisez Okta pour inviter un utilisateur à votre workspace Databricks.

  1. Dans Okta, accédez à Applications et cliquez sur Databricks .
  2. Cliquez sur l’onglet Attribuer , puis sur Attribuer à des personnes .
  3. Recherchez un utilisateur Okta, puis cliquez sur Attribuer .
  4. Confirmez les détails de l'utilisateur. Cliquez sur **OK**.
  5. Dans la page des paramètres d'administration du Workspace Databricks, cliquez sur l’onglet Identité et accès , puis accédez à la section Utilisateurs et confirmez que l’utilisateur est ajouté. Au minimum, accordez à l'utilisateur le droit Workspace.

Après ce test simple, vous pouvez effectuer des Opérations en bloc, comme décrit dans les sections suivantes.

Supprimer un utilisateur désactivé du workspace.

Si vous supprimez un utilisateur de l'application Databricks au niveau du Workspace dans Okta, l'utilisateur est désactivé dans le Databricks Workspace mais n'est pas supprimé du Workspace. Un utilisateur désactivé n’a pas le droit workspace-access ou databricks-sql-access. La réactivation d’un utilisateur désactivé est réversible, soit en rajoutant l’utilisateur dans Okta, soit en utilisant directement l’API SCIM de Databricks. La suppression d'un utilisateur d'un Databricks Workspace perturbe et est irréversible.

important

Ne désactivez pas l'administrateur qui a configuré l'application de provisionnement SCIM Okta. Sinon, l'intégration SCIM ne peut pas s'authentifier auprès de Databricks.

Pour retirer un utilisateur d'un Workspace Databricks :

  1. Dans la page des paramètres d'administration, accédez à l' tab Utilisateurs.
  2. Cliquez sur le **x** à la fin de la ligne pour l'utilisateur.

Sachez que la suppression de l'utilisateur aura les conséquences suivantes :

  • Les applications ou scripts qui utilisent les jetons générés par l'utilisateur ne pourront plus accéder à l'API Databricks.
  • Les jobs appartenant à l’utilisateur échoueront.
  • Les clusters appartenant à l’utilisateur s’arrêteront.
  • Les bibliothèques installées par cet utilisateur sont invalides et doivent être réinstallées.
  • Les queries ou tableaux de bord créés par l'utilisateur et partagés à l'aide de l'identifiant Exécuter en tant que propriétaire devront être attribués à un nouveau propriétaire pour éviter l'échec du partage.

Utiliser Okta pour gérer les administrateurs de workspace, les droits et les rôles IAM

Databricks prend en charge l’attribution des administrateurs de workspace, des rôles IAM et des autorisations de workspace à partir des applications Databricks au niveau du workspace dans Okta. L’attribution des rôles et des autorisations n’est pas prise en charge à partir de l’application Databricks au niveau du compte dans Okta. Si vous souhaitez attribuer des rôles IAM et des autorisations de workspace à partir d’Okta, vous devez créer une application Databricks au niveau du workspace dans Okta pour ce workspace.

Databricks recommande d'utiliser plutôt une application Databricks au niveau du compte dans Okta pour provisionner les utilisateurs, les Service Principal et les groupes au niveau du compte. Vous attribuez des utilisateurs et des groupes aux Workspace à l'aide de la fédération d'identité et gérez leurs autorisations et leurs rôles IAM au sein de Databricks.

Synchroniser les administrateurs de Workspace

Databricks prend en charge l'attribution du rôle d'administrateur de Workspace à partir de l'application Databricks au niveau du Workspace dans Okta. Les administrateurs du workspace sont membres du groupe Databricks admins. Les groupes Databricks sont automatiquement transférés vers Okta. Pour ajouter un nouvel utilisateur administrateur dans Okta, ajoutez cet utilisateur au groupe admins.

important

Ne supprimez pas l'administrateur qui a configuré l'application de provisionnement Okta SCIM, et ne le supprimez pas du groupe admins. Sinon, l'intégration SCIM ne peut pas s'authentifier auprès de Databricks.

Affecter les droits du Workspace depuis Okta

Databricks prend en charge l'attribution de droits à partir de l'application Databricks au niveau du workspace dans Okta. Cependant, dans la plupart des cas, Databricks vous recommande de gérer les droits depuis Databricks. Dans Databricks, vous pouvez facilement attribuer ou révoquer un droit. La configuration des mappages dans Okta est complexe, et vous devez configurer deux mappages pour chaque droit.

Cette section décrit comment configurer les mappages pour accorder le droit databricks-sql-access à un utilisateur Okta.

important

default, les utilisateurs Databricks héritent des droits workspace-access et databricks-sql-access. Par default, les utilisateurs administrateurs Databricks héritent du droit create-cluster. Vous n'avez pas besoin d'attribuer ces droits hérités d'Okta.

Pour révoquer un droit hérité d'un utilisateur, supprimez l'utilisateur du groupe ou supprimez le droit du groupe. Pour supprimer un droit, vous devez utiliser la console d'administration Databricks.

Pour attribuer le droit databricks-sql-access :

  1. Dans la console d'administration Okta, accédez à **Répertoire > Éditeur de profil**.

  2. Cliquez sur le bouton de modification du **profil** pour le profil utilisateur Okta.

  3. Cliquez sur le bouton + Add Attribute pour ajouter un rôle.

  4. Dans la boîte de dialogue Ajouter un attribut, définissez le Nom d'affichage sur Databricks SQL et le Nom de la variable sur databricks_sql.

remarque

Les variables Okta ne peuvent pas contenir le caractère (-).

  1. Retournez à l'éditeur de profil et cliquez sur le bouton de modification Profil pour le profil utilisateur de l'application de provisionnement Databricks.

  2. Cliquez sur le bouton + Add Attribute pour ajouter un rôle.

  3. Dans la boîte de dialogue Ajouter un attribut, attribuez les valeurs suivantes à l'attribut de rôle :

    • Nom d'affichage : Databricks SQL
    • Nom de la variable : databricks_sql
    • External Name au format entitlements.^[type=='$TYPE'].value. $TYPE est le nom d'API de l'autorisation sans tirets (-). Par exemple, le nom externe pour databricks-sql-access est entitlements.^[type=='databrickssqlaccess'].value.
important

Dans le format de nom externe, vous devez utiliser des caractères apostrophes ('). Si vous utilisez des guillemets courbes ('), une erreur Request is unparseable se produit.

  • **Espace de noms externe**urn:ietf:params:scim:schemas:core:2.0:User:.

ajouter l&#39;attribut de rôle Databricks 8. Retournez à l'éditeur de profil et cliquez sur le bouton de modification Mappings pour le profil utilisateur de l'application de provisionnement Databricks.

  1. Pour Databricks vers Okta , mappez appuser.databricks_sql dans la colonne Databricks à databricks_sql dans la colonne Okta.

  2. Pour **Okta vers Databricks**, faites correspondre user.databricks_sql dans la colonne Databricks à databricks_sql dans la colonne Okta.

  3. Cliquez sur Enregistrer les mappages .

  4. Pour ajouter une valeur d'attribution à un utilisateur, accédez à Répertoire > Personnes , sélectionnez un utilisateur, puis accédez à l'onglet Profil sur la page utilisateur.

    Cliquez sur le bouton **Modifier**. Dans le champ du droit, saisissez le nom de l'API du droit sans tirets, tel que databrickssqlaccess. Lorsque vous attribuez l'utilisateur à l'application, le rôle est renseigné avec la valeur que vous avez saisie.

Répétez cette procédure pour attribuer des droits supplémentaires.

Attribuer des rôles IAM à partir d’Okta

Pour attribuer des rôles IAM aux utilisateurs d'Okta, vous devez créer un attribut à valeurs multiples dans le profil utilisateur Okta et le profil de l'application de provisionnement Databricks Okta, puis mapper ces attributs aux attributs de l'API SCIM Databricks. Par exemple, si vous souhaitez attribuer deux rôles IAM à un utilisateur, vous devez créer deux attributs dans l'application de provisionnement Databricks et mapper un attribut d'utilisateur Okta à chacun.

Databricks recommande de gérer les attributions de rôles IAM depuis Databricks. Dans Databricks, vous pouvez facilement attribuer ou révoquer un rôle IAM. La configuration des mappages dans Okta est complexe, et vous devez configurer des mappages séparés pour chaque rôle IAM.

Les instructions suivantes attribuent l’attribut primary_role.

  1. Dans la console d'administration Okta, accédez à **Répertoire > Éditeur de profil**.

  2. Cliquez sur le bouton de modification du **profil** pour le profil utilisateur Okta.

  3. Cliquez sur le bouton + Add Attribute pour ajouter un rôle.

  4. Dans la boîte de dialogue Ajouter un attribut, définissez Nom d'affichage sur Primary role et Nom de la variable sur primary_role.

    ajouter un attribut de rôle Okta

  5. Retournez à l'éditeur de profil et cliquez sur le bouton de modification Profil pour le profil utilisateur de l'application de provisionnement Databricks.

  6. Cliquez sur le bouton + Add Attribute pour ajouter un rôle.

  7. Dans la boîte de dialogue Ajouter un attribut, attribuez les valeurs suivantes à l'attribut de rôle :

    Nom d'affichage : Primary role

    Nom de la variable : primary_role

    Nom externe au format roles.^[type=='$TYPE'].value, où $TYPE est une chaîne décrivant le rôle ; dans ce cas, si $TYPE était primary, le nom externe serait roles.^[type=='primary'].value.

important

Dans le format de nom externe, vous devez utiliser des caractères apostrophes ('). Si vous utilisez des guillemets courbes ('), une erreur Request is unparseable se produit.

**Espace de noms externe**urn:ietf:params:scim:schemas:core:2.0:User:.

ajouter l&#39;attribut de rôle Databricks 8. Retournez à l'éditeur de profil et cliquez sur le bouton de modification Mappings pour le profil utilisateur de l'application de provisionnement Databricks.

  1. Pour Databricks vers Okta , mappez appuser.primary_role dans la colonne Databricks à primary_role dans la colonne Okta.

  2. Pour **Okta vers Databricks**, faites correspondre user.primary_role dans la colonne Databricks à primary_role dans la colonne Okta.

  3. Cliquez sur Enregistrer les mappages .

  4. Pour ajouter une valeur d'attribut de rôle à un utilisateur, accédez à Directory > People , sélectionnez un utilisateur, puis accédez à l'onglet Profile dans la page utilisateur.

    Cliquez sur le bouton Modifier pour saisir une valeur de rôle principal pour l'utilisateur. Lorsque vous attribuez l'utilisateur à l'application, le rôle est renseigné avec la valeur que vous avez saisie.

Répétez cette procédure pour attribuer des rôles supplémentaires.