Installation et configuration du connecteur avec Snowsight

Le Snowflake Connector for ServiceNow® est soumis aux conditions de Snowflake Connector.

Ce chapitre fournit des informations sur l’installation et la configuration du Snowflake Connector for ServiceNow® via Snowsight.

Dans ce chapitre :

Installation de l”Snowflake Connector for ServiceNow®

La procédure suivante décrit comment installer le connecteur :

  1. Connectez-vous à Snowsight en tant qu’utilisateur ayant le rôle ACCOUNTADMIN.

  2. Dans le menu de navigation, sélectionnez Data Products » Marketplace.

  3. Recherchez le Snowflake Connector for ServiceNow®, puis sélectionnez la vignette du connecteur.

  4. Dans la page Snowflake Connector for ServiceNow®, sélectionnez Get.

    Une boîte de dialogue s’affiche pour lancer la partie initiale du processus d’installation.

    Dans la boîte de dialogue, configurez les éléments suivants :

    1. Dans le champ Warehouse used for installation sélectionnez l’entrepôt que vous souhaitez utiliser pour installer le connecteur.

      Note

      Il ne s’agit pas du même entrepôt que celui utilisé par le connecteur pour synchroniser les données depuis ServiceNow®. Dans une étape ultérieure, vous créerez un entrepôt distinct à cette fin.

    2. Sous Options » Application name, vous pouvez choisir de modifier le nom de l’application.

    3. Sélectionnez Get.

  5. Une boîte de dialogue apparaît avec la notification : Successfully Installed. Pour poursuivre la configuration, sélectionnez Configure.

    La boîte de dialogue se ferme et la page Snowflake Connector for ServiceNow® affiche l’UI de configuration et de gestion du connecteur.

Configuration du Snowflake Connector for ServiceNow®

  1. Connectez-vous à Snowsight en tant qu’utilisateur ayant le rôle ACCOUNTADMIN ou tout autre rôle remplissant les conditions suivantes :

    • Vous devez disposer de ces privilèges au niveau du compte :

      • EXECUTE TASK WITH GRANT OPTION

      • EXECUTE MANAGED TASK WITH GRANT OPTION

    • EVENT_TABLE doit être activé sur le compte.

    • Pour l’accès à l’entrepôt, vous devez disposer d’au moins un des privilèges suivants :

      • CREATE WAREHOUSE

      • OWNERSHIP

      • USAGE WITH GRANT OPTION

    • Pour l’accès à la base de données, vous devez disposer d’au moins un des privilèges suivants :

      • CREATE DATABASE

      • OWNERSHIP

      • USAGE WITH GRANT OPTION

    • Pour l’accès au schéma, vous devez disposer d’au moins un des privilèges suivants :

      • CREATE DATABASE

      • OWNERSHIP

      • USAGE WITH GRANT OPTION

      • CREATE SCHEMA

      • USAGE, CREATE TABLE, CREATE VIEW WITH GRANT OPTION

    • Facultatif : pour l’accès aux rôles, vous pouvez créer un nouveau rôle ou sélectionner un rôle existant auquel sera attribué le rôle d’application DATA_READER. Si vous souhaitez créer un nouveau rôle, vous devez disposer du privilège CREATE ROLE sur votre compte. Toutefois, cela n’est pas nécessaire pour effectuer la configuration.

  2. Dans le menu de navigation, sélectionnez Data Products » Apps.

  3. Recherchez le Snowflake Connector for ServiceNow®, puis sélectionnez-le. Vous accédez maintenant à la page de l’assistant d’installation, qui vous guidera tout au long du processus de configuration.

Vous trouverez ci-dessous la liste des étapes de configuration de l’application :

Configurer

Dans cette boîte de dialogue, remplissez les champs suivants :

Champ

Description

Warehouse

Identificateur d’un entrepôt virtuel dédié au connecteur.

Indiquez un nom unique pour votre compte. Le nom de l’entrepôt doit être un identificateur d’objet valide.

Le processus de configuration crée un nouvel entrepôt Large ou réutilise un entrepôt portant le nom spécifié.

Destination Database

Identificateur d’une base de données qui contiendra le schéma avec les tables pour les données ServiceNow® dans Snowflake.

