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 :
Connectez-vous à Snowsight en tant qu’utilisateur ayant le rôle ACCOUNTADMIN.
Dans le menu de navigation, sélectionnez Data Products » Marketplace.
Recherchez le Snowflake Connector for ServiceNow®, puis sélectionnez la vignette du connecteur.
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 :
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.
Sous Options » Application name, vous pouvez choisir de modifier le nom de l’application.
Sélectionnez Get.
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®¶
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.
Dans le menu de navigation, sélectionnez Data Products » Apps.
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 |
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>;
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;
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.
Sélectionnez l’une des méthodes d’authentification possibles : Basic authentication, OAuth2 ou OAuth Client Credentials (recommandée).
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
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¶
Dans les champs ServiceNow username et ServiceNow password, saisissez les identifiants de connexion de votre compte ServiceNow®.
Sélectionnez Connect.
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.
Connectez-vous à votre instance ServiceNow®, puis sélectionnez Homepage.
Recherchez sys_properties.list.
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 surtrue
.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
.
Recherchez System OAuth, puis sélectionnez Application Registry.
Sélectionnez New puis Create an OAuth API endpoint for external clients.
Saisissez un nom pour le registre d’application OAuth dans le champ Name.
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.Sélectionnez Submit.
Le registre d’applications OAuth apparaît dans la liste des registres d’applications.
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.
Dans ServiceNow®, copiez la valeur de Client ID. Dans Snowsight, collez cette valeur dans le champ Client ID.
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.
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émaSNOWFLAKE_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 compteInté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 tiersL’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®.