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 :
- U2M OAuth (recommandé)
- Informations d'identification du mot de passe du propriétaire de la ressource OAuth (ROPC)
Databricks recommande U2M OAuth car c'est l'approche la plus sécurisée. Cependant, votre connexion ServiceNow expirera lorsque votre jeton d'authentification expirera. 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 ROPC.
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. |
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.*
Créer une application OAuth
Cette étape recueille les détails d'authentification ServiceNow pour l'ingestion Databricks.
ServiceNow exige l'authentification multifacteur (MFA) par default pour U2M OAuth. Lorsque vous vous connectez, indiquez votre deuxième méthode d'authentification dans le cadre du flux MFA standard. Cette exigence ne s'applique pas à l'authentification 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.
-
Pour **Portée d'authentification**,
useraccountsaisissez. -
(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://cust-success.cloud.databricks.com).
Ignorez cette étape si vous utilisez ROPC.
-
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.