Lorsque les actions ServiceNow sont activées, les utilisateurs finaux peuvent demander à l'assistant d'effectuer les actions ServiceNow suivantes :
- Créer des incidents ServiceNow
- Mettre à jour les incidents ServiceNow
Par exemple, un utilisateur peut saisir "créer un incident ServiceNow concernant une panne matérielle d'ordinateur" ou "mettre à jour l'incident ServiceNow INC0010001 pour qu'il soit de haute urgence" dans l'application. L'assistant demande des informations supplémentaires si nécessaire, puis demande à l'utilisateur de confirmer la demande de création ou de mise à jour.
L'assistant peut lire et mettre à jour les champs ServiceNow suivants par le biais d'actions :
Champ |
Description |
---|---|
Appelant |
Obligatoire. Adresse e-mail de l'appelant au nom duquel l'incident est créé, par exemple user@google.com. |
Titre |
Titre bref de l'incident à créer. |
Description |
Détails de l'incident à créer. |
Catégorie |
Catégorie de l'incident à créer. |
Impact |
Impact de l'incident. |
Urgence |
Urgence de l'incident. |
État |
État de l'incident. |
Attribuée à |
Adresse e-mail de l'utilisateur auquel attribuer l'incident, par exemple, user@google.com . |
Groupe d'attribution |
Groupe d'utilisateurs auquel attribuer l'incident. |
Code de fermeture |
Code de clôture de l'incident. |
Notes de clôture |
Fermez les notes de l'incident. |
Configurer l'authentification et les autorisations pour ServiceNow
Avant d'activer les actions ServiceNow, un administrateur ServiceNow doit autoriser et configurer un connecteur ServiceNow pour les actions. Cette étape est nécessaire pour connecter votre intégration et autoriser les actions de lecture et d'écriture.
Avant de configurer votre connexion, assurez-vous de disposer des éléments suivants :
Autorisation d'administrateur : vous devez être un administrateur ServiceNow.
Instance ServiceNow : créez une instance ServiceNow en suivant les instructions de la documentation ServiceNow pour les développeurs.
ProjetGoogle Cloud : configurez un projet Google Cloud avec un compte administrateur capable de gérer les configurations au niveau de l'organisation, afin de vous assurer que l'organisation peut configurer un pool d'employés.
Pool d'employés : assurez-vous que votre organisation est configurée pour gérer un pool d'employés.
Pour en savoir plus, consultez l'article de blog OAuth 2.0 avec REST entrant.
Configurer ServiceNow
ServiceNow propose deux sites principaux :
- Site ServiceNow principal : site de votre instance ServiceNow.
- Gère les utilisateurs, les groupes et les tâches d'administration système.
- URL : URL de votre instance ServiceNow.
- Connectez-vous à l'aide de vos identifiants administrateur.
- Site pour les développeurs :
- Configure la base de connaissances, met en place des workflows et développe des applications personnalisées.
- URL :
https://developer.service-now.com
. - Connectez-vous avec votre ID ServiceNow.
Créer un point de terminaison OAuth
Pour créer un point de terminaison OAuth, procédez comme suit :
- Connectez-vous à l'instance ServiceNow principale avec des droits d'administrateur.
- Accédez à All > System OAuth > Application registry (Tous > OAuth système > Registre des applications).
- Cliquez sur Nouveau, puis sélectionnez Créer un point de terminaison d'API OAuth pour les clients externes. Récupérez l'ID client et le code secret du client.
- Renseignez les informations requises :
- Nom : nom unique.
- URL de redirection :
https://vertexaisearch.cloud.google.com/oauth-redirect
- Cliquez sur Submit (Envoyer) pour créer l'identifiant.
- Une fois la demande envoyée, cliquez sur le nom pour afficher le code secret du client.
- Le code secret est masqué. Cliquez sur l'icône en forme de cadenas à côté du code secret pour l'afficher.
- Conservez une copie de l'ID client et du code secret pour les utiliser si nécessaire.
- Accédez à
developer.service-now.com
, puis cliquez sur Manage instance password (Gérer le mot de passe de l'instance). - Conservez une copie du nom d'utilisateur et du mot de passe pour les utiliser si nécessaire.
- À ce stade, les cinq informations nécessaires à la configuration d'un data store ServiceNow sont disponibles. Si vous n'avez aucune inquiétude concernant l'utilisation du rôle d'administrateur pour extraire des données, passez à la création d'un data store.
Configurer des rôles et des autorisations
Vous devez disposer d'un rôle d'administrateur de la sécurité pour créer et gérer des utilisateurs. Si vous ne disposez pas de ce rôle, définissez votre rôle sur security_admin en cliquant sur Définir le rôle sous votre profil. Sélectionnez le rôle security_admin, puis cliquez sur Mettre à jour. Le rôle security_admin est requis pour créer des rôles et gérer des utilisateurs.
- Créez un rôle personnalisé avec des règles LCA :
- Accédez à Tous > Administration des utilisateurs > Rôles.
- Cliquez sur Nouveau pour créer un rôle.
- Sélectionnez un nom, puis cliquez sur Envoyer.
- Accédez à System security > Access Control (ACL) (Sécurité système > Contrôle des accès [LCA]) pour créer une règle LCA.
- Cliquez sur New (Nouveau) pour créer une règle LCA.
- Sélectionnez un rôle, tel que
sys_user_role
. - Cliquez sur Envoyer, puis attribuez le rôle.
- Répétez ce processus jusqu'à ce que tous les accès aux tables soient accordés. Le connecteur a besoin d'accéder aux tables suivantes pour que chaque entité s'exécute correctement :
- Incident :
incident
. - Élément de catalogue :
sc_cat_item
,sc_cat_item_user_criteria_mtom
,sc_cat_item_user_criteria_no_mtom
,sc_cat_item_user_mtom
,sc_cat_item_user_no_mtom
. - Connaissances :
kb_knowledge
,kb_knowledge_base
,kb_uc_can_read_mtom
,kb_uc_can_contribute_mtom
. - Pièce jointe : tous les éléments listés.
- Identité :
sys_user_role
,sys_user_has_role
,sys_user_group
,sys_user_grmember
,sys_user
. - Mise à jour en fonction des nouveaux critères :
core_company
,cmn_location
,cmn_department
. - Critères utilisateur :
user_criteria
.
- Incident :
- Vérifiez que toutes les LCA sont à jour en accédant à
sys_security_acl_role_list.do
dans la barre de recherche. - Sélectionnez le rôle à valider.
- Vérifiez que toutes les LCA requises sont attribuées au rôle sélectionné.
- Attribuez le rôle à un compte de service :
- Accédez à Tous > Administration des utilisateurs > Utilisateurs, puis sélectionnez l'utilisateur.
- Recherchez l'utilisateur auquel vous souhaitez attribuer le rôle, puis sélectionnez-le.
- Si aucun utilisateur n'est disponible, accédez à Sécurité système > Utilisateurs et groupes > Utilisateurs.
- Cliquez sur New (Nouveau) pour créer un compte de service dans la table User (Utilisateur).
- Cochez la case Web service access only (Accès au service Web uniquement).
- Accédez au tableau Rôles en bas de la page.
- Cliquez sur Modifier à droite.
- Accordez le rôle créé précédemment et attribuez-le à l'utilisateur. En fonction du type de rôle créé, sélectionnez celui qui convient et attribuez-le.
- Obtenez le nom d'utilisateur et le mot de passe de l'utilisateur. Sur la même page, cliquez sur Définir un mot de passe.
- Générez automatiquement un mot de passe et enregistrez-le pour une utilisation ultérieure :
- ID utilisateur :
manager
. - Mot de passe : saisissez le mot de passe généré automatiquement.
- ID utilisateur :
Créer un rôle dédié et attribuer des LCA
Lorsque vous utilisez un rôle utilisateur non administrateur, vous pouvez rencontrer des problèmes lorsque vous effectuez une action ServiceNow, même si votre rôle utilisateur contient les autorisations requises. Pour éviter ce problème, créez un rôle dédié et attribuez-lui les autorisations requises.
Créer un rôle
- Accédez à Administration des utilisateurs > Rôles.
- Cliquez sur New (Nouveau).
- Spécifiez un nom pour le nouveau rôle, par exemple
database_admin_restricted
. - (Facultatif) Saisissez une description.
- Cliquez sur Envoyer.
Attribuez le nouveau rôle à l'utilisateur qui effectue l'authentification.
- Accédez à Administration des utilisateurs > Utilisateurs.
- Sélectionnez l'utilisateur qui a besoin d'un accès restreint.
- Dans la fiche utilisateur, accédez à la liste associée Rôles.
- Dans la liste associée Rôles, cliquez sur Modifier.
- Dans la colonne Collection, recherchez et sélectionnez le rôle qui vient d'être créé.
- Cliquez sur Ajouter pour déplacer le rôle vers la liste des rôles.
- Cliquez sur Enregistrer.
Implémenter des autorisations au niveau des lignes
- Accédez à System Security > Access Controls (ACL) (Sécurité système > Contrôles des accès [LCA]).
- Cliquez sur New (Nouveau).
Configurez les champs suivants :
- Type : sélectionnez record (enregistrement).
- Opération : sélectionnez read.
- Nom :
- Dans le premier menu déroulant, sélectionnez la table sys_db_object.
- Dans la deuxième liste déroulante, sélectionnez Aucun.
- Rôle requis : dans le champ Insérer une nouvelle ligne, recherchez et sélectionnez le rôle que vous venez de créer.
Cliquez sur Envoyer.
Répétez ces étapes pour implémenter des autorisations au niveau des lignes pour les tables sys_glide_object et sys_dictionary.
Implémenter des autorisations au niveau des champs
- Accédez à System Security > Access Controls (ACL) (Sécurité système > Contrôles des accès [LCA]).
- Cliquez sur New (Nouveau).
- Configurez les champs suivants :
- Type : sélectionnez record (enregistrement).
- Opération : sélectionnez read.
- Nom :
- Dans le premier menu déroulant, sélectionnez la table cible, par exemple sys_db_object.
- Dans le deuxième menu déroulant, appliquez l'autorisation à tous les champs du tableau ou sélectionnez un nom de champ spécifique, tel que name.
- Rôle requis : dans le champ Insérer une nouvelle ligne, recherchez et sélectionnez le rôle que vous venez de créer.
- Cliquez sur Envoyer.
- Répétez ces étapes pour implémenter des autorisations au niveau des champs pour des champs spécifiques ou pour tous les champs des tables sys_glide_object et sys_dictionary.
Configurer le pool d'employés
Suivez les instructions pour configurer un pool de personnel avec l'une des configurations suivantes :
Configurer une action ServiceNow
Avant de commencer, assurez-vous qu'un administrateur Google Cloud a suivi les étapes décrites dans Configurer l'authentification et les autorisations pour ServiceNow et vous a fourni les éléments suivants :
Champ | Description |
---|---|
ID client | ID client de votre intégration ServiceNow. |
Code secret du client | Code secret du client pour votre intégration ServiceNow |
Nom d'utilisateur | Compte utilisateur de votre intégration. |
Mot de passe | Mot de passe de votre intégration. |
URL de l'instance (ou hôte de destination) | URL d'instance de votre site ServiceNow. Il se présente au format suivant :
https://INSTANCE_NAME.service-now.com |
URL d'authentification | URI d'autorisation pour votre client API ServiceNow. Il se présente au format suivant :
https://INSTANCE_NAME.service-now.com/oauth_auth.do |
URL du jeton | URI du jeton d'actualisation pour votre client API ServiceNow. Il se présente au format suivant :
https://INSTANCE_NAME.service-now.com/oauth_token.do |
Configurer les actions ServiceNow dans la console Google Cloud
Pour ajouter des actions à votre application à l'aide de la console, procédez comme suit :
- Dans la console Google Cloud , accédez à la page Agent Builder.
- Dans le menu de navigation, cliquez sur Actions.
- Cliquez sur Ajouter des actions.
- Pour sélectionner ServiceNow comme source des actions, cliquez sur Connecter dans la fiche ServiceNow.
- Sur la page Configuration, sélectionnez le data store ServiceNow dans la liste déroulante Sélectionner une instance.
Configurer ServiceNow Saisissez les informations d'autorisation pour l'instance de connecteur sélectionnée :
- Saisissez le nouvel ID client et le nouveau code secret du client que vous avez récupérés lorsque vous avez créé le point de terminaison OAuth.
- Saisissez l'URI d'authentification ServiceNow. Utilisez le format
https://<var>INSTANCE_NAME</var>.service-now.com/oauth_auth.do
. - Saisissez l'URI de destination ServiceNow. Utilisez le format
https://<var>INSTANCE_NAME</var>.service-now.com
. - Saisissez l'URI du jeton ServiceNow. Utilisez le format
https://<var>INSTANCE_NAME</var>.service-now.com/oauth_token.do
. - Saisissez le compte utilisateur et le mot de passe de l'administrateur ServiceNow.
Facultatif : Sélectionnez Activer la compatibilité avec PKCE pour ajouter une couche de sécurité à votre application.
Facultatif : sélectionnez Inclure les tables système pour rendre accessibles les informations du système sous-jacent de ServiceNow (tables système). Ne sélectionnez cette option qu'après mûre réflexion et uniquement si cela est absolument nécessaire.
Sélectionnez les actions ServiceNow que vous souhaitez activer.
Cliquez sur Terminer la configuration. Votre action s'affiche sur la page Actions. L'application met quelques minutes à prendre en compte les actions.
Configurer les actions ServiceNow à l'aide de l'API
Pour ajouter des actions à votre application à l'aide de l'API, procédez comme suit.
Créez un connecteur ServiceNow pour les actions :
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-GFE-SSL: yes" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global:setUpDataConnector" \ -d '{ "collectionId": "COLLECTION_ID", "collectionDisplayName": "COLLECTION_DISPLAY_NAME", "dataConnector": { "dataSource": "servicenow", "params": { "user_account": "USER_ACCOUNT", "client_id": "CLIENT_ID", "client_secret": "CLIENT_SECRET", "password": "PASSWORD", "instance_uri": "INSTANCE_URI", "auth_type": "OAUTH_PASSWORD_GRANT" }, "refreshInterval": "86400s", "entities": [ { "entityName": "knowledge_base", "params": { "inclusion_filters":{}, "exclusion_filters":{} } }, { "entityName": "catalog" }, { "entityName": "knowledge" }, { "entityName": "incident" }, { "entityName": "attachment" } ], "syncMode": "PERIODIC", "staticIpEnabled": false } }'
Remplacez les éléments suivants :
PROJECT_ID
: par l'ID du projet.COLLECTION_ID
: ID de la collection.COLLECTION_DISPLAY_NAME
: nom à afficher pour la collection.USER_ACCOUNT
: compte utilisateur de votre intégration ServiceNow.CLIENT_ID
: ID client de votre intégration ServiceNow.PASSWORD
: mot de passe de votre intégration ServiceNow.INSTANCE_URI
: URI de l'instance de votre site ServiceNow.
Mettez à jour le connecteur pour inclure les configurations d'action.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token --project "PROJECT_NUMBER")" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/COLLECTION_ID/dataConnector?update_mask=action_config,bap_config,destination_configs" \ -d '{ "name": "projects/PROJECT_ID/locations/global/collections/COLLECTION_ID/dataConnector", "actionConfig": { "isActionConfigured": true, "actionParams": { "client_id": "CLIENT_ID", "client_secret": "CLIENT_SECRET", "auth_uri": "AUTH_URI", "token_uri": "TOKEN_URI", "pkce_support_enabled": true, "include_system_tables": true } }, "bapConfig": { "supported_connector_modes": "ACTIONS" }, "destinationConfigs": [ { "key": "host_url", "destinations": [ { "host": "INSTANCE_URL" } ] } ] }'
Remplacez les éléments suivants :
PROJECT_ID
: par l'ID du projet.COLLECTION_ID
: ID de la collection.USERNAME
: compte utilisateur de votre intégration ServiceNow.CLIENT_ID
: ID client de votre intégration ServiceNow.PASSWORD
: mot de passe de votre intégration ServiceNow.AUTH_URI
: URI d'autorisation pour votre intégration ServiceNow.TOKEN_URI
: URI du jeton d'actualisation pour votre intégration ServiceNow.INSTANCE_URL
: URL d'instance de votre site ServiceNow.
Activez les actions ServiceNow pour votre assistant.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token --project "PROJECT_NUMBER")" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_NUMBER" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/global/collections/default_collection/engines/APP_ID/assistants/default_assistant?update_mask=enabledActions" \ -d '{ "name": "projects/PROJECT_NUMBER/locations/global/collections/default_collection/engines/APP_ID/assistants/default_assistant", "enabledActions": { "projects/PROJECT_NUMBER/locations/global/collections/CONNECTOR_ID/dataConnector": { "actionInfo": [ { "actionName": "create_servicenow_incident", "actionDisplayName": "Create ServiceNow Incident" }, { "actionName": "update_servicenow_incident", "actionDisplayName": "Update ServiceNow Incident" } ] } } }'
Remplacez les éléments suivants :
PROJECT_NUMBER
: numéro de votre projet Google Cloud .APP_ID
: ID de l'application.CONNECTOR_ID
: ID de la collection du connecteur que vous avez généré à l'étape précédente.
Une fois que vous avez ajouté des actions, l'assistant peut les effectuer au nom de vos utilisateurs finaux dans l'application. La première fois qu'un utilisateur demande à l'assistant d'effectuer une action ServiceNow, il est invité à autoriser l'accès à son compte ServiceNow. Pour utiliser l'assistant, les utilisateurs doivent disposer de licences Gemini Enterprise Plus.