Indiquez un nom unique pour votre compte. Le nom de la base de données doit être un identificateur d’objet valide.

Le processus de configuration crée ou réutilise une base de données portant le nom spécifié.

Destination Schema

Identificateur d’un schéma qui contiendra les données ServiceNow® dans Snowflake.

Snowflake Connector for ServiceNow® ingère les données ServiceNow® dans les tables de ce schéma.

Spécifiez un nom unique dans la base de données sélectionnée. Le nom du schéma doit être un identificateur d’objet valide.

Le processus de configuration crée ou réutilise un schéma portant le nom spécifié.

Role

Identificateur d’un nouveau rôle personnalisé pour le connecteur.

Ce rôle se verra attribuer le rôle d’application DATA_READER ainsi que le privilège USAGE sur Destination Database et sur Destination Schema.

Indiquez un nom unique pour votre compte. Le nom du rôle doit être un identificateur d’objet valide.

Le processus de configuration crée un nouveau rôle avec le nom spécifié.

Note

Par défaut, les champs sont définis sur les noms des objets créés lors de la configuration du connecteur. Snowflake recommande d’utiliser de nouveaux objets pour ces champs. Cependant, si nécessaire, vous pouvez spécifier les noms des objets existants (par exemple, en cas de réinstallation du connecteur).

Attention

Assurez-vous que l’entrepôt est en mesure d’exécuter une requête pendant au moins 3 heures. Cela peut être affecté par une valeur de paramètre qui peut être définie à la fois sur l’entrepôt utilisé par le connecteur et sur le compte (la valeur du compte est prioritaire). Pour vérifier les valeurs actuelles, exécutez :

SHOW PARAMETERS LIKE 'STATEMENT_TIMEOUT_IN_SECONDS' FOR ACCOUNT;
SHOW PARAMETERS LIKE 'STATEMENT_TIMEOUT_IN_SECONDS' FOR WAREHOUSE <connector_warehouse>;
Copy

Si les deux valeurs sont au moins égales à 10800 (c’est-à-dire, 3 heures), aucune modification n’est nécessaire. Sinon, selon les besoins, exécutez :

ALTER ACCOUNT SET STATEMENT_TIMEOUT_IN_SECONDS = 10800;
ALTER WAREHOUSE <connector_warehouse> SET STATEMENT_TIMEOUT_IN_SECONDS = 10800;
Copy

Si le délai d’expiration approprié n’est pas fourni, cela entraînera des échecs d’ingestion de données.

Sélectionnez Configure.

Authentification (Connexion à ServiceNow)

Si vous n’êtes pas connecté(e) en tant qu’utilisateur ayant le rôle ACCOUNTADMIN, assurez-vous de remplir les conditions suivantes :

  • Vous devez disposer du privilège CREATE INTEGRATION.

  • Si des intégrations ont été précédemment créées par d’autres rôles, votre rôle doit devenir propriétaire de ces intégrations.

  • Si la base de données CONNECTORS_SECRET n’existe pas, vous devez disposer du privilège CREATE DATABASE.

  • Si la base de données CONNECTORS_SECRET existe, mais si elle a été créée par un autre rôle, vous avez besoin de ces privilèges :

    • USAGE WITH GRANT OPTION

    • CREATE SCHEMA WITH GRANT OPTION

  • Si le schéma CONNECTORS_SECRET.APP_NAME existe, mais s’il a été créé par un autre rôle, vous avez besoin de ces privilèges :

    • USAGE WITH GRANT OPTION

    • CREATE SECRET

    • CREATE NETWORK RULE

  • Si CONNECTORS_SECRET.APP_NAME.SECRET existe, mais s’il a été créé par un autre rôle, votre rôle doit en devenir propriétaire.

  • Si CONNECTORS_SECRET.APP_NAME.NETWORK_RULE existe, mais s’il a été créé par un autre rôle, votre rôle doit en devenir propriétaire.

