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.
Configurer la gestion automatique des identités
Configurer une application Okta
-
Dans la console d’administration Okta, accédez à Applications and Ressources > Applications .
-
Cliquez sur Create App Integration , sélectionnez Classic experience et API Services , puis cliquez sur Next .
-
Entrez un nom pour l'intégration d'application, tel que « Databricks AIM », sélectionnez Use Okta-generated client ID , puis cliquez sur Save .
-
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 stockez-la en lieu sûr. Vous utilisez cette valeur lorsque vous configurez Okta dans Databricks. Ne copiez pas la clé publique ni la valeur PEM.
-
Cliquez sur Enregistrer pour activer la clé de signature.
-
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.
Configurez 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 : la valeur JSON complète de la clé privée que vous avez générée et copiée lors de la configuration de l’application Okta
- 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
302 FoundAssurez-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 réponse de /api/v1/users
403 réponse de /api/v1/usersOn the Okta app's Okta API Scopes tab, verify that the app has the okta.users.read scope.
403 réponse de /api/v1/groups
403 réponse de /api/v1/groupsVé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
Lorsque vous activez la gestion automatique des identités, veuillez garder à l'esprit les comportements et limitations suivants.
Identités dupliquées après l'activation de la gestion automatique des identités
Databricks associe les identités en comparant l’ID d’utilisateur ou de groupe Okta au champ externalId des utilisateurs et groupes existants. Si une identité existante n’a pas d’ID Okta dans son champ externalId, le provisionnement crée une entrée en double. Les deux entrées restent utilisables avec leurs autorisations existantes.
Si vous avez précédemment effectué une synchronisation avec l'application Okta Databricks OIN, les valeurs de l'utilisateur externalId sont généralement renseignées, mais pas celles du groupe. Pour résoudre les doublons, utilisez l'API Account Users, Account Service Principals ou Account Groups afin de définir le paramètre externalId de chaque objet sur l'ID d'utilisateur ou de groupe Okta correspondant.
Connexion unique
Databricks recommande vivement la connexion unifiée afin que la SSO soit cohérente dans le compte et tous les workspaces. Sans cela, la gestion automatique des identités ne fonctionne que si la SSO au niveau du compte et au niveau du workspace utilisent le même fournisseur d’identité et mappent le même champ au nom d’utilisateur Databricks. Si la SSO du compte mappe le nom d’utilisateur mais que la 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 au lieu de faire correspondre l’utilisateur existant.
Configurez également les revendications de groupe dans votre application Okta SSO afin que les adhésions aux groupes soient incluses dans le jeton OIDC.
Modifications de l'e-mail ou du nom d'utilisateur dans Okta
Le provisionnement crée chaque utilisateur Databricks à partir de la revendication de nom d’utilisateur SSO lors de la connexion. Si cette revendication change (par exemple, si l’adresse e-mail d’un utilisateur change dans Okta, ou si un administrateur met à jour le mappage du champ de revendication du nom d’utilisateur SSO), un nouvel utilisateur est créé au lieu de mettre à jour l’utilisateur existant. Contactez l’assistance Databricks pour exécuter une migration de nom d’utilisateur qui réaligne le nom d’utilisateur Databricks avec la revendication mise à jour.
Vérifier l'unicité du nom d'utilisateur Databricks avant l'intégration
Databricks fait correspondre les identités par nom d'utilisateur, en effectuant une comparaison avec le champ de connexion Okta et l'e-mail. Okta garantit l'unicité uniquement pour le champ de connexion, et non pour l'e-mail. Si plusieurs utilisateurs Okta partagent un e-mail, ou si l'e-mail d'un utilisateur correspond au champ de connexion d'un autre utilisateur, le provisionnement ne peut pas identifier de manière fiable le bon utilisateur. Avant d'activer la gestion automatique des identités, vérifiez que chaque nom d'utilisateur Databricks correspond à un seul utilisateur Okta dans l'ensemble de votre tenant.
Les identités externes n’apparaissent qu’après leur provisionnement.
Les utilisateurs et les groupes de votre fournisseur d'identité n'apparaissent pas sur la page Gestion des utilisateurs de la console de compte tant que la gestion automatique des identités ne les a pas provisionnés dans Databricks. Pour rechercher une identité avant son provisionnement, effectuez une recherche. La recherche renvoie les identités correspondantes de votre fournisseur d'identité, y compris celles qui ne sont pas encore provisionnées.