En esta página se describe cómo conectar ServiceNow a Gemini Enterprise.
Después de configurar la fuente de datos e importar datos por primera vez, el almacén de datos sincroniza los datos de esa fuente con la frecuencia que elijas durante la configuración.
Antes de empezar
Antes de configurar la conexión, asegúrate de que tienes lo siguiente:
- Instancia de ServiceNow: crea una instancia de ServiceNow siguiendo las instrucciones de la documentación de desarrolladores de ServiceNow.
Google Cloud Proyecto: configura un Google Cloud proyecto con una cuenta de administrador que pueda gestionar las configuraciones a nivel de organización para que la organización pueda configurar un grupo de trabajo.
Grupo de trabajadores: asegúrate de que tu organización esté configurada para gestionar un grupo de trabajadores.
Configurar ServiceNow
ServiceNow ofrece dos sitios principales:
Sitio principal de ServiceNow: el sitio de tu instancia de ServiceNow.
- Gestiona usuarios, grupos y tareas de administración del sistema.
- URL: la URL de tu instancia de ServiceNow.
- Inicia sesión con tus credenciales de administrador.
-
- Configura la base de conocimientos, establece flujos de trabajo y desarrolla aplicaciones personalizadas.
- URL:
https://developer.service-now.com
. - Inicia sesión con tu ID de ServiceNow.
Para crear un endpoint de OAuth, sigue estos pasos:
- Inicia sesión en la instancia principal de ServiceNow con el rol de administrador.
Ve a Todas > OAuth del sistema > Registro de aplicaciones.
Selecciona Registro de aplicaciones. Haz clic en New (Nuevo).
Haz clic en el botón Nuevo. Haz clic en Crear un endpoint de API de OAuth para clientes externos.
Selecciona la opción para crear un endpoint de API de OAuth para clientes externos Rellena los campos obligatorios:
- Nombre: introduce un nombre único.
- URL de redirección: introduce la URL de redirección:
https://vertexaisearch.cloud.google.com/console/oauth/servicenow_oauth.html
Haz clic en Enviar para crear la credencial.
Introduce la URL de redirección. Después de enviarlo, haga clic en el nombre para ver el ID de cliente.
Ver el ID de cliente El secreto está oculto. Haga clic en el icono de candado situado junto a él para mostrar y ver el secreto del cliente.
Haz clic en el icono del candado. Guarda el ID de cliente y el secreto de cliente para usarlos más adelante.
Copia el ID de cliente y el secreto de cliente
Para recuperar las credenciales de la instancia de ServiceNow, sigue estos pasos:
Ve a developer.service-now.com y haz clic en Gestionar contraseña de instancia.
Haz clic en el botón Gestionar contraseña de la instancia. Guarda una copia de la URL de la instancia, el nombre de usuario y la contraseña para usarlos cuando sea necesario.
En esta fase, ya se dispone de los cinco datos necesarios para configurar un almacén de datos de ServiceNow. Si no hay ningún problema en usar el rol de administrador para extraer datos, cree un almacén de datos.
Configurar roles y permisos de administrador
Asigna el rol de administrador a security_admin
para gestionar usuarios y roles.
Haz clic en el icono de tu perfil y, a continuación, selecciona Asignar rol.
Haz clic en el botón Elevar rol. Selecciona
security_admin
y, a continuación, haz clic en Actualizar. El rolsecurity_admin
ayuda a crear roles y gestionar usuarios.Selecciona el rol security_admin
y haz clic en el botón Actualizar.
Configurar roles y permisos de usuario
Para crear un almacén de datos de ServiceNow en Gemini Enterprise, debes asignar los roles y permisos adecuados a los usuarios. Antes de empezar, es fundamental que sepas cómo gestiona el conector el acceso a la entidad incident. Consulta Visibilidad de incidentes y control de acceso.
Elige una de las siguientes opciones para asignar a los usuarios los roles y permisos que necesitan para configurar un almacén de datos en Google Cloud. Cada opción proporciona el acceso necesario a tu instancia.
Visibilidad de incidentes y control de acceso
Para mejorar la seguridad y evitar la exposición accidental de datos, el conector de ServiceNow usa un control de acceso restrictivo para la entidad incident. De esta forma, los usuarios finales solo pueden ver los incidentes con los que están directamente asociados.
Como parte de este enfoque restrictivo, el conector no respeta los permisos amplios basados en roles para la visibilidad de incidentes. Los roles estándar de ServiceNow, como itil
y sn_incident_read
, que pueden dar a un usuario visibilidad sobre todos los incidentes en la interfaz de usuario de ServiceNow, no otorgan el mismo nivel de acceso en Gemini Enterprise.
Los usuarios que tengan alguno de los siguientes roles tienen visibilidad global de los incidentes y pueden ver todos los incidentes:
admin
incident_manager
change_manager
El resto de los usuarios solo pueden ver un incidente si lo han abierto, reabierto, resuelto o cerrado. También pueden ver un incidente si cumplen los siguientes requisitos:
- En el grupo de asignación del incidente.
- Una persona que llama asociada al incidente.
- Un usuario asignado.
- En una lista de seguimiento.
- En una lista de notas de trabajo.
- En una lista de asignados adicionales.
De esta forma, se evita que un usuario de Gemini Enterprise encuentre un incidente al que no tenga acceso. Debido a las restricciones adicionales en comparación con los permisos más amplios de ServiceNow, este comportamiento puede impedir ocasionalmente que un usuario encuentre un incidente en Gemini Enterprise al que tenga acceso en ServiceNow.
Crear un rol personalizado con reglas de ACL (opción recomendada)
Crea un rol personalizado con el conjunto mínimo de permisos.
Vaya a Todos > Administración de usuarios > Roles.
Seleccionar roles Haz clic en New (Nuevo).
Haz clic en el botón Nuevo. Proporcione un nombre y haga clic en Enviar.
Selecciona un nombre y envíalo Ve a Seguridad del sistema > Control de acceso (ACL).
Seleccionar control de acceso (LCA) Haga clic en Nuevo para crear una regla de ACL.
Haz clic en el botón Nuevo. Repite los dos pasos siguientes hasta que hayas concedido acceso a todas las tablas necesarias.
Usa
sys_user_role
como ejemplo para ver cómo se concede el acceso a las tablas.Selecciona sys_user_role
Haz clic en Enviar y selecciona el rol.
Tablas obligatorias
El conector necesita acceder a estas tablas para que se ejecute cada entidad.
Table name | Descripción |
---|---|
incidente |
Mostrar incidencias en los resultados de búsqueda. |
sc_cat_item |
Mostrar elementos del catálogo en los resultados de búsqueda. |
sc_cat_item_user_criteria_mtom |
Muestra los usuarios que pueden acceder a los elementos del catálogo en función de los criterios de usuario. |
sc_cat_item_user_criteria_no_mtom |
Mostrar los usuarios que no pueden acceder a los elementos del catálogo según los criterios de usuario. |
sc_cat_item_user_mtom |
Mostrar qué usuarios pueden acceder a los elementos del catálogo. |
sc_cat_item_user_no_mtom |
Mostrar los usuarios que no pueden acceder a los elementos del catálogo. |
kb_knowledge |
Lista de artículos de conocimientos que se pueden mostrar en los resultados de búsqueda. |
kb_knowledge_base |
Lista de bases de conocimientos que se pueden mostrar en los resultados de búsqueda. |
kb_uc_can_contribute_mtom |
Muestra quién puede contribuir a las bases de conocimientos en función de los criterios de los usuarios. |
kb_uc_can_read_mtom |
Mostrar quién puede leer las bases de conocimientos en función de los criterios de usuario. |
kb_uc_cannot_read_mtom |
Mostrar quién no puede leer las bases de conocimientos según los criterios de usuario. |
sys_user_role |
Lista de roles que se pueden asignar a los usuarios. |
sys_user_has_role |
Lista de roles asignados a los usuarios. |
sys_user_group |
Lista de segmentos de grupos de usuarios. |
sys_user_grmember |
Lista de miembros de grupos. |
sys_user |
Lista de todos los usuarios. |
core_company |
Lista de todos los atributos de la empresa. |
cmn_location |
Lista de todos los atributos de ubicación. |
cmn_department |
Lista de todos los atributos del departamento. |
user_criteria |
Lista de registros de criterios de usuario. |
sp_portal |
URI del portal de enlaces en los resultados de búsqueda. |
m2m_sp_portal_knowledge_base |
URI del portal de enlaces de artículos de conocimiento en los resultados de búsqueda. |
m2m_sp_portal_catalog |
URI del portal de enlaces de los elementos del catálogo en los resultados de búsqueda. |
Conceder y verificar el acceso a las ACLs
El conector requiere acceso de LCA a los campos de elementos de catálogo de la tabla sc_cat_item
.
Para conceder y verificar el acceso, sigue estos pasos:
Para conceder acceso explícito, crea una regla de LCA e introduce manualmente
sc_cat_item.*
en el campo Nombre del formulario.Participar sc_cat_item.*
Verifica que las ACLs se hayan actualizado.
Ve a
sys_security_acl_role_list.do
en la barra de búsqueda.Participar sys_security_acl_role_list.do
Define Rol como el rol que quieras verificar.
Seleccionar rol para verificar Verifica que los ACLs necesarios estén asignados al rol.
Usar un rol personalizado con administradores de entidades
El rol de administrador puede no ser adecuado para equipos u organizaciones que quieran evitar asignar permisos demasiado potentes. Esta opción proporciona un rol con tres permisos específicos que conceden el acceso necesario.
Ve a Todos > Seguridad del sistema > Usuarios y grupos > Roles.
Añadir roles Selecciona Nuevo e introduce un nombre.
Haz clic en el botón Nuevo. Haz clic en Enviar.
Haz clic en el botón Enviar. Busca el rol creado en la lista.
Busca el nombre del rol y haz clic en él. Vaya a Contiene roles > Editar.
Haz clic en el botón Editar. Añade los siguientes roles al rol recién creado y haz clic en Guardar.
catalog_admin
knowledge_admin
incident_manager
Añade roles y haz clic en el botón Guardar Confirma las actualizaciones.
Confirmar roles En la siguiente imagen se muestra el rol personalizado que incluye tres roles:
Roles personalizados
Usar un rol de administrador
Puedes usar un rol de administrador para extraer datos. Usa el rol de administrador predeterminado configurado con la instancia o crea un usuario con un rol de administrador siguiendo estos pasos:
Ve a Todos > Administración de usuarios > Usuarios.
Seleccionar usuarios Crea un usuario con un nombre.
Selecciona el nombre de usuario. Habilita Solo acceso al servicio web. Si seleccionas Solo acceso al servicio web, crearás un usuario no interactivo.
Usuarios interactivos frente a usuarios no interactivos: los usuarios interactivos pueden iniciar sesión en la interfaz de usuario o en el portal de servicios de ServiceNow con su nombre de usuario y contraseña. Pueden acceder a una instancia a través de una URL que apunte a una página, un formulario o una lista de la interfaz de usuario. También pueden conectarse mediante métodos de inicio de sesión único, como la autenticación digest o el lenguaje de marcado para confirmaciones de seguridad (SAML). Además, pueden usar sus credenciales para autorizar conexiones SOAP si lo permiten los ajustes de seguridad estrictos y tienen acceso ilimitado a otras conexiones de API, como WSDL, JSON, XML o XSD.
Por otro lado, los usuarios no interactivos solo pueden usar sus credenciales para autorizar conexiones de APIs como JSON, SOAP y WSDL. No pueden iniciar sesión en la interfaz de usuario de ServiceNow y solo pueden acceder a la instancia a través de protocolos de API.
Después de crear el usuario, selecciónalo en la lista de usuarios.
Elige un usuario Haga clic en Roles > Editar.
Editar roles Añade Administrar.
Haz clic en Guardar para añadir una lista de roles al usuario.
Añadir una lista de roles al usuario Haz clic en Definir contraseña, genera una automáticamente y guárdala.
Crear contraseña
Conceder un rol a un usuario
Ve a Todos > Administración de usuarios > Usuarios.
Seleccionar usuarios Busca o crea un usuario.
Buscar o crear un usuario Si no hay ningún usuario disponible, ve a Seguridad del sistema > Usuarios y grupos > Usuarios.
Seleccionar usuarios Haz clic en New (Nuevo).
Haz clic en el botón Nuevo. Crea una cuenta de servicio en la tabla de usuarios. Asegúrate de hacer clic en Acceso solo a servicios web.
Haz clic en la opción Solo acceso a servicios web. Desplázate hasta Roles.
Ve a Roles. Haz clic en Editar.
Editar roles Concede el rol que has creado y asígnalo al usuario. Según el tipo de rol que hayas creado en el paso anterior, selecciona el adecuado y asígnalo al usuario. Haz clic en Guardar.
Selecciona y asigna el rol O
Asigna el rol y guarda los cambios Consulta el rol personalizado con la LCA.
Rol personalizado con LCA Obtén el nombre de usuario y la contraseña del usuario y haz clic en Definir contraseña.
Crear contraseña Generar automáticamente una contraseña y guardarla para usarla más adelante.
Generar una contraseña automáticamente
Crear un conector de ServiceNow
Consola
Para usar la consola Google Cloud para sincronizar datos de ServiceNow con Gemini Enterprise, sigue estos pasos:
En la Google Cloud consola, ve a la página Gemini Enterprise.
En el menú de navegación, haga clic en Almacenes de datos.
Haz clic en
Crear almacén de datos.En la página Seleccionar una fuente de datos, desplázate o busca ServiceNow para conectar tu fuente de terceros.
Introduce tu información de autenticación de ServiceNow.
- URI de instancia
- ID de cliente
- Secreto de cliente
- Cuenta de usuario
- Password (Contraseña)
Información de autenticación de ServiceNow Asigna un nombre único al almacén de datos y haz clic en Crear.
Selecciona las entidades que quieras sincronizar:
Artículo de conocimientos
Catálogo de servicios
Incidente
Attachment
Para filtrar entidades del índice o asegurarse de que se incluyan en él, haga clic en Filtrar.
Especificar filtros para incluir o excluir entidades Haz clic en Guardar.
Haz clic en Continuar.
Selecciona la Frecuencia de sincronización para Sincronización completa y la Frecuencia de sincronización incremental para Sincronización de datos incremental. Para obtener más información, consulta Programaciones de sincronización.
Si quieres programar sincronizaciones completas independientes de los datos de entidad y de identidad, despliega el menú de Sincronización completa y selecciona Opciones personalizadas.
Configurar programaciones independientes para la sincronización completa de entidades y la sincronización completa de identidades. Selecciona una región para tu conector de datos.
Haz clic en Crear. Gemini Enterprise crea tu almacén de datos y lo muestra en la página Almacenes de datos.
Para comprobar el estado de la ingestión, vaya a la página Almacenes de datos y haga clic en el nombre del conector de datos para ver los detalles en su página Datos. El estado del conector cambia de Creando a En ejecución cuando empieza a sincronizar datos. Cuando se completa la ingestión, el estado cambia a Activo para indicar que la conexión a la fuente de datos se ha configurado y que se está esperando la siguiente sincronización programada.
En función del tamaño de los datos, la ingestión puede tardar varios minutos o varias horas.
Habilitar la sincronización en tiempo real
La sincronización en tiempo real solo sincroniza las entidades de documentos y no los datos relacionados con las entidades de identidad. En la siguiente tabla se muestran los eventos de documento que se admiten con la sincronización en tiempo real.
Entidades de ServiceNow | Crear | Actualizar | Eliminar | Cambios en los permisos |
---|---|---|---|---|
Archivos adjuntos | ||||
Catálogos | ||||
Incidentes | ||||
Conocimiento |
Para habilitar la sincronización en tiempo real de tu conector, sigue estos pasos.
En la Google Cloud consola, ve a la página Gemini Enterprise.
En el menú de navegación, haga clic en Almacenes de datos.
Haga clic en el nombre del conector de ServiceNow para el que quiera habilitar la sincronización en tiempo real.
En la página Datos del conector, espera hasta que el Estado del conector cambie a Activo.
En el campo Sincronización en tiempo real, haz clic en Ver o editar.
Consulta y edita los ajustes de sincronización en tiempo real. Haz clic en el interruptor Habilitar sincronización en tiempo real para activarlo.
Proporciona un valor para Client secret (Secreto de cliente). Este valor se usa para verificar los eventos de webhook de ServiceNow. Te recomendamos que uses una cadena de 20 caracteres.
Habilita la sincronización en tiempo real y proporciona un secreto de cliente. Haz clic en Guardar.
Espere a que el campo Sincronización en tiempo real cambie a En ejecución.
Ve a tu instancia de ServiceNow con una cuenta que tenga el rol de administrador.
Haz clic en Todo.
En el campo Filter, introduce
sys_properties.list
y envía la consulta.Busca las propiedades del sistema en ServiceNow. Haga clic en Nuevo para crear una propiedad del sistema.
Crea una propiedad de sistema en ServiceNow. Rellena los campos de la nueva propiedad del sistema.
En Name (Nombre), introduce un nombre descriptivo, como
webhook_secret
.En Valor, introduce el valor que has usado en el campo Secreto de cliente de la configuración de sincronización en tiempo real del conector Gemini Enterprise.
Haz clic en Enviar.
Rellena los campos de la nueva propiedad del sistema de ServiceNow.
Crear un webhook para entidades de conocimientos
Para crear un webhook para entidades de conocimiento de ServiceNow, sigue estos pasos.
Ve a tu instancia de ServiceNow con una cuenta que tenga el rol de administrador y haz clic en Todo > Definición del sistema > Reglas de negocio.
Consulta las reglas de negocio de ServiceNow. Haga clic en Nueva para crear una regla de negocio.
Crea una regla de negocio de ServiceNow. Rellena los campos del webhook.
En Name (Nombre), introduce un nombre descriptivo, como
Knowledge webhook
.Selecciona Avanzado.
En Tabla, selecciona Conocimiento [kb_knowledge].
Rellena los campos del webhook de la entidad de conocimiento. Haz clic en Cuándo ejecutar.
En When (Cuándo), selecciona before (antes).
Selecciona Insertar, Actualizar y Eliminar.
Especifica cuándo se debe ejecutar el webhook de la entidad de conocimiento. Haz clic en Avanzado.
Pega el siguiente código en el campo Script y sustituye el valor del endpoint por la URL de notificación de webhook que se te proporcionó cuando habilitaste la sincronización en tiempo real del conector de Gemini Enterprise:
(function executeRule(current, previous /*null when async*/) { var request = new sn_ws.RESTMessageV2(); request.setEndpoint('WEBHOOK_NOTIFICATION_URL'); request.setHttpMethod('POST'); var token = gs.getProperty('webhook_secret'); var requestBody = "{\"sys_id\":\"" + current.sys_id + "\",\"entity\":\"" + "knowledge" + "\",\"operation\":\"" + current.operation() + "\"}"; request.setRequestHeader("Accept","application/json"); request.setRequestHeader('Content-Type','application/json'); request.setRequestBody(requestBody); var signature = SncAuthentication.encode(requestBody, token, "HmacSHA256"); request.setRequestHeader("X-Hub-Signature", 'sha256=' + signature); var response = request.execute(); gs.log(response.getBody()); })(current, previous);
Introduce la secuencia de comandos proporcionada. Haz clic en Enviar.
Envía tu nueva regla de empresa.
Crear un webhook para entidades de catálogo
Para crear un webhook para entidades de catálogo de ServiceNow, sigue los pasos que se indican en Crear un webhook para entidades de conocimiento, con las siguientes diferencias:
Cuando cree una regla de negocio, en Tabla, seleccione Artículo de catálogo [sc_cat_item].
En la pestaña Avanzado, en Secuencia de comandos, pega el siguiente código y sustituye el valor del endpoint por la URL de notificación de webhook que se te proporcionó cuando habilitaste la sincronización en tiempo real del conector de Gemini Enterprise:
(function executeRule(current, previous /*null when async*/) { var request = new sn_ws.RESTMessageV2(); request.setEndpoint('WEBHOOK_NOTIFICATION_URL'); request.setHttpMethod('POST'); var token = gs.getProperty('webhook_secret'); var requestBody = "{\"sys_id\":\"" + current.sys_id + "\",\"entity\":\"" + "catalog" + "\",\"operation\":\"" + current.operation() + "\"}"; request.setRequestHeader("Accept","application/json"); request.setRequestHeader('Content-Type','application/json'); request.setRequestBody(requestBody); var signature = SncAuthentication.encode(requestBody, token, "HmacSHA256"); request.setRequestHeader("X-Hub-Signature", 'sha256=' + signature); var response = request.execute(); gs.log(response.getBody()); })(current, previous);
Crear un webhook para entidades de incidentes
Para crear un webhook para entidades de incidencias de ServiceNow, siga los pasos que se indican en Crear un webhook para entidades de conocimientos, con las siguientes diferencias:
Cuando cree una regla de negocio, en Tabla, seleccione Incidencia [incident].
En la pestaña Avanzado, en Secuencia de comandos, pega el siguiente código y sustituye el valor del endpoint por la URL de notificación de webhook que se te proporcionó cuando habilitaste la sincronización en tiempo real del conector de Gemini Enterprise:
(function executeRule(current, previous /*null when async*/) { var request = new sn_ws.RESTMessageV2(); request.setEndpoint('WEBHOOK_NOTIFICATION_URL'); request.setHttpMethod('POST'); var token = gs.getProperty('webhook_secret'); var requestBody = "{\"sys_id\":\"" + current.sys_id + "\",\"entity\":\"" + "incident" + "\",\"operation\":\"" + current.operation() + "\"}"; request.setRequestHeader("Accept","application/json"); request.setRequestHeader('Content-Type','application/json'); request.setRequestBody(requestBody); var signature = SncAuthentication.encode(requestBody, token, "HmacSHA256"); request.setRequestHeader("X-Hub-Signature", 'sha256=' + signature); var response = request.execute(); gs.log(response.getBody()); })(current, previous);
Crear un webhook para entidades de archivos adjuntos
Para crear un webhook para entidades de archivos adjuntos de ServiceNow, siga los pasos que se indican en Crear un webhook para entidades de conocimiento, con las siguientes diferencias:
Al crear una regla de negocio, en Tabla, seleccione Adjunto [sys_attachment].
En la pestaña Avanzado, en Secuencia de comandos, pega el siguiente código y sustituye el valor del endpoint por la URL de notificación de webhook que se te proporcionó cuando habilitaste la sincronización en tiempo real del conector de Gemini Enterprise:
(function executeRule(current, previous /*null when async*/) { var request = new sn_ws.RESTMessageV2(); request.setEndpoint('WEBHOOK_NOTIFICATION_URL'); request.setHttpMethod('POST'); var token = gs.getProperty('webhook_secret'); var requestBody = "{\"sys_id\":\"" + current.sys_id + "\",\"entity\":\"" + "attachment" + "\",\"operation\":\"" + current.operation() + "\"}"; request.setRequestHeader("Accept","application/json"); request.setRequestHeader('Content-Type','application/json'); request.setRequestBody(requestBody); var signature = SncAuthentication.encode(requestBody, token, "HmacSHA256"); request.setRequestHeader("X-Hub-Signature", 'sha256=' + signature); var response = request.execute(); gs.log(response.getBody()); })(current, previous);
Configurar el grupo de trabajadores
El grupo de usuarios permite gestionar y autenticar a los usuarios de proveedores de identidades externos, como Azure u Okta, en la consola de Google Cloud . Para configurar tu grupo de trabajadores y habilitar la aplicación web para que los usuarios puedan acceder sin problemas, haz lo siguiente:
Crea un grupo de trabajadores a nivel de organización en Google Cloud siguiendo el manual de configuración correspondiente:
Configura el grupo de trabajadores en Gemini Enterprise > Configuración de la región en la que crees tu aplicación.
Pasos siguientes
Para adjuntar tu almacén de datos a una aplicación, crea una aplicación y selecciona tu almacén de datos siguiendo los pasos que se indican en Crear una aplicación.
Para ver una vista previa de cómo se muestran los resultados de búsqueda después de configurar tu aplicación y tu almacén de datos, consulta Vista previa de los resultados de búsqueda.
Para habilitar las alertas del almacén de datos, consulta Configurar alertas para almacenes de datos de terceros.