La procédure suivante explique comment établir une connexion à ServiceNow. Vous pouvez sélectionner l’authentification de base (nom d’utilisateur et mot de passe) ou OAuth.

  1. Sélectionnez l’une des méthodes d’authentification possibles : Basic authentication, OAuth2 ou OAuth Client Credentials (recommandée).

  2. Dans le champ ServiceNow Instance saisissez le nom de l’instance ServiceNow®.

    Il s’agit de la première partie du nom d’hôte de votre instance ServiceNow®. Par exemple, si l’URL de votre instance ServiceNow® est :

    https://myinstance.service-now.com
    
    Copy

    Le nom de votre instance serait myinstance.

Note

Lorsque vous utilisez un domaine personnalisé, par exemple autre chose que service-now.com, vous devez fournir l’URL complète à l’instance ServiceNow®.

Flux d’authentification de base

  1. Dans les champs ServiceNow username et ServiceNow password, saisissez les identifiants de connexion de votre compte ServiceNow®.

  2. Sélectionnez Connect.

Flux de code d’autorisation OAuth2

Créez un point de terminaison permettant aux clients d’accéder à l’instance et utilisez-le pour configurer le connecteur :

  1. Connectez-vous à votre instance ServiceNow®, puis sélectionnez Homepage.

  2. Recherchez System OAuth, puis sélectionnez Application Registry.

  3. Sélectionnez New, puis sélectionnez Create an OAuth API endpoint for external clients.

    Une page de configuration du registre d’applications s’affiche, comme le montre l’image suivante :

    Affiche la page du registre d'applications dans ServiceNow à gauche.
  4. Dans ServiceNow, entrez un nom pour le registre d’applications OAuth dans le champ Name.

  5. Dans Snowsight, copiez la valeur dans le champ Redirect URL. Dans ServiceNow, collez cette valeur dans le champ Redirect URL.

    Cette valeur a été générée par le connecteur.

  6. Si nécessaire, dans ServiceNow, mettez à jour les valeurs des champs Refresh Token Lifespan et Access Token Lifespan.

    • Snowflake recommande de fixer la durée de vie du jeton d’accès à au moins 600 secondes.

    • Pour la durée de vie du jeton d’actualisation, indiquez une valeur de 7776000 (90 jours).

      Attention

      Lorsque Snowsight est ouvert via l’URL Private Link, l’URL de redirection est différente de celle lors de l’ouverture de Snowsight via une URL publique. Si vous avez configuré l’URL de redirection en utilisant la valeur fournie par Private Link Snowsight, toutes les mises à jour ultérieures du jeton d’actualisation doivent également être effectuées avec Private Link Snowsight. Si vous accédez à Snowsight via une URL publiquement disponible, toutes les mises à jour ultérieures du jeton d’actualisation doivent également être effectuées avec Snowsight disponible au niveau de cette URL.

  7. Dans ServiceNow, sélectionnez Submit.

    Le registre d’applications OAuth apparaît dans la liste des registres d’applications.

  8. Dans ServiceNow, sélectionnez le registre d’applications que vous venez de créer.

    Notez que ServiceNow® a créé des valeurs pour les champs Client ID et Client Secret.

  9. Dans ServiceNow, copiez la valeur de Client ID. Dans Snowsight, collez cette valeur dans le champ Client ID.

  10. Dans ServiceNow, copiez la valeur de Client Secret. Dans Snowsight, collez cette valeur dans le champ Client Secret.

    Note

    Le connecteur utilise un secret (un type d’objet au niveau du schéma) pour stocker les jetons d’accès utilisés pour s’authentifier auprès de l’instance ServiceNow®. Le connecteur utilise cet objet secret avec une intégration de sécurité et une intégration d’accès externe pour se connecter à l’instance ServiceNow®.

    Le secret, l’intégration de sécurité et l’intégration d’accès externe sont automatiquement créés lors de l’installation du connecteur.

  11. Dans Snowsight, sélectionnez Connect.

    Une boîte de dialogue apparaît, vous demandant de vous connecter à votre instance ServiceNow® avec votre nom d’utilisateur et votre mot de passe. Indiquez les identifiants de connexion de l’utilisateur avec lequel vous souhaitez que le connecteur s’authentifie. Il doit disposer des privilèges énumérés dans Préparation de votre instance ServiceNow®.

  12. Une fois connecté(e), confirmez que vous souhaitez autoriser le connecteur à se connecter à votre compte ServiceNow®. Sélectionnez Allow.

    Note

    Si vous avez été directement redirigé(e) vers cette boîte de dialogue sans avoir à fournir d’identifiants de connexion, cela signifie que vous êtes déjà connecté(e) à votre instance ServiceNow®. Assurez-vous que vous êtes connecté en tant qu’utilisateur du connecteur et que cet utilisateur dispose des privilèges nécessaires.

    Remarque : l’utilisateur actuellement connecté est indiqué dans le coin supérieur droit de la boîte de dialogue.

