Configurer ServiceNow pour l'ingestion Databricks
Découvrez comment configurer votre instance ServiceNow pour l'ingestion Databricks.
Choisissez une méthode d'authentication
Les méthodes d'authentification suivantes sont prises en charge :
- OAuth utilisateur à machine (U2M) (recommandé)
- OAuth machine à machine (M2M) (identifiants client)
- Informations d'identification du mot de passe du propriétaire de la ressource OAuth (ROPC)
Databricks recommande d'utiliser OAuth U2M ou M2M plutôt que ROPC, car aucune de ces méthodes ne nécessite de stocker le mot de passe d'un utilisateur ServiceNow dans la connexion. Avec OAuth U2M, votre connexion ServiceNow expire lorsque votre jeton d'authentification expire. Par default, cela se produit tous les 100 jours. Pour réduire la fréquence, vous pouvez modifier la période d’expiration dans ServiceNow ou utiliser OAuth M2M ou ROPC.
Utilisez l’OAuth M2M pour des pipelines de production entièrement automatisés qui s’exécutent sans interaction de l’utilisateur. Avec l’OAuth M2M, Databricks s’authentifie avec l’ID client et le secret client de l’application OAuth et demande un nouveau jeton d’accès si nécessaire ; il n’y a donc pas de jeton de refresh à faire expirer ni de connexion interactive. Les demandes s’exécutent avec les autorisations de l’ utilisateur de l’application OAuth que vous attribuez à l’application OAuth. L’OAuth M2M nécessite la version Washington DC de ServiceNow ou une version ultérieure.
Vous utiliserez les détails d’authentification que vous obtenez pour créer une connexion Databricks Unity Catalog à ServiceNow.
Accorder les autorisations utilisateur
Les options suivantes pour l'octroi d'autorisations utilisateur ServiceNow sont prises en charge :
Champ d'application d'OAuth | Description |
|---|---|
Accès administrateur (recommandé) | Nécessite les rôles |
Accès au moindre privilège | Utilise les ACL au niveau de la table. |
Pour l'OAuth M2M, accordez ces autorisations à l'utilisateur que vous attribuez comme Utilisateur d'application OAuth dans Créer une application OAuth.
Accès administrateur (recommandé)
Databricks recommande cette approche car elle permet une découverte efficace des schémas. Avec un accès administrateur, le connecteur récupère le schéma de table complet en un seul appel d'API par table, indépendamment de la hiérarchie d'héritage de la table. Ceci réduit l'utilisation de l'API et améliore les performances de Startup du pipeline.
Vous devez disposer des autorisations suivantes :
- Pour capturer les suppressions, votre utilisateur ServiceNow doit avoir accès à
sys_audit_delete table, et la table en cours d'ingestion doit suivre les suppressions (l'attribut de table ne peut pas être défini surno_audit_delete=truedans ServiceNow). - Votre utilisateur ServiceNow doit avoir le rôle
admin. - (Facultatif) Pour limiter l'utilisateur administrateur à un accès en lecture seule, vous pouvez lui attribuer le rôle
snc_read_only.
Accès à moindre privilège
Choisissez cette approche uniquement si la restriction des autorisations est plus importante que la minimisation de l'utilisation de l'API.
Sans accès administrateur, le connecteur doit effectuer plusieurs appels d'API pour découvrir le schéma. Étant donné que ServiceNow utilise l'héritage de table, le connecteur doit parcourir toute la hiérarchie de table (de la table cible, en passant par chaque table parente jusqu'à la racine), puis récupérer les définitions de champ pour chaque table de la chaîne. Le nombre exact d'appels API dépend de la profondeur de la hiérarchie d'héritage de la table.
La découverte de schémas avec un accès à moindre privilège a lieu à chaque exécution de pipeline, et pas seulement lors de la configuration initiale.
Cette approche nécessite les autorisations ACL suivantes :
sys_dictionarysys_dictionary.*sys_db_objectsys_db_object.*sys_audit_deletesys_audit_delete.*sys_glide_objectsys_glide_object.*
Activer l'octroi des informations d'identification du client (M2M uniquement)
Ignorez cette étape si vous utilisez U2M OAuth ou ROPC.
ServiceNow désactive default l’octroi des identifiants du client OAuth. Un administrateur ServiceNow doit l’activer avant que vous puissiez utiliser l’OAuth M2M.
-
Dans le menu Tous , saisissez
sys_properties.listet appuyez sur Entrée .
-
Rechercher la propriété
glide.oauth.inbound.client.credential.grant_type.enabled.- Si la propriété existe, ouvrez-la et définissez Value sur
true. - Si la propriété n'existe pas, cliquez sur Nouveau et saisissez les informations suivantes :
- Nom :
glide.oauth.inbound.client.credential.grant_type.enabled - Type :
true | false - Valeur :
true
- Nom :

- Si la propriété existe, ouvrez-la et définissez Value sur
-
Cliquez sur Mettre à jour (ou Envoyer pour une nouvelle propriété).
Créer une application OAuth
Cette étape recueille les détails d'authentification ServiceNow pour l'ingestion Databricks.
ServiceNow exige l'authentification multifactorielle (MFA) par default pour U2M OAuth. Lorsque vous vous connectez, fournissez votre seconde méthode d’authentification dans le cadre du flux MFA standard. Cette exigence ne s’applique pas à l’authentification M2M OAuth ou ROPC.
Un administrateur ServiceNow peut exempter les utilisateurs s’authentifiant de l’exigence MFA. Pour les instructions, consultez Exemption d’utilisateur dans la documentation ServiceNow.
-
Dans le menu All , recherchez System OAuth , puis cliquez sur Application Registry .

-
Cliquez sur Nouveau > Créer un endpoint d'API OAuth pour les clients externes .

-
Saisir un nom pour l'application.
-
Dans la liste Périmètres d’authentification , ajoutez
useraccount. -
(U2M OAuth uniquement) Pour URL de redirection , saisissez
https://<databricks-workspace-url>/login/oauth/servicenow.html. Remplacez<databricks-workspace-url>par l'URL complète de votre Workspace Databricks (par exemple,https://8757561887652360.0.gcp.databricks.com). -
(OAuth M2M uniquement) Configurez l'application pour l'octroi des identifiants client :
-
Si le formulaire comporte un champ Type d'autorisation default , sélectionnez Identifiants client .
-
Pour Utilisateur d'application OAuth , sélectionnez l'utilisateur sous lequel le connecteur s'exécute. Cet utilisateur a besoin des autorisations dans Accorder des autorisations utilisateur. Databricks recommande un utilisateur de compte de service dédié.
Si le champ Utilisateur de l’application OAuth ne figure pas dans le formulaire, cliquez avec le bouton droit sur l’en-tête du formulaire, puis cliquez sur Configurer > Layout du formulaire . Déplacez Utilisateur de l’application OAuth vers la liste Sélectionnés , puis cliquez sur Enregistrer .

-
-
Cliquez sur **Envoyer**.

-
Copiez l' ID client et le Secret client .
Obtenir l'ID de l'instance
L'ID d'instance est la première partie de l'URL de connexion du compte ServiceNow :
https://<instanceid>.service-now.com
Par exemple, si la page d'accueil de votre instance ServiceNow est https://abc.service-now.com, l'ID de l'instance est abc.
Obtenez un nom d'utilisateur et un mot de passe
Cette étape est requise uniquement pour le flux ROPC. Databricks recommande d'utiliser plutôt U2M OAuth.
Obtenez le nom d'utilisateur et le mot de passe d'un utilisateur ServiceNow actif.
Activer l'indexation sur la colonne du curseur
Pour améliorer les performances d'ingestion, Databricks recommande de travailler avec votre administrateur ServiceNow pour activer l'indexation sur le champ du curseur dans ServiceNow. La colonne du curseur est sélectionnée dans la liste suivante, par ordre de disponibilité et de préférence : sys_updated_on (premier choix), sys_created_on (deuxième choix), sys_archived (troisième choix). C'est une approche standard pour améliorer les performances lors de l'ingestion à l'aide des ServiceNow APIs. La définition de l'index permet à Databricks d'éviter de scanner entièrement la colonne de curseur, ce qui peut entraîner un goulot d'étranglement pour les mises à jour importantes. Pour les instructions, consultez Créer un index de table dans la documentation ServiceNow.