En esta página, se describe cómo conectar ServiceNow a Gemini Enterprise.
Después de configurar tu fuente de datos y de importar datos por primera vez, el almacén de datos sincroniza los datos de esa fuente con la frecuencia que selecciones durante la configuración.
Antes de comenzar
Antes de configurar la conexión, asegúrate de tener lo siguiente:
- Instancia de ServiceNow: Crea una instancia de ServiceNow siguiendo las instrucciones de la documentación de ServiceNow para desarrolladores.
ProyectoGoogle Cloud : Configura un proyecto Google Cloud con una cuenta de administrador capaz de administrar los parámetros de configuración a nivel de la organización y asegúrate de que la organización pueda configurar un grupo de trabajadores.
Grupo de trabajadores: Asegúrate de que tu organización esté configurada para administrar un grupo de trabajadores.
Configura ServiceNow
ServiceNow ofrece dos sitios principales:
Sitio principal de ServiceNow: Es el sitio de tu instancia de ServiceNow.
- Administra usuarios, grupos y tareas de administración del sistema.
- URL: Es la URL de tu instancia de ServiceNow.
- Accede con tus credenciales de administrador.
-
- Configura la base de conocimiento, establece flujos de trabajo y desarrolla aplicaciones personalizadas.
- URL:
https://developer.service-now.com
. - Accede con tu ID de ServiceNow.
Para crear un extremo de OAuth, haz lo siguiente:
- Accede a la instancia principal de ServiceNow con un rol de administrador.
Navega a Todos > System OAuth > Registro de aplicaciones.
Selecciona el registro de la aplicación Haz clic en Nuevo.
Haz clic en el botón Nuevo. Haz clic en Crear un extremo de API de OAuth para clientes externos.
Selecciona la opción para crear un extremo de API de OAuth para clientes externos Completa los campos obligatorios:
- Nombre: Ingresa un nombre único.
- URL de redireccionamiento: Ingresa la URL de redireccionamiento:
https://vertexaisearch.cloud.google.com/console/oauth/servicenow_oauth.html
Haz clic en Enviar para crear la credencial.
Ingresa la URL de redireccionamiento. Después de enviarla, haz clic en el nombre para ver el ID de cliente.
Ver el ID de cliente El secreto está enmascarado. Haz clic en el ícono de candado junto a él para desenmascarar el secreto del cliente y verlo.
Haz clic en el ícono de bloqueo Guarda el ID de cliente y el Secreto del cliente para usarlos más adelante.
Copia el ID de cliente y el secreto del cliente
Para recuperar las credenciales de la instancia de ServiceNow, haz lo siguiente:
Ve a developer.service-now.com y haz clic en Manage instance password.
Haz clic en el botón Administrar contraseña de la instancia. Conserva una copia de la URL, el nombre de usuario y la contraseña de la instancia para usarlos cuando sea necesario.
En esta etapa, ya están disponibles los cinco datos necesarios para configurar un almacén de datos de ServiceNow. Si no hay problemas con el uso del rol de administrador para extraer datos, continúa con la creación de un almacén de datos.
Configura roles y permisos de administrador
Mejora el rol de administrador a security_admin
para administrar usuarios y roles.
Haz clic en el ícono de perfil y, luego, selecciona Elevate role.
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 administrar usuarios.Selecciona el rol security_admin
y, luego, haz clic en el botón Actualizar.
Configura roles y permisos de usuarios
Para crear un almacén de datos de ServiceNow en Gemini Enterprise, debes otorgar los roles y permisos adecuados a los usuarios. Antes de comenzar, es fundamental que comprendas cómo el conector controla el acceso a la entidad incident. Consulta Visibilidad de incidentes y control de acceso.
Elige una de las siguientes opciones para otorgar 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 requerido 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. Esto garantiza que los usuarios finales solo puedan ver los incidentes con los que están asociados directamente.
Como parte de este enfoque restrictivo, el conector no respeta los permisos amplios basados en roles para la visibilidad de los incidentes. Los roles estándar de ServiceNow, como itil
y sn_incident_read
, que pueden otorgar visibilidad a un usuario sobre todos los incidentes en la IU de ServiceNow, no otorgan el mismo nivel de acceso en Gemini Enterprise.
Los usuarios con cualquiera de los siguientes roles tienen visibilidad global de los incidentes y pueden ver todos los incidentes:
admin
incident_manager
change_manager
Todos los demás usuarios solo pueden ver un incidente si lo abrieron, lo volvieron a abrir, lo resolvieron o lo cerraron. También pueden ver un incidente si se encuentran en las siguientes situaciones:
- El usuario está en el grupo de asignación del incidente.
- El usuario es el emisor asociado con el incidente.
- Se trata de un usuario asignado.
- El usuario está en una lista de seguimiento.
- El usuario está en una lista de notas de trabajo.
- El usuario está en una lista de asignados adicionales.
Este comportamiento evita que un usuario de Gemini Enterprise encuentre un incidente al que no tiene 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 tiene acceso en ServiceNow.
Crea un rol personalizado con reglas LCA (recomendado)
Crea un rol personalizado con el conjunto mínimo de permisos.
Ve a Todos > Administración de usuarios > Roles.
Seleccionar roles Haz clic en Nuevo.
Haz clic en el botón Nuevo. Proporciona un nombre y haz clic en Enviar.
Selecciona un nombre y envíalo Ve a Seguridad del sistema > Control de acceso (ACL).
Selecciona el control de acceso (LCA) Haz clic en Nuevo para crear una regla LCA nueva.
Haz clic en el botón Nuevo. Repite los dos pasos siguientes hasta que otorgues acceso a todas las tablas requeridas.
Usa
sys_user_role
como ejemplo para ver cómo se otorga el acceso a la tabla.Selecciona sys_user_role
Haz clic en Enviar y selecciona el rol.
Tablas requeridas
El conector necesita acceso a estas tablas para que se ejecute cada entidad.
Nombre de la tabla | Descripción |
---|---|
incidente |
Muestra los incidentes en los resultados de la búsqueda. |
sc_cat_item |
Muestra los elementos del catálogo en los resultados de la búsqueda. |
sc_cat_item_user_criteria_mtom |
Muestra los usuarios que pueden acceder a los elementos del catálogo según los criterios del usuario. |
sc_cat_item_user_criteria_no_mtom |
Muestra los usuarios que no pueden acceder a los elementos del catálogo según los criterios del usuario. |
sc_cat_item_user_mtom |
Muestra qué usuarios pueden acceder a los elementos del catálogo. |
sc_cat_item_user_no_mtom |
Muestra los usuarios que no pueden acceder a los elementos del catálogo. |
kb_knowledge |
La lista de artículos de conocimiento que se pueden mostrar en los resultados de la búsqueda. |
kb_knowledge_base |
La lista de bases de conocimiento que se pueden mostrar en los resultados de la búsqueda. |
kb_uc_can_contribute_mtom |
Muestra quién puede contribuir a las bases de conocimiento según los criterios del usuario. |
kb_uc_can_read_mtom |
Muestra quién puede leer las bases de conocimiento según los criterios del usuario. |
kb_uc_cannot_read_mtom |
Muestra quién no puede leer las bases de conocimiento según los criterios del usuario. |
sys_user_role |
La lista de roles que se pueden asignar a los usuarios. |
sys_user_has_role |
La lista de roles asignados a los usuarios. |
sys_user_group |
La lista de segmentos de grupos de usuarios. |
sys_user_grmember |
Es la lista de miembros de los grupos. |
sys_user |
La lista de todos los usuarios. |
core_company |
La lista de todos los atributos de la empresa. |
cmn_location |
Es la lista de todos los atributos de ubicación. |
cmn_department |
La lista de todos los atributos de los departamentos. |
user_criteria |
La lista de registros de criterios del usuario. |
sp_portal |
URI del portal de vínculos en los resultados de la búsqueda. |
m2m_sp_portal_knowledge_base |
URI del portal de vínculos para los artículos de conocimiento en los resultados de la búsqueda. |
m2m_sp_portal_catalog |
URI del portal de vínculos para los elementos del catálogo en los resultados de la búsqueda. |
Otorga y verifica el acceso a la ACL
El conector requiere acceso a la ACL de los campos de los elementos del catálogo de la tabla sc_cat_item
.
Para otorgar y verificar el acceso, haz lo siguiente:
Crea una regla LCA nueva y, luego, ingresa
sc_cat_item.*
de forma manual en el campo Nombre del formulario para otorgar acceso explícito.Ingresa sc_cat_item.*
Verifica que se hayan actualizado las ACL.
Ve a
sys_security_acl_role_list.do
en la barra de búsqueda.Ingresa sys_security_acl_role_list.do
Establece la opción Rol en el rol que deseas verificar.
Selecciona el rol que deseas verificar Verifica que las ACL requeridas estén asignadas al rol.
Usa un rol personalizado con administradores de entidades
Usar el rol de administrador puede no ser adecuado para los equipos o las organizaciones que desean evitar asignar permisos demasiado potentes. Esta opción proporciona un rol con tres permisos específicos que otorgan el acceso requerido.
Ve a Todos > Seguridad del sistema > Usuarios y grupos > Roles.
Agregar roles Selecciona Nuevo y, luego, ingresa 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 por el nombre del rol y haz clic en él. Navega a Contains roles > Editar.
Haz clic en el botón Editar. Agrega los siguientes roles al rol recién creado y, luego, haz clic en Guardar.
catalog_admin
knowledge_admin
incident_manager
Agrega roles y haz clic en el botón Guardar. Confirma las actualizaciones.
Confirmar roles En la siguiente figura, se muestra el rol personalizado que incluye tres roles:
Roles personalizados
Usa 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 nuevo con un rol de administrador; para ello, haz lo siguiente:
Ve a Todos > Administración de usuarios > Usuarios.
Selecciona usuarios. Crea un usuario nuevo con un nombre.
Selecciona el nombre de usuario Habilita Solo acceso a servicios web. Cuando seleccionas Web service access only, creas un usuario no interactivo.
Usuarios interactivos comparados con usuarios no interactivos: Los usuarios interactivos pueden acceder a la IU o al 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 apunta a una página, un formulario o una lista de la IU. También pueden conectarse con métodos de inicio de sesión único, como la autenticación de resumen o el lenguaje de marcado para confirmaciones de seguridad (SAML). Además, pueden usar sus credenciales para autorizar conexiones SOAP si lo permiten los parámetros de configuración de seguridad estrictos, y tienen acceso sin restricciones a otras conexiones de API, como WSDL, JSON, XML o XSD.
En cambio, los usuarios no interactivos solo pueden usar sus credenciales para autorizar conexiones de API, como JSON, SOAP y WSDL. No pueden acceder a la IU de ServiceNow, solo 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 Haz clic en Roles > Editar.
Editar roles Agrega un administrador.
Haz clic en Guardar para agregar una lista de roles al usuario.
Agrega una lista de roles al usuario Haz clic en Establecer contraseña, genera una automáticamente y guárdala.
Establecer contraseña
Otorga un rol a un usuario
Ve a Todos > Administración de usuarios > Usuarios.
Selecciona usuarios. Busca un usuario o crea uno nuevo.
Busca un usuario o crea uno nuevo Si no hay ningún usuario disponible, ve a Seguridad del sistema > Usuarios y grupos > Usuarios.
Selecciona usuarios Haz clic en Nuevo.
Haz clic en el botón Nuevo. Crea una cuenta de servicio nueva en la tabla de usuarios. Asegúrate de hacer clic en Web service access only.
Haz clic en la opción Solo acceso a servicios web. Desplázate hasta Roles.
Ve a Roles. Haz clic en Editar.
Editar roles Otorga el rol que creaste y asígnaselo al usuario. Según el tipo de rol que creaste 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 Visualiza el rol personalizado con ACL.
Rol personalizado con LCA Obtén el nombre de usuario y la contraseña del usuario, y haz clic en Establecer contraseña.
Establecer contraseña Genera automáticamente una contraseña y guárdala para usarla más adelante.
Generar automáticamente una contraseña
Crea un conector de ServiceNow
Console
Para usar la consola de Google Cloud y sincronizar datos de ServiceNow con Gemini Enterprise, sigue estos pasos:
En la consola de Google Cloud , ve a la página Gemini Enterprise.
En el menú de navegación, haz clic en Almacenes de datos.
Haz clic en
Crear almacén de datos.En la página Selecciona una fuente de datos, desplázate hasta ServiceNow o busca esa opción para conectar tu fuente externa.
Ingresa la información de autenticación de ServiceNow.
- URI de instancia
- Client ID (ID de cliente)
- Secreto del cliente
- Cuenta de usuario
- Contraseña
Información de autenticación de ServiceNow Completa un nombre único para tu almacén de datos y haz clic en Crear.
Selecciona las entidades que deseas sincronizar:
Artículo de conocimientos
Catálogo de servicios
Incidente
Archivo adjunto
Para filtrar entidades del índice o asegurarte de que se incluyan en él, haz clic en Filtrar.
Especifica filtros para incluir o excluir entidades Haz clic en Guardar.
Haz clic en Continuar.
Selecciona la frecuencia de sincronización para la sincronización completa y la frecuencia de sincronización incremental para la sincronización incremental de datos. Para obtener más información, consulta Programas de sincronización.
Si deseas programar sincronizaciones completas independientes de los datos de identidad y de entidad, expande el menú en Sincronización completa y, luego, selecciona Opciones personalizadas.
Configura programas independientes para la sincronización completa de entidades y 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 verificar el estado de la transferencia, ve a la página Almacenes de datos y haz clic en el nombre del conector de datos para ver los detalles en la página Datos. El estado del conector cambia de Creando a Ejecutando cuando comienza a sincronizar datos. Cuando se completa la transferencia, el estado cambia a Activo para indicar que la conexión a tu fuente de datos está configurada y a la espera de la próxima sincronización programada.
Según el tamaño de tus datos, la transferencia 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 sincroniza los datos relacionados con las entidades de identidad. En la siguiente tabla, se muestran los eventos de documentos que se admiten con la sincronización en tiempo real.
Entidades de ServiceNow | Crear | Actualizar | Borrar | Cambios de permisos |
---|---|---|---|---|
Archivos adjuntos | ||||
Catálogos | ||||
Incidentes | ||||
Conocimiento |
Para habilitar la sincronización en tiempo real de tu conector, sigue estos pasos.
En la consola de Google Cloud , ve a la página Gemini Enterprise.
En el menú de navegación, haz clic en Almacenes de datos.
Haz clic en el nombre del conector de ServiceNow para el que deseas habilitar la sincronización en tiempo real.
En la página Datos del conector, espera a 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 la configuración de la sincronización en tiempo real. Haz clic en el botón de activación Habilitar la sincronización en tiempo real.
Proporciona un valor para Secreto del cliente. Este valor se usa para verificar los eventos de webhook de ServiceNow. Recomendamos usar una cadena de 20 caracteres.
Habilita la sincronización en tiempo real y proporciona un secreto del cliente. Haz clic en Guardar.
Espera 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.
Haga clic en Todos.
En el campo Filtrar, ingresa
sys_properties.list
y envía la solicitud.Ubica las propiedades del sistema en ServiceNow. Haz clic en Nuevo para crear una propiedad del sistema.
Crea una nueva propiedad del sistema en ServiceNow. Completa los campos de la nueva propiedad del sistema.
En Nombre, ingresa un nombre descriptivo, como
webhook_secret
.En Valor, ingresa el valor que usaste para el campo Secreto del cliente en la configuración de sincronización en tiempo real del conector de Gemini Enterprise.
Haz clic en Enviar.
Completa los campos de la nueva propiedad del sistema de ServiceNow.
Crea un webhook para entidades de conocimiento
Para crear un webhook para las 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 Todos > System Definition > Business Rules.
Consulta las reglas comerciales de ServiceNow. Haz clic en Nuevo para crear una regla empresarial nueva.
Crea una regla empresarial nueva de ServiceNow. Completa los campos del webhook.
En Nombre, ingresa un nombre descriptivo, como
Knowledge webhook
.Selecciona Configuración avanzada.
En Tabla, selecciona Knowledge [kb_knowledge].
Completa los campos del webhook de la entidad de conocimiento. Haz clic en When to run.
En When, selecciona before.
Selecciona Insertar, Actualizar y Borrar.
Especifica cuándo se debe ejecutar el webhook de la entidad de conocimiento. Haz clic en Configuración avanzada.
Pega el siguiente código en el campo Secuencia de comandos y reemplaza el valor de extremo por la URL de notificación de webhook que se proporcionó cuando habilitaste la sincronización en tiempo real para el 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);
Ingresa el código proporcionado. Haz clic en Enviar.
Envía tu nueva regla empresarial.
Crea un webhook para entidades de catálogo
Para crear un webhook para las entidades de catálogo de ServiceNow, sigue los pasos que se indican en Crea un webhook para entidades de conocimiento, con las siguientes diferencias:
Cuando crees una regla empresarial nueva, en Tabla, selecciona Catalog Item [sc_cat_item].
En la pestaña Configuración avanzada, en Secuencia de comandos, pega el siguiente código y reemplaza el valor de extremo por la URL de notificación de webhook que se proporcionó cuando habilitaste la sincronización en tiempo real para el 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);
Crea un webhook para entidades de incidentes
Para crear un webhook para las entidades de incidentes de ServiceNow, sigue los pasos que se indican en Crea un webhook para entidades de conocimiento, con las siguientes diferencias:
Cuando crees una regla empresarial nueva, en Tabla, selecciona Incident [incident].
En la pestaña Configuración avanzada, en Secuencia de comandos, pega el siguiente código y reemplaza el valor de extremo por la URL de notificación de webhook que se proporcionó cuando habilitaste la sincronización en tiempo real para el 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);
Crea un webhook para entidades de adjuntos
Para crear un webhook para las entidades de adjuntos de ServiceNow, sigue los pasos que se indican en Crea un webhook para entidades de conocimiento, con las siguientes diferencias:
Cuando crees una regla empresarial nueva, en Tabla, selecciona Attachment [sys_attachment].
En la pestaña Configuración avanzada, en Secuencia de comandos, pega el siguiente código y reemplaza el valor de extremo por la URL de notificación de webhook que se proporcionó cuando habilitaste la sincronización en tiempo real para el 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);
Configura el grupo de trabajadores
El grupo de trabajadores te permite administrar y autenticar usuarios de proveedores de identidad externos, como Okta o Azure, en la consola Google Cloud . Para configurar tu grupo de trabajadores y habilitar la app web de modo que los usuarios accedan sin inconvenientes, haz lo siguiente:
Crea un grupo de trabajadores a nivel de la organización en Google Cloud ; para ello, sigue el manual de configuración adecuado:
Configura el grupo de trabajadores en Gemini Enterprise > Configuración para la región en la que creas tu app.
Próximos pasos
Para adjuntar tu almacén de datos a una app, crea una app y selecciona tu almacén de datos con los pasos que se indican en Crea una app.
Para obtener una vista previa de cómo aparecerán los resultados de la búsqueda después de configurar tu app y tu almacén de datos, consulta Obtén una vista previa de los resultados de la búsqueda.
Para habilitar las alertas del almacén de datos, consulta Configura alertas para almacenes de datos de terceros.