Flux d’identifiants de connexion client OAuth

Créez un point de terminaison permettant aux clients d’accéder à l’instance et utilisez-le pour configurer le connecteur.

Avertissement

Pour utiliser cette méthode d’authentification, votre instance ServiceNow® doit être mise à niveau vers au moins la version Washington DC.

  1. Connectez-vous à votre instance ServiceNow®, puis sélectionnez Homepage.

  2. Recherchez sys_properties.list.

  3. Recherchez la propriété portant le nom glide.oauth.inbound.client.credential.grant_type.enabled dans la table et assurez-vous qu’elle est définie sur true.

    Note

    Si la propriété n’existe pas, créez-la. Cliquez sur le bouton New et renseignez les champs suivants de la nouvelle propriété :

    • Définissez Name sur glide.oauth.inbound.client.credential.grant_type.enabled.

    • Définissez Type sur true | false.

    • Définissez Value sur true.

  4. Recherchez System OAuth, puis sélectionnez Application Registry.

  5. Sélectionnez New puis Create an OAuth API endpoint for external clients.

  6. Saisissez un nom pour le registre d’application OAuth dans le champ Name.

  7. Sélectionnez l’utilisateur avec lequel vous souhaitez que le connecteur s’authentifie dans le champ OAuth Application User. L’utilisateur doit disposer des privilèges répertoriés dans Préparation de votre instance ServiceNow®.

    Note

    Si le champ OAuth Application User n’est pas disponible dans le formulaire, ouvrez le menu Additional actions dans le coin supérieur gauche de l’écran. Sélectionnez Configure -> Form builder. Ensuite, ajoutez le champ OAuth Application User manquant à la vue Default du formulaire. Enregistrez le formulaire et actualisez la page pour continuer.

  8. Sélectionnez Submit.

    Le registre d’applications OAuth apparaît dans la liste des registres d’applications.

  9. Sélectionnez le registre d’application que vous venez de créer.

    Notez que ServiceNow® a créé des valeurs pour les champs Client ID et Client Secret.

  10. Dans ServiceNow®, copiez la valeur de Client ID. Dans Snowsight, collez cette valeur dans le champ Client ID.

  11. Dans ServiceNow®, copiez la valeur de Client Secret. Dans Snowsight, collez cette valeur dans le champ Client Secret.

    Note

    Le connecteur utilise un secret (un type d’objet au niveau du schéma) pour stocker les jetons d’accès utilisés pour s’authentifier auprès de l’instance ServiceNow®. Le connecteur utilise cet objet secret avec une intégration de sécurité et une intégration d’accès externe pour se connecter à l’instance ServiceNow®.

    Le secret, l’intégration de sécurité et l’intégration d’accès externe sont automatiquement créés lors de l’installation du connecteur.

  12. Dans Snowsight, sélectionnez Connect.

Validation de la source

Cette section permet de vérifier la connexion à votre instance ServiceNow® et, éventuellement, de configurer Journal Table.

Pour activer la propagation des enregistrements supprimés, définissez Journal Table, qui sert de source d’informations sur les enregistrements supprimés.

Vous pouvez utiliser la table sys_audit_delete ou une table personnalisée comme table source.

Si vous ne souhaitez pas ingérer d’enregistrements supprimés de ServiceNow® dans Snowflake, laissez ce champ vide.

Note

Assurez-vous que l’utilisateur ServiceNow® du connecteur a accès à la table de journal spécifiée. Si toutes les lignes de la table ne sont pas visibles par l’utilisateur, le connecteur peut ne pas réussir à récupérer les entrées de la table de journal lors de la validation de l’accès. Dans ce cas, effectuez cette étape en appelant la procédure FINALIZE_CONNECTOR_CONFIGURATION à partir de SQL et en lui fournissant l’argument table_name ou sys_id, ainsi que journal_table.

