Pular para o conteúdo principal

Configurar o ServiceNow para ingestão do Databricks

Saiba como configurar sua instância do ServiceNow para a ingestão do Databricks.

Escolha um método de autenticação​

Os seguintes métodos de autenticação são suportados:

  • OAuth de usuário para máquina (U2M) (recomendado)
  • OAuth máquina para máquina (M2M) (credenciais do cliente)
  • Credenciais de senha do proprietário do recurso OAuth (ROPC)

O Databricks recomenda o OAuth U2M ou M2M em vez do ROPC, porque nenhum deles exige que você armazene a senha de um usuário do ServiceNow na conexão. Com o OAuth U2M, sua conexão com o ServiceNow expira quando seu token de autenticação expira. Por default, isso acontece a cada 100 dias. Para reduzir a frequência, você pode modificar o período de expiração no ServiceNow ou usar o M2M OAuth ou ROPC.

Use o OAuth M2M para pipelines de produção totalmente automatizados que são executados sem interação do usuário. Com o OAuth M2M, o Databricks autentica usando o ID do cliente e o segredo do cliente do aplicativo OAuth e solicita um novo access token conforme necessário, portanto, não há token de atualização que expire nem necessidade de login interativo. As solicitações são executadas com as permissões do Usuário do aplicativo OAuth que você atribui ao aplicativo OAuth. O OAuth M2M requer a versão Washington DC do ServiceNow ou posterior.

Você usará os detalhes de autenticação obtidos para criar uma conexão do Databricks Unity Catalog com o ServiceNow.

Conceder permissões de usuário​

As seguintes opções para conceder permissões de usuário do ServiceNow são suportadas:

Escopo OAuth

Descrição

Acesso de administrador (recomendado)

Requer as funções admin e snc_read_only .

Acesso com privilégios mínimos

Utiliza ACLs em nível de tabela.

Escopo OAuth

Descrição

Acesso de administrador (recomendado)

Requer as funções admin e snc_read_only .

Acesso com privilégios mínimos

Utiliza ACLs em nível de tabela.

Para OAuth M2M, conceda essas permissões ao usuário que você atribui como Usuário do Aplicativo OAuth em Criar um aplicativo OAuth.

Acesso de administrador (recomendado)​

A Databricks recomenda essa abordagem porque ela permite a descoberta eficiente de esquemas. Com acesso administrativo, o conector recupera o esquema completo da tabela em uma única chamada de API por tabela, independentemente da hierarquia de herança da tabela. Isso reduz o uso API e melhora o desempenho startup pipeline .

Você precisa ter as seguintes permissões:

  • Para capturar exclusões, o usuário do ServiceNow deve ter acesso ao site sys_audit_delete table, e a tabela que está sendo ingerida deve acompanhar as exclusões (o atributo da tabela não pode ser definido como no_audit_delete=true no ServiceNow).
  • Seu usuário do ServiceNow deve ter a função admin.
  • (Opcional) Para limitar o acesso somente de leitura ao usuário administrador, você pode atribuir a ele a função snc_read_only.

Acesso com privilégios mínimos​

Escolha esta abordagem somente se restringir permissões for mais importante do que minimizar o uso da API.

Sem acesso de administrador, o conector precisa fazer várias chamadas de API para descobrir o esquema. Como o ServiceNow usa herança de tabelas, o conector precisa percorrer toda a hierarquia de tabelas (da tabela de destino até a raiz, passando por cada tabela pai) e, em seguida, buscar as definições de campo para cada tabela na cadeia. O número exato de chamadas à API depende da profundidade da hierarquia de herança da tabela.

A descoberta de esquemas com acesso de privilégio mínimo ocorre em cada execução do pipeline, não apenas durante a configuração inicial.

Essa abordagem requer as seguintes permissões de ACL:

  • sys_dictionary
  • sys_dictionary.*
  • sys_db_object
  • sys_db_object.*
  • sys_audit_delete
  • sys_audit_delete.*
  • sys_glide_object
  • sys_glide_object.*

Habilitar a concessão de credenciais do cliente (somente M2M)​

nota

Ignore este o passo se você estiver usando U2M OAuth ou ROPC.

