Configurer Okta pour la gestion automatique des identités
Cette page décrit comment configurer Okta pour provisionner des utilisateurs et des groupes sur votre compte Databricks à l’aide de la gestion automatique des identités.
Avant de commencer
- Vous devez être un administrateur de compte dans Databricks.
- Vous devez disposer d'un accès administrateur Okta.
- Vous devez avoir Okta SSO configurée pour votre compte Databricks.
Étape 1 : configurer une application Okta
-
Dans la console d’administration Okta, accédez à Applications and Ressources > Applications .
-
Cliquez sur Create App Integration , sélectionnez API Services , puis sur Suivant .
-
Saisissez un nom pour l'intégration d'application, tel que « Databricks AIM », puis cliquez sur Enregistrer .
-
Sous l'onglet General , dans la section Public keys , cliquez sur "Add" pour ajouter une nouvelle clé publique.
-
Cliquez sur Generate new key .
-
Sous Private key – Copy this! , copiez la valeur JSON complète et conservez-la en lieu sûr. Vous utilisez cette valeur à l'étape 2 pour configurer Databricks. Ne copiez pas la clé publique ou la valeur PEM.
-
Une fois la clé de signature active, dans l’onglet General , accédez à la section Client Credentials . Pour Client authentication , remplacez Client secret par Public Key / Private Key .
-
Sous l'onglet General , dans la section General Settings , sous Proof of possession , décochez Require DPoP Header et cliquez sur Save .
-
Sous l'onglet Okta API Scopes , accordez les portées suivantes :
okta.groups.readokta.users.read
-
Sous l'onglet Admin Roles , attribuez le rôle Read-only Administrator à l'application.
Étape 2 : Configurer Okta dans Databricks
-
En tant qu'administrateur de compte, connectez-vous à la console du compte.
-
Dans la barre latérale, cliquez sur Sécurité .
-
Dans l’onglet Identity provider setup , sous Identity management , à côté de Automatic identity management , cliquez sur Configure .
-
Saisissez les valeurs suivantes :
- URL de l’organisation Okta : l’URL de votre organisation Okta (par exemple,
https://your-org.okta.com). Utilisez l'URL de l'organisation, et non l'URL de la console d'administration. L'URL ne doit pas contenir-admin. - ID client : L'ID client de l'application Okta que vous avez créée
- Client Private key : The complete private key JSON value that you generated and copied in Step 1
- URL de l’organisation Okta : l’URL de votre organisation Okta (par exemple,
-
Cliquez sur Tester la connexion pour vérifier que l’intégration est réussie.
-
Lorsque la connexion réussit, cliquez sur **Activer AIM**.
Résoudre les problèmes de connexion
JSON non valide
Le champ Client Private key nécessite la clé JWK privée complète au format JSON. Copiez la valeur entière sous Private key – Copy this! > JSON dans Okta. Ne collez pas la clé publique, une valeur PEM ou seulement une partie de l’objet JSON.
302 Found
Assurez-vous que l'URL d'organisation Okta ( Okta org URL ) contient l'URL de l'organisation Okta et non l'URL de la console d'administration. Supprimez -admin du hostname. Par exemple, utilisez https://your-org.okta.com et non https://your-org-admin.okta.com.
403 response from /api/v1/users
On the Okta app's Okta API Scopes tab, verify that the app has the okta.users.read scope.
403 response from /api/v1/groups
Vérifiez que l'application Okta dispose de la portée okta.groups.read et du rôle Read-only Administrator .
Problèmes connus et limitations
Identités dupliquées après l'activation de la gestion automatique des identités
Databricks fait correspondre les identités en comparant l'ID utilisateur ou l'ID de groupe Okta au champ externalId sur les utilisateurs et groupes Databricks existants. Si une identité existante n'a pas d'ID Okta défini comme externalId, la gestion automatique des identités crée une nouvelle entrée, ce qui entraîne des identités en double. Les deux entrées restent utilisables avec leurs autorisations existantes.
Si vous avez précédemment synchronisé des identités à l'aide de l'application Okta Databricks OIN, les valeurs utilisateur externalId sont généralement renseignées, mais les valeurs de groupe externalId ne le sont pas. Pour résoudre les doublons, utilisez l’API Utilisateurs de compte, Service Principal de compte ou Groupes de compte pour définir le externalId sur les objets existants à l’ID d’utilisateur ou de groupe Okta correspondant.
Connexion unique
Databricks recommande vivement d'activer la connexion unifiée afin que l'authentification unique (SSO) soit cohérente sur le compte et tous les Workspace. Sans connexion unifiée, la gestion automatique des identités peut fonctionner si l'authentification unique (SSO) au niveau du compte et du workspace utilisent le même fournisseur d'identité et mappent le même champ au nom d'utilisateur Databricks. Si l'authentification unique (SSO) du compte mappe le nom d'utilisateur du fournisseur d'identité tandis que l'authentification unique (SSO) du workspace mappe l'e-mail, et que le nom d'utilisateur et l'e-mail d'un utilisateur diffèrent, la connexion crée un deuxième utilisateur Databricks au lieu de faire correspondre celui qui existe déjà.
Databricks recommande également de configurer les revendications de groupe dans votre application Okta SSO afin que les groupes d'appartenance soient inclus dans le jeton OIDC.
Modifications de l'e-mail ou du nom d'utilisateur dans Okta
Lorsque la gestion automatique des identités est activée, elle provisionne un nouvel utilisateur Databricks basé sur la revendication du nom d'utilisateur SSO lors de la connexion. Si cette demande change (par exemple, parce que l'e-mail d'un utilisateur a changé dans Okta, ou parce qu'un administrateur a mis à jour le mappage du champ de demande de nom d'utilisateur SSO), la gestion automatique des identités crée un nouvel utilisateur Databricks au lieu de mettre à jour l'utilisateur existant. Contactez le support Databricks pour effectuer une migration de nom d'utilisateur afin d'aligner le nom d'utilisateur Databricks avec la demande de nom d'utilisateur SSO Okta mise à jour.
Vérifier l'unicité du nom d'utilisateur Databricks avant l'intégration
Databricks utilise le nom d'utilisateur pour associer les identités Databricks aux identités Okta, en les comparant au champ de connexion Okta et à l'e-mail. Okta garantit l'unicité uniquement sur le champ de connexion, pas sur l'e-mail. Si plusieurs utilisateurs Okta partagent le même e-mail, ou si l'e-mail d'un utilisateur correspond au champ de connexion d'un autre utilisateur, la gestion automatique des identités ne peut pas identifier de manière fiable l'utilisateur correct.
Avant d'activer la gestion automatique des identités, vérifiez que chaque nom d'utilisateur Databricks correspond de manière unique à un seul utilisateur Okta dans votre tenant Okta.