Avertissement

Il n’est pas possible de configurer la table de journal après avoir configuré l’application. Pour activer la propagation des enregistrements supprimés après la configuration, vous devrez réinstaller le connecteur.

Sélectionnez Validate pour terminer le processus de configuration.

Lors de la validation de la source, le connecteur tentera de vérifier si un état de connecteur précédemment exporté est présent dans le schéma de destination. Si la table __CONNECTOR_STATE_EXPORT est présente et accessible par le connecteur, ce dernier tentera d’importer l’état. Lorsque l’importation se termine correctement, la table d’exportation est supprimée. Si une erreur se produit lors de l’importation, il est possible de réexécuter la validation de la source après avoir corrigé l’erreur. Si vous ne souhaitez pas importer l’état ou si vous ne voulez pas corriger l’erreur d’importation, transférez la possession de la table depuis le connecteur et supprimez la table.

Effets secondaires

À la suite des étapes de configuration, l’assistant crée les objets suivants qui résident en dehors de la base de données du connecteur et qui sont nécessaires au fonctionnement de ce dernier :

  • Base de données CONNECTORS_SECRET avec le schéma SNOWFLAKE_CONNECTOR_FOR_SERVICENOW utilisé pour stocker l’objet secret,

  • Objet secret dans CONNECTORS_SECRET.SNOWFLAKE_CONNECTOR_FOR_SERVICENOW nommé SECRET avec vos identifiants de connexion ServiceNow®

  • Objet de règle de réseau dans CONNECTORS_SECRET.SNOWFLAKE_CONNECTOR_FOR_SERVICENOW nommé NETWORK_RULE utilisé pour autoriser le trafic sortant de votre compte

  • Intégration de sécurité nommée SNOWFLAKE_CONNECTOR_FOR_SERVICENOW_SECURITY_INTEGRATION, qui est utilisée pour effectuer l’intégration entre Snowflake et un service OAuth 2.0 tiers

  • L’intégration d’accès externe SNOWFLAKE_CONNECTOR_FOR_SERVICENOW_EXTERNAL_ACCESS_INTEGRATION est utilisée pour la communication avec ServiceNow.

Note

Les objets ci-dessus sont appelés comme suit si le nom par défaut SNOWFLAKE_CONNECTOR_FOR_SERVICENOW a été sélectionné comme nom d’application. Si le nom d’application sélectionné est modifié au cours de l’installation, les noms de ces objets changeront en conséquence.

Important

Les noms de ces objets, de l’entrepôt et du rôle utilisés lors de la configuration ne doivent pas être modifiés. Le connecteur les référence par leur nom. Le fait de modifier leur nom ou de les supprimer casse les références et rendra le connecteur inutilisable.

Si nécessaire, au lieu de renommer l’entrepôt, utilisez la procédure stockée UPDATE_WAREHOUSE pour modifier l’entrepôt utilisé par le connecteur.

Configuration de la journalisation pour le connecteur

Le Snowflake Connector for ServiceNow® utilise des tables d’événements pour stocker les journaux d’erreurs du connecteur. Pour configurer manuellement une table d’événements, suivez le guide Configuration d’une table d’événements.

Si la table d’événements n’est pas configurée et si vous choisissez d’installer le connecteur à l’aide de l’assistant d’UI, le connecteur configurera automatiquement la table d’événements.

Note

Cette application collectera des journaux à des fins de débogage et les écrira dans un tableau d’événements dans votre compte et dans une table d’événements dans le compte du fournisseur de l’application. Seuls les journaux de cette application seront inclus, et ces journaux sont des « Données d’utilisation du connecteur ».

La table d’événements sera créée à l’emplacement suivant.

Objet

Nom

Database

EVENTS_DB

Schema

PUBLIC

Table

EVENTS

Rôles d’application du connecteur

En tant qu’application native, Snowflake Connector for ServiceNow® définit des rôles d’application. Ils peuvent être consultés à la section Contrôle d’accès basé sur les rôles des connecteurs.

Prochaines étapes

Après avoir installé et configuré le connecteur, effectuez les étapes décrites dans Configuration de l’ingestion de données pour vos données ServiceNow®.