Exemplo de automação do Active Directory

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 7 min. de leitura
  • Um conjunto de seis atividades do Orchestration Active Directory permite que as organizações automatizem seus processos de integração/desligamento com fluxos de trabalho auditáveis e autodocumentáveis que economizam tempo e eliminam erros.

    As atividades em Pacote de atividades do Active Directory são projetadas para gerenciar contas de usuário e redefinir senhas de usuário. As atividades a seguir cobrem os casos de uso mais comuns que os administradores encontram ao gerenciar contas de usuário do Active Directory:
    • Criar Conta do Usuário do AD
    • Atualizar Conta do Usuário do AD
    • Remover Conta do Usuário do AD
    • Desabilitar Conta do Usuário do AD
    • AD de Consulta
    • Redefinir Senha do Usuário do AD

    Essas atividades compartilham um design comum, têm funcionalidade complementar e compartilham um conjunto comum de parâmetros. Eles podem ser usados individualmente ou em conjunto para criar fluxos de trabalho consistentes para provisionar e desprovisionar contas de usuário.

    Atualização do Active Directory com a Orquestração

    Uma organização planeja tornar sua instância ServiceNow sistema único de registro para dados de conta de usuário e deseja atualizar o Active Directory com as mudanças mais recentes.

    Por Que e Quando Desempenhar Esta Tarefa

    A solução é criar um fluxo de trabalho da Orquestração que envia as mudanças do registro do usuário ServiceNow para o Active Directory para criar um novo registro do usuário ou atualizar um registro existente. Isso é realizado criando um fluxo de trabalho da Orquestração que pode criar e atualizar registros no Active Directory com base nos dados da tabela ServiceNow Usuário [sys_user].

    Nota:
    Este exemplo de fluxo de trabalho presume que ServiceNow está configurado para LDAP e um servidor LDAP está configurado para aceitar as novas contas de usuário. As atividades de gerenciamento de usuários do Active Directory não dependem do LDAP, mas a presença do LDAP torna este exemplo de fluxo de trabalho muito mais fácil. Você deve fornecer o endereço IP do controlador de domínio ao fluxo de trabalho, codificando-o, adicionando outra entrada de fluxo de trabalho ou usando um script para pesquisá-lo no CMDB.

    Procedimento

    1. Navegar até Tudo > Fluxo de trabalho > Editor de fluxo de trabalho.
    2. Na guia Fluxo de trabalho, clique no ícone + para criar um novo fluxo de trabalho usando estas variáveis:
      • Nome: Sincronizar usuário do AD
      • Tabela: Global [global]
    3. Clique em Enviar.
      Um fluxo de trabalho básico com um ponto de início e fim aparece na tela.
    4. Clique no ícone de menu no canto superior esquerdo da tela e selecione Editar entradas no menu de contexto.
      Figura 1. Edição de entradas de fluxo de trabalho
      Edição de entradas de fluxo de trabalho
    5. No formulário Entradas de fluxo de trabalho, clique em Nova na lista de registros de Variáveis e crie uma nova variável usando os campos da tabela.
      Campo Valor
      Tipo Referência
      Rótulo Usuário
      Nome da coluna u_user
      Especificação de referência > Referência Usuário (sys_user)
    6. Clique em Enviar.
    7. Na guia Personalizado, expanda Atividades Personalizadas > Active Directory.
    8. Arraste e solte a atividade Atualizar objeto do AD na linha de transição entre os pontos de início e fim do novo fluxo de trabalho.
      Esta ação vincula automaticamente a atividade ao ponto de fim e abre o formulário de propriedade de Atividade de fluxo de trabalho.
    9. Preencha o formulário usando os campos da tabela.
      Campo Valor
      Nome Insira um nome lógico, como Atualizar dados do usuário.
      Controlador de domínio A integração ServiceNow LDAP adiciona uma referência ao servidor LDAP ao qual a conta do usuário está vinculada. Para identificar o servidor LDAP, insira a seguinte declaração:

      ${workflow.inputs.u_user.ldap_server.server_url}

      Tipo Tipo de objeto do AD. Nesse caso, o tipo é Usuário, que é o padrão.
      Nome do objeto Este exemplo pressupõe que o nome de usuário ServiceNow corresponde ao sAMAccountName do Active Directory. Insira o seguinte:

      ${workflow.inputs.u_user.user_name}

      Dados do objeto Atualiza a conta do usuário no Active Directory, se o usuário existir. Neste exemplo, o cargo do usuário é atualizado:

      {"title": "QA"}

    10. Clique em Enviar.
      O fluxo de trabalho é semelhante a este:
      Figura 2. Atualização de um usuário do AD
      Atualização de um usuário do AD
    11. Anexe os dois resultados da atividade (Êxito e Falha) ao endpoint.
      Neste ponto, o fluxo de trabalho usa um registro de usuário ServiceNow como entrada e atualiza o Nome, o Sobrenome e o Título da conta correspondente do Active Directory. Se a conta não existir no Active Directory, ocorrerá falha no fluxo de trabalho.
      Nota:
      Em um fluxo de trabalho normal, algum tipo de ação alternativa é desejável em caso de falha. Por exemplo, convém enviar Notificações via SMS e por e-mail se o fluxo de trabalho falhar ao atualizar o registro.
    12. Para evitar que o fluxo de trabalho falhe, adicione uma atividade Criar objeto do AD às linhas de transição entre a atividade Iniciar e Atualizar objeto do AD.
    13. Preencha o formulário de propriedade atividade de fluxo de trabalho usando os campos da tabela.
      Campo Valor
      Nome Insira um nome lógico, como Criar dados do usuário.
      Controlador de domínio O mesmo para a atividade de atualização. ${workflow.inputs.u_user.ldap_server.server_url}
      OU A unidade organizacional à qual este objeto pertence. Para fins deste exemplo, você pode inserir OU = HQ, OU = Managed Objects
      Nome do objeto O mesmo para a atividade de atualização. ${workflow.inputs.u_user.user_name}
      Dados do objeto Cria uma conta com apenas o nome de usuário. Para fins deste exemplo, você pode inserir {"givenName": "$ {workflow.inputs.u_user.first_name}", "SN": "${workflow.inputs.u_user.last_name}"}
    14. Clique em Enviar.
    15. Conecte o resultado de Falha da atividade Criar objeto do AD ao final.
      Para este exemplo, estamos ignorando os erros. O fluxo de trabalho agora é semelhante a este:
      Figura 3. Criação de um usuário do AD
      Criação de um usuário do AD

      Este procedimento cria um fluxo de trabalho simples que cria uma conta do Active Directory básica que consiste somente em um nome de usuário. O fluxo de trabalho atualiza essa conta com informações adicionais fornecidas pela tabela ServiceNow Usuário [sys_user]. No entanto, não queremos executar a atividade Criar objeto do AD se a conta de usuário já existir. O fluxo de trabalho precisa consultar o Active Directory em busca de registros de usuário correspondentes e, em seguida, ramificar o fluxo de trabalho com base nos resultados da consulta. Se já existir uma conta, o fluxo de trabalho deverá atualizar a conta. Se a conta não existir, o fluxo de trabalho precisará criar a conta no Active Directory.

    16. Arraste e solte a atividade de consulta do AD na transição entre Iniciar e Criar objeto do AD.
    17. Preencha o formulário de propriedade atividade de fluxo de trabalho usando os campos da tabela.
      Campo Definição
      Nome Insira um nome lógico, como Pesquisar conta existente.
      Controlador de domínio ${workflow.inputs.u_user.ldap_server.server_url}
      Propriedades Uma lista separada por vírgulas de propriedades do Active Directory a serem retornadas. Por exemplo, givenName, SN, title. Se o campo de parâmetro estiver em branco, todas as propriedades serão retornadas. Neste fluxo de trabalho, deixamos o campo em branco.
      Filtro de pesquisa Uma cadeia de caracteres de filtro LDAP que define os parâmetros de pesquisa. Use qualquer critério de filtragem LDAP válido. Para encontrar contas de usuário correspondentes ao registro de entrada, usamos:

      (samaccountname=${workflow.inputs.u_user.user_name})

    18. Clique em Enviar.
    19. Conecte o resultado de Falha da atividade de consulta ao endpoint.
      Lembre-se de que estamos ignorando erros neste fluxo de trabalho.
    20. Conecte o resultado de Sucesso da atividade de consulta à atividade Atualizar objeto do AD.
      O fluxo de trabalho agora é semelhante a este:
      Figura 4. Consulta de contas de usuário no AD
      Consulta de contas de usuário no AD

      A atividade de consulta do AD retorna seus resultados como uma cadeia de caracteres JSON no barramento de dadosdo fluxo de trabalho. Esta cadeia de caracteres JSON é sempre uma matriz de objetos. Cada objeto corresponde a uma entrada do Active Directory que correspondeu à consulta. Nosso fluxo de trabalho deve se ramificar, esteja essa matriz vazia ou não.

    21. Arraste uma atividade Se padrão da pasta Condições na guia Core e solte-a na transição entre o AD de consulta e o objeto de atualização do AD.
    22. Preencha o formulário de propriedades atividade de fluxo de trabalho usando os campos na tabela.
      Campo Valor
      Nome Insira um nome lógico, como Conta existente.
      Avançado Marque esta caixa de seleção para abrir o campo Script.
      Script Para que a atividade Se funcione corretamente, devemos retornar um sim ou não na variável de resposta (var) que corresponde aos resultados Sim e Não da atividade de consulta. A linha 1 converte os resultados de consulta do AD de uma cadeia de caracteres JSON em uma matriz Javascript chamada queryResults. A linha 2 verifica o tamanho dessa matriz. Se a matriz for maior que 0, uma correspondência para a conta foi encontrada e definimos nossa resposta como sim. Caso contrário, a resposta é não.

      var queryResults=new JSON().decode(data.get(5).output);

      answer = ( queryResults.length>0 ? 'sim' : 'não' );

      Nota:
      A expressão data.get (5) neste script identifica a saída de consulta do AD no Databus por número de pedido, já que foi a quinta atividade adicionada ao fluxo de trabalho.
      Figura 5. Consulta de saídas do AD no Databus
      Consulta de saídas do AD no Databus
    23. Clique em Enviar.
    24. Na tela, crie uma transição do resultado Sim da atividade Se para a atividade Atualizar objeto do AD.
    25. Crie uma transição do resultado Não da atividade Se para a atividade Criar objeto do AD.
      Esta é a etapa final. Este fluxo de trabalho consultará o Active Directory para determinar se já existe uma conta. Se já existir uma conta, o fluxo de trabalho atualizará a conta. Se não houver uma conta, o fluxo de trabalho criará a conta e atualizará o Active Directory com o conjunto de dados do usuário configurado.
      Figura 6. Criação dos caminhos condicionais
      Criação dos caminhos condicionais