Nesta página, descrevemos como conectar o ServiceNow ao Gemini Enterprise.
Depois de configurar a fonte de dados e importar os dados pela primeira vez, o repositório de dados sincroniza as informações dessa fonte com uma frequência que você seleciona durante a configuração.
Antes de começar
Antes de configurar a conexão, verifique se você tem o seguinte:
- Instância do ServiceNow: crie uma instância do ServiceNow seguindo as instruções na documentação do Desenvolvedor do ServiceNow.
Google Cloud projeto: configure um Google Cloud projeto com uma conta de administrador capaz de gerenciar configurações no nível da organização, garantindo que ela possa configurar um pool de força de trabalho.
Pool de funcionários: verifique se sua organização está configurada para gerenciar um pool de funcionários.
Configurar o ServiceNow
O ServiceNow oferece dois sites principais:
Site principal do ServiceNow: o site da sua instância do ServiceNow.
- Gerencia usuários, grupos e tarefas de administração do sistema.
- URL: o URL da sua instância do ServiceNow.
- Faça login usando suas credenciais de administrador.
-
- Configura a base de conhecimento, cria fluxos de trabalho e desenvolve aplicativos personalizados.
- URL:
https://developer.service-now.com
. - Faça login usando seu ID do ServiceNow.
Para criar um endpoint OAuth:
- Faça login na instância principal do ServiceNow com uma função de administrador.
Acesse Todos > OAuth do sistema > Registro de aplicativos.
Selecionar registro de aplicativo Clique em Novo.
Clique no botão "Novo" Clique em Criar um endpoint de API OAuth para clientes externos.
Selecione a opção para criar um endpoint de API OAuth para clientes externos Preencha os campos obrigatórios:
- Nome: insira um nome exclusivo.
- URL de redirecionamento: digite o URL de redirecionamento:
https://vertexaisearch.cloud.google.com/console/oauth/servicenow_oauth.html
Clique em Enviar para criar a credencial.
Insira o URL de redirecionamento Depois do envio, clique no nome para ver o ID do cliente.
Ver o ID do cliente O secret é mascarado. Clique no ícone de bloqueio ao lado dele para revelar e conferir o secret do cliente.
Clique no ícone de bloqueio Salve o ID do cliente e a chave secreta do cliente para uso posterior.
Copie o ID e a chave secreta do cliente
Para recuperar as credenciais da instância do ServiceNow:
Acesse developer.service-now.com e clique em Gerenciar senha da instância.
Clique no botão "Gerenciar senha da instância" Mantenha uma cópia do URL, do nome de usuário e da senha da instância para usar quando necessário.
Nesta etapa, todas as cinco informações necessárias para configurar um repositório de dados do ServiceNow estão disponíveis. Se não houver problemas em usar a função de administrador para extrair dados, crie um repositório de dados.
Configurar funções e permissões de administrador
Eleve a função de administrador para security_admin
e gerencie usuários e funções.
Clique no ícone do seu perfil e selecione Promover função.
Clique no botão "Promover função" Selecione
security_admin
e clique em Atualizar. O papelsecurity_admin
ajuda a criar papéis e gerenciar usuários.Selecione a função security_admin
e clique no botão "Atualizar"
Configurar permissões e funções do usuário
Para criar um repositório de dados do ServiceNow no Gemini Enterprise, conceda as funções e permissões adequadas aos usuários. Antes de começar, é fundamental entender como o conector lida com o acesso à entidade incidente. Consulte Visibilidade de incidentes e controle de acesso.
Escolha uma das opções a seguir para conceder aos usuários as funções e permissões necessárias para configurar um repositório de dados em Google Cloud. Cada opção oferece o acesso necessário à sua instância.
Criar uma função personalizada com regras de ACL (recomendado)
Usar uma função personalizada com administradores de entidades
Visibilidade de incidentes e controle de acesso
Para aumentar a segurança e evitar a exposição não intencional de dados, o conector do ServiceNow usa um controle de acesso restritivo para a entidade incident. Isso garante que os usuários finais só possam ver os incidentes com que estão diretamente associados.
Como parte dessa abordagem restritiva, o conector não respeita permissões amplas e baseadas em função para visibilidade de incidentes. As funções padrão do ServiceNow, como itil
e sn_incident_read
, que podem conceder a um usuário visibilidade de todos os incidentes na interface do ServiceNow, não concedem o mesmo nível de acesso no Gemini Enterprise.
Os usuários com qualquer uma das seguintes funções têm visibilidade global de incidentes e podem ver todos os incidentes:
admin
incident_manager
change_manager
Todos os outros usuários só podem ver um incidente se o abriram, reabriram, resolveram ou fecharam. Eles também podem ver um incidente se:
- No grupo de atribuições do incidente.
- Um autor da chamada associado ao incidente.
- Um cessionário.
- Em uma lista de interesses.
- Em uma lista de observações de trabalho.
- Em uma lista de atribuídos adicionais.
Esse comportamento impede que um usuário do Gemini Enterprise encontre um incidente a que não tem acesso. Devido às restrições adicionais em comparação com as permissões mais amplas do ServiceNow, esse comportamento pode impedir que um usuário encontre um incidente no Gemini Enterprise a que tem acesso no ServiceNow.
Criar uma função personalizada com regras de ACL (recomendado)
Crie um papel personalizado com o conjunto mínimo de permissões.
Acesse Tudo > Administração de usuários > Funções.
Selecionar papéis Clique em Novo.
Clique no botão "Novo" Informe um nome e clique em Enviar.
Selecione um nome e envie Acesse Segurança do sistema > Controle de acesso (ACL).
Selecione controle de acesso (ACL) Clique em Nova para criar uma regra de ACL.
Clique no botão "Novo" Repita as duas etapas a seguir até conceder acesso a todas as tabelas necessárias.
Use
sys_user_role
como exemplo para ver como o acesso à tabela é concedido.Selecione sys_user_role
Clique em Enviar e selecione a função.
Tabelas obrigatórias
O conector precisa de acesso a essas tabelas para que cada entidade seja executada.
Nome da tabela | Descrição |
---|---|
incidente |
Mostrar incidentes nos resultados da pesquisa. |
sc_cat_item |
Mostrar itens do catálogo nos resultados da pesquisa. |
sc_cat_item_user_criteria_mtom |
Mostre os usuários que podem acessar itens do catálogo com base nos critérios de usuário. |
sc_cat_item_user_criteria_no_mtom |
Mostra os usuários que não podem acessar itens do catálogo com base em critérios de usuário. |
sc_cat_item_user_mtom |
Mostrar quais usuários podem acessar itens do catálogo. |
sc_cat_item_user_no_mtom |
Mostrar usuários que não podem acessar itens do catálogo. |
kb_knowledge |
A lista de artigos de conhecimento que podem ser mostrados nos resultados da pesquisa. |
kb_knowledge_base |
A lista de bases de conhecimento que podem ser mostradas nos resultados da pesquisa. |
kb_uc_can_contribute_mtom |
Mostrar quem pode contribuir para bases de conhecimento com base nos critérios do usuário. |
kb_uc_can_read_mtom |
Mostrar quem pode ler bases de conhecimento com base nos critérios do usuário. |
kb_uc_cannot_read_mtom |
Mostre quem não consegue ler bases de conhecimento com base nos critérios do usuário. |
sys_user_role |
Lista de funções que podem ser atribuídas aos usuários. |
sys_user_has_role |
Lista de funções mapeadas para os usuários. |
sys_user_group |
Lista de segmentos de grupo de usuários. |
sys_user_grmember |
Lista de participantes do grupo. |
sys_user |
Lista de todos os usuários. |
core_company |
Lista de todos os atributos da empresa. |
cmn_location |
Lista de todos os atributos de local. |
cmn_department |
Lista de todos os atributos de departamento. |
user_criteria |
Lista de registros de critérios do usuário. |
sp_portal |
Vincular o URI do portal nos resultados da pesquisa. |
m2m_sp_portal_knowledge_base |
URI do portal de links para artigos de conhecimento nos resultados da pesquisa. |
m2m_sp_portal_catalog |
URI do portal de links para itens do catálogo nos resultados da pesquisa. |
Conceder e verificar o acesso à ACL
O conector exige acesso de ACL aos campos de item do catálogo da tabela sc_cat_item
.
Para conceder e verificar o acesso, faça o seguinte:
Conceda acesso explícito criando uma nova regra de ACL e inserindo manualmente
sc_cat_item.*
no campo Nome do formulário.Digite sc_cat_item.*
Verifique se as ACLs foram atualizadas.
Acesse
sys_security_acl_role_list.do
na barra de pesquisa.Digite sys_security_acl_role_list.do
Defina Papel como o papel que você quer verificar.
Selecionar papel para verificar Verifique se as ACLs necessárias estão atribuídas à função.
Usar uma função personalizada com administradores de entidades
Usar a função de administrador pode não ser adequado para equipes ou organizações que querem evitar a atribuição de permissões muito poderosas. Essa opção fornece um papel com três permissões específicas que concedem o acesso necessário.
Acesse Todos > Segurança do sistema > Usuários e grupos > Funções.
Adicionar papéis Selecione Novo e insira um nome.
Clique no botão "Novo" Clique em Enviar.
Clique no botão "Enviar" Encontre o papel criada na lista.
Pesquise usando o nome da função e clique nela. Navegue até Contém papéis > Editar.
Clique no botão Editar Adicione os seguintes papéis ao papel recém-criado e clique em Salvar.
catalog_admin
knowledge_admin
incident_manager
Adicione papéis e clique no botão "Salvar" Confirme as atualizações.
Confirmar papéis A figura a seguir mostra o papel personalizado que inclui três papéis:
Funções personalizadas
Usar um papel de administrador
Você pode usar uma função de administrador para extrair dados. Use a função de administrador padrão configurada com a instância ou crie um novo usuário com uma função de administrador fazendo o seguinte:
Acesse Todos > Administração de usuários > Usuários.
Selecionar usuários Crie um usuário com um nome.
Selecionar nome de usuário Ative a opção Somente acesso ao serviço da Web. Ao selecionar Acesso somente ao serviço da Web, você cria um usuário não interativo.
Usuários interativos x usuários não interativos: os usuários interativos podem fazer login na interface do ServiceNow ou no portal de serviços usando o nome de usuário e a senha. Eles podem acessar uma instância por um URL que aponta para uma página, um formulário ou uma lista da interface. Também é possível se conectar usando métodos de Logon único (SSO, na sigla em inglês), como autenticação de resumo ou Linguagem de marcação para autorização de segurança (SAML). Além disso, eles podem usar as credenciais para autorizar conexões SOAP, se permitido por configurações de segurança estritas, e têm acesso irrestrito a outras conexões de API, como WSDL, JSON, XML ou XSD.
Já os usuários não interativos só podem usar as credenciais para autorizar conexões de API como JSON, SOAP e WSDL. Eles não podem fazer login na interface do ServiceNow e só podem acessar a instância por protocolos de API.
Depois de criar o usuário, selecione-o na lista.
Escolher um usuário Clique em Funções > Editar.
Editar funções Adicionar Administrador.
Clique em Salvar para adicionar uma lista de papéis ao usuário.
Adicionar lista de papéis ao usuário Clique em Definir senha, gere automaticamente e salve.
Definir senha
Conceder um papel a um usuário
Acesse Todos > Administração de usuários > Usuários.
Selecionar usuários Encontre ou crie um novo usuário.
Encontrar ou criar um novo usuário Se nenhum usuário estiver disponível, acesse Segurança do sistema > Usuários e grupos > Usuários.
Selecionar usuários Clique em Novo.
Clique no botão "Novo" Crie uma conta de serviço na tabela de usuários. Clique em Acesso somente ao serviço da Web.
Clique na opção "Acesso somente ao serviço da Web" Role a tela até Funções.
Navegue até "Papéis" Clique em Editar.
Editar papéis Conceda e atribua o papel criado ao usuário. Com base no tipo de papel que você criou na etapa anterior, selecione o adequado e atribua ao usuário. Clique em Salvar.
Selecione e atribua a função OU
Atribua a função e salve Confira a função personalizada com ACL.
Função personalizada com ACL Consiga o nome de usuário e a senha do usuário e clique em Definir senha.
Definir senha Gere uma senha automaticamente e guarde-a para uso posterior.
Gerar uma senha automaticamente
Criar um conector do ServiceNow
Console
Para usar o Google Cloud console e sincronizar dados do ServiceNow com o Gemini Enterprise, siga estas etapas:
No console do Google Cloud , acesse a página Gemini Enterprise.
No menu de navegação, selecione Repositório de dados.
Clique em
Criar repositório de dados.Na página Selecionar uma fonte de dados, role a tela ou pesquise ServiceNow para conectar sua fonte de terceiros.
Insira as informações de autenticação do ServiceNow.
- URI da instância
- ID do cliente
- Chave secreta do cliente
- Conta de usuário
- Senha
Informações de autenticação do ServiceNow Preencha um nome exclusivo para seu repositório de dados e clique em Criar.
Selecione quais entidades sincronizar:
Artigo de conhecimento
Catálogo de serviços
Incidente
Anexo
Para filtrar entidades do índice ou garantir que elas sejam incluídas nele, clique em Filtrar.
Especificar filtros para incluir ou excluir entidades Clique em Salvar.
Clique em Continuar.
Selecione a Frequência de sincronização para Sincronização completa e a Frequência de sincronização incremental para Sincronização incremental de dados. Para mais informações, consulte Programações de sincronização.
Se quiser programar sincronizações completas separadas de dados de entidade e identidade, expanda o menu em Sincronização completa e selecione Opções personalizadas.
Definir programações separadas para sincronização completa de entidades e de identidades. Selecione uma região para o conector de dados.
Clique em Criar. O Gemini Enterpriserise cria e exibe os repositórios de dados na página Repositórios de dados.
Para verificar o status da ingestão, acesse a página Repositórios de dados e clique no nome do conector de dados para conferir os detalhes na página Dados. O estado do conector muda de Criação para Execução quando ele começa a sincronizar dados. Quando a transferência for concluída, o estado vai mudar para Ativo para indicar que a conexão com a origem de dados está configurada e aguardando a próxima sincronização programada.
Dependendo do tamanho dos dados, a ingestão pode levar de vários minutos a várias horas.
Ativar a sincronização em tempo real
A sincronização em tempo real só sincroniza entidades de documento e não sincroniza dados relacionados a entidades de identidade. A tabela a seguir mostra quais eventos de documento são compatíveis com a sincronização em tempo real.
Entidades do ServiceNow | Criar | Atualizar | Excluir | Alterações de permissão |
---|---|---|---|---|
Anexos | ||||
Catálogos | ||||
Incidentes | ||||
Conhecimento |
Para ativar a sincronização em tempo real do conector, siga estas etapas.
No console Google Cloud , acesse a página Gemini Enterprise.
No menu de navegação, selecione Repositório de dados.
Clique no nome do conector do ServiceNow para ativar a sincronização em tempo real.
Na página Dados do conector, aguarde até que o Estado do conector mude para Ativo.
No campo Sincronização em tempo real, clique em Ver/editar.
Ver e editar as configurações de sincronização em tempo real. Clique no botão Ativar sincronização em tempo real para a posição ativada.
Informe um valor para Chave secreta do cliente. Esse valor é usado para verificar eventos de webhook do ServiceNow. Recomendamos usar uma string de 20 caracteres.
Ative a sincronização em tempo real e forneça uma chave secreta do cliente. Clique em Salvar.
Aguarde o campo Sincronização em tempo real mudar para Em execução.
Acesse sua instância do ServiceNow usando uma conta com uma função de administrador.
Clique em Todos.
No campo Filtro, digite
sys_properties.list
e envie.Localize as propriedades do sistema no ServiceNow. Clique em Nova para criar uma propriedade do sistema.
Crie uma propriedade do sistema no ServiceNow. Preencha os campos da nova propriedade do sistema.
Em Nome, insira um nome descritivo, como
webhook_secret
.Em Valor, insira o valor usado no campo Chave secreta do cliente nas configurações de sincronização em tempo real do conector do Gemini Enterprise.
Clique em Enviar.
Preencha os campos da nova propriedade do sistema do ServiceNow.
Criar um webhook para entidades de conhecimento
Para criar um webhook para entidades de conhecimento do ServiceNow, siga estas etapas.
Acesse sua instância do ServiceNow usando uma conta com uma função de administrador e clique em Tudo > Definição do sistema > Regras de negócios.
Consulte as regras de negócios do ServiceNow. Clique em Nova para criar uma regra de negócios.
Crie uma regra de negócios do ServiceNow. Preencha os campos do webhook.
Em Nome, insira um nome descritivo, como
Knowledge webhook
.Selecione Avançado.
Em Tabela, selecione Conhecimento [kb_knowledge].
Preencha os campos do webhook da entidade de conhecimento. Clique em Quando executar.
Em Quando, selecione antes.
Selecione Inserir, Atualizar e Excluir.
Especifique quando o webhook da entidade de conhecimento deve ser executado. Clique em Avançado.
Cole o seguinte código no campo Script, substituindo o valor do endpoint pelo URL de notificação do webhook fornecido quando você ativou a sincronização em tempo real para o conector do 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);
Insira o script fornecido. Clique em Enviar.
Envie sua nova regra de negócios.
Criar um webhook para entidades de catálogo
Para criar um webhook para entidades do catálogo do ServiceNow, siga as etapas em Criar um webhook para entidades de conhecimento, com as seguintes diferenças:
Ao criar uma regra de negócios, em Tabela, selecione Item do catálogo [sc_cat_item].
Na guia Avançado, em Script, cole o código a seguir, substituindo o valor do endpoint pelo URL de notificação do webhook fornecido quando você ativou a sincronização em tempo real para o conector do 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);
Criar um webhook para entidades de incidentes
Para criar um webhook para entidades de incidentes do ServiceNow, siga as etapas em Criar um webhook para entidades de conhecimento, com as seguintes diferenças:
Ao criar uma regra de negócios, em Tabela, selecione Incidente [incident].
Na guia Avançado, em Script, cole o código a seguir, substituindo o valor do endpoint pelo URL de notificação do webhook fornecido quando você ativou a sincronização em tempo real para o conector do 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);
Criar um webhook para entidades de anexo
Para criar um webhook para entidades de anexos do ServiceNow, siga as etapas em Criar um webhook para entidades de conhecimento, com as seguintes diferenças:
Ao criar uma regra de negócios, em Tabela, selecione Anexo [sys_attachment].
Na guia Avançado, em Script, cole o código a seguir, substituindo o valor do endpoint pelo URL de notificação do webhook fornecido quando você ativou a sincronização em tempo real para o conector do 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 o pool de força de trabalho
Com o pool de colaboradores, é possível gerenciar e autenticar usuários de provedores de identidade externos, como o Azure ou o Okta, no console Google Cloud . Para configurar o pool de força de trabalho e ativar o web app para acesso fácil do usuário, faça o seguinte:
Crie um pool de força de trabalho no nível da organização em Google Cloud seguindo o manual de configuração adequado:
Configure o pool de força de trabalho em Gemini Enterprise > Configurações para a região em que você cria o app.
Próximas etapas
Para anexar seu repositório de dados a um app, crie um app e selecione o repositório seguindo as etapas em Criar um app.
Para ver como os resultados da pesquisa aparecem depois que o app e o repositório de dados são configurados, consulte Visualizar resultados da pesquisa.
Para ativar alertas para o repositório de dados, consulte Configurar alertas para repositórios de dados de terceiros.