O ServiceNow desabilita a concessão de credenciais de cliente OAuth por default. Um administrador do ServiceNow deve habilitá-lo antes que você possa usar M2M OAuth.

  1. No menu Todos , insira sys_properties.list e pressione Enter .

    Menu Tudo do ServiceNow filtrado para sys_properties.list

  2. Procure a propriedade glide.oauth.inbound.client.credential.grant_type.enabled.

    • Se a propriedade existir, abra-a e defina Valor como true.
    • Se a propriedade não existir, clique em Novo e insira o seguinte:
      • Nome : glide.oauth.inbound.client.credential.grant_type.enabled
      • Tipo : true | false
      • Valor : true

    Propriedade do sistema ServiceNow para a concessão de credenciais do cliente definida como verdadeira

  3. Clique em Atualizar (ou em Enviar para uma nova propriedade).

Criar um aplicativo OAuth​

Esta etapa reúne os detalhes de autenticação do ServiceNow para a ingestão do Databricks.

importante

O ServiceNow exige autenticação multifatorial (MFA) por default para OAuth U2M. Ao iniciar sessão, forneça seu segundo método de autenticação como parte do fluxo de MFA padrão. Este requisito não se aplica à autenticação OAuth M2M ou ROPC.

Um administrador do ServiceNow pode isentar os usuários autenticados da exigência de MFA (autenticação multifator). Para obter instruções, consulte a seção Isenção de usuário na documentação do ServiceNow.

  1. No menu All (Todos ), pesquise System OAuth e clique em Application Registry (Registro de aplicativos ).

    Registro de aplicativos ServiceNow OAuth

  2. Clique em New > Create OAuth API endpoint for external clients .

    ServiceNow Criar endpoint de API OAuth para clientes externos

  3. Insira um nome para o aplicativo.

  4. Na lista Escopos de Autenticação , adicione useraccount.

  5. (Somente U2M OAuth) Para URL de redirecionamento , insira https://<databricks-workspace-url>/login/oauth/servicenow.html. Substitua <databricks-workspace-url> pelo URL completo do seu workspace Databricks (por exemplo, https://cust-success.cloud.databricks.com).

  6. (Apenas OAuth M2M) Configure o aplicativo para a concessão de credenciais de cliente:

    1. Se o formulário tiver um campo Tipo de concessão default , selecione Credenciais de cliente .

    2. Para Usuário de Aplicativo OAuth , selecione o usuário como o qual o conector é executado. Este usuário precisa das permissões em Conceder permissões de usuário. O Databricks recomenda um usuário de account de serviço dedicado.

      Se o campo Usuário do aplicativo OAuth não estiver no formulário, clique com o botão direito do mouse no cabeçalho do formulário e clique em Configurar > Disposição do formulário . Mova o Usuário do aplicativo OAuth para a lista Selecionado e clique em Salvar .

      Aplicativo OAuth do ServiceNow com Usuário do Aplicativo OAuth e escopo de autenticação useraccount

  7. Clique em Enviar .

    Detalhes do aplicativo ServiceNow OAuth

  8. Copie o ID do cliente e o segredo do cliente .

Obtenha o ID da instância​

O ID da instância é a primeira parte do URL de login do ServiceNow account:

https://<instanceid>.service-now.com

Por exemplo, se a página inicial da sua instância ServiceNow for https://abc.service-now.com, o ID da instância será abc.

Obtenha um nome de usuário e uma senha.​

nota

Este passo só é necessário para o fluxo ROPC. A Databricks recomenda o uso do U2M OAuth.

Obtenha o nome de usuário e a senha de um usuário ativo do ServiceNow.

Ativar indexação na coluna do cursor​

Para melhorar o desempenho da ingestão de dados, a Databricks recomenda que você trabalhe com o administrador do ServiceNow para habilitar a indexação no campo do cursor no ServiceNow. A coluna do cursor é selecionada da seguinte lista, por ordem de disponibilidade e preferência: sys_updated_on (primeira escolha), sys_created_on (segunda escolha), sys_archived (terceira escolha). Essa é uma abordagem padrão para melhorar o desempenho ao ingerir dados usando as APIs do ServiceNow. A configuração do índice permite que o Databricks evite a varredura completa de toda a coluna do cursor, o que pode causar gargalos em atualizações grandes. Para obter instruções, consulte Criar um índice de tabela na documentação do ServiceNow.

Próxima etapa​

Ingerir dados do ServiceNow