Partilhar via


Provisionamento de entrada orientado por API com Aplicativos Lógicos do Azure

Este tutorial descreve como usar o fluxo de trabalho dos Aplicativos Lógicos do Azure para implementar o provisionamento de entrada orientado por API do Microsoft Entra ID. Usando as etapas neste tutorial, você pode converter um arquivo CSV contendo dados de RH em uma carga útil de solicitação em massa e enviá-lo para o ponto de extremidade da API de provisionamento /bulkUpload do Microsoft Entra. O artigo também fornece orientação sobre como o mesmo padrão de integração pode ser usado com qualquer sistema de registro.

Cenário de integração

Requisitos de negócio

Seu sistema de registro gera periodicamente exportações de arquivos CSV contendo dados de trabalho. Você deseja implementar uma integração que lê dados do arquivo CSV e provisiona automaticamente contas de usuário em seu diretório de destino (Ative Directory local para usuários híbridos e ID do Microsoft Entra para usuários somente na nuvem).

Requisitos de execução

Do ponto de vista da implementação:

  • Você deseja usar um fluxo de trabalho de Aplicativos Lógicos do Azure para ler dados das exportações de arquivos CSV disponíveis em um Compartilhamento de Arquivos do Azure e enviá-los para o ponto de extremidade da API de provisionamento de entrada.
  • No fluxo de trabalho dos Aplicativos Lógicos do Azure, você não deseja implementar a lógica complexa de comparação de dados de identidade entre seu sistema de registro e diretório de destino.
  • Você deseja usar o serviço de provisionamento Microsoft Entra para aplicar suas regras de provisionamento gerenciado de TI para criar/atualizar/habilitar/desabilitar automaticamente contas no diretório de destino (Ative Directory local ou ID do Microsoft Entra).

Graphic of Azure Logic Apps-based integration.

Variações de cenário de integração

Embora este tutorial use um arquivo CSV como um sistema de registro, você pode personalizar o fluxo de trabalho de exemplo dos Aplicativos Lógicos do Azure para ler dados de qualquer sistema de registro. As Aplicações Lógicas do Azure fornecem uma vasta gama de conectores incorporados e conectores geridos com acionadores e ações pré-criados que pode utilizar no seu fluxo de trabalho de integração.

Aqui está uma lista de variações de cenário de integração empresarial, onde o provisionamento de entrada orientado por API pode ser implementado com um fluxo de trabalho de Aplicativos Lógicos.

# Sistema de registo Orientações de integração sobre como usar aplicativos lógicos para ler dados de origem
1 Arquivos armazenados no servidor SFTP Use o conector SFTP integrado ou o conector SSH SFTP gerenciado para ler dados de arquivos armazenados no servidor SFTP.
2 Tabela de banco de dados Se você estiver usando um servidor SQL do Azure ou um SQL Server local, use o conector do SQL Server para ler os dados da tabela.
Se você estiver usando um banco de dados Oracle, use o conector do banco de dados Oracle para ler os dados da tabela.
3 SAP S/4 HANA local e hospedado na nuvem ou
Sistemas SAP locais clássicos, como R/3 e ECC
Use o conector SAP para recuperar dados de identidade do seu sistema SAP. Para obter exemplos sobre como configurar esse conector, consulte cenários comuns de integração SAP usando os Aplicativos Lógicos do Azure e o conector SAP.
4 IBM MQ Use o conector IBM MQ para receber mensagens de provisionamento da fila.
5 Dynamics 365 Human Resources Use o conector Dataverse para ler dados de tabelas Dataverse usadas pelos Recursos Humanos do Microsoft Dynamics 365.
6 Qualquer sistema que exponha APIs REST Se você não encontrar um conector para seu sistema de registro na biblioteca de conectores de aplicativos lógicos, poderá criar seu próprio conector personalizado para ler dados do seu sistema de registro.

Depois de ler os dados de origem, aplique suas regras de pré-processamento e converta a saída do seu sistema de registro em uma solicitação em massa que pode ser enviada para o ponto de extremidade da API bulkUpload de provisionamento do Microsoft Entra.

Importante

Se você quiser compartilhar seu fluxo de trabalho de integração de aplicativos lógicos + provisionamento de entrada orientado por API com a comunidade, crie um modelo de aplicativo lógico, documente etapas sobre como usá-lo e envie uma solicitação pull para inclusão no repositório entra-id-inbound-provisioningGitHub.

Como usar este tutorial

O modelo de implantação de Aplicativos Lógicos publicado no repositório GitHub de provisionamento de entrada do Microsoft Entra automatiza várias tarefas. Ele também tem lógica para lidar com arquivos CSV grandes e dividir a solicitação em massa para enviar 50 registros em cada solicitação. Veja como você pode testá-lo e personalizá-lo de acordo com seus requisitos de integração.

Nota

O fluxo de trabalho de exemplo dos Aplicativos Lógicos do Azure é fornecido "no estado em que se encontra" para referência de implementação. Se você tiver dúvidas relacionadas a ele ou se quiser aprimorá-lo, use o repositório do projeto GitHub.

# Tarefa de automação Documentação de orientação para a implementação Personalização avançada
1 Leia os dados do trabalhador a partir do arquivo CSV. O fluxo de trabalho de Aplicativos Lógicos usa uma Função do Azure para ler o arquivo CSV armazenado em um Compartilhamento de Arquivos do Azure. A Função do Azure converte dados CSV em formato JSON. Se o formato do arquivo CSV for diferente, atualize a etapa do fluxo de trabalho "Analisar JSON" e "Construir SCIMUser". Se o seu sistema de registro for diferente, verifique as orientações fornecidas na seção Variações de cenário de integração sobre como personalizar o fluxo de trabalho de Aplicativos Lógicos usando um conector apropriado.
2 Pré-processar e converter dados para o formato SCIM. Por padrão, o fluxo de trabalho dos Aplicativos Lógicos converte cada registro no arquivo CSV em uma representação SCIM Core User + Enterprise User. Se você planeja usar extensões de esquema SCIM personalizadas, atualize a etapa "Construir SCIMUser" para incluir suas extensões de esquema SCIM personalizadas. Se você quiser executar código C# para formatação avançada e validação de dados, use o Azure Functions personalizado.
3 Use o método de autenticação correto Você pode usar uma entidade de serviço ou uma identidade gerenciada para acessar a API de provisionamento de entrada. Atualize a etapa "Enviar SCIMBulkPayload para o ponto de extremidade da API" com o método de autenticação correto. -
4 Provisione contas no Ative Directory local ou no Microsoft Entra ID. Configure o aplicativo de provisionamento de entrada controlado por API. Isso gera um ponto de extremidade exclusivo da API /bulkUpload . Atualize a etapa "Enviar SCIMBulkPayload para o ponto de extremidade da API" para usar o ponto de extremidade da API bulkUpload correto. Se você planeja usar a solicitação em massa com o esquema SCIM personalizado, estenda o esquema do aplicativo de provisionamento para incluir seus atributos de esquema SCIM personalizados.
5 Analise os logs de provisionamento e tente provisionar novamente em busca de registros com falha. Essa automação ainda não foi implementada no fluxo de trabalho de aplicativos lógicos de exemplo. Para implementá-lo, consulte os logs de provisionamento Graph API. -
6 Implante a automação baseada em Aplicativos Lógicos na produção. Depois de verificar seu fluxo de provisionamento orientado por API e personalizar o fluxo de trabalho dos Aplicativos Lógicos para atender às suas necessidades, implante a automação em seu ambiente. -

Etapa 1: Criar uma conta de Armazenamento do Azure para hospedar o arquivo CSV

As etapas documentadas nesta seção são opcionais. Se você já tiver uma conta de armazenamento existente ou quiser ler o arquivo CSV de outra fonte, como o site do SharePoint ou o armazenamento de Blob, atualize o Aplicativo Lógico para usar o conector de sua escolha.

  1. Entre no portal do Azure como pelo menos um Administrador de Aplicativo.
  2. Procure por "Contas de armazenamento" e crie uma nova conta de armazenamento. Screenshot of creating new storage account.
  3. Atribua um grupo de recursos e atribua-lhe um nome. Screenshot of resource group assignment.
  4. Depois que a conta de armazenamento for criada, vá para o recurso.
  5. Clique na opção de menu "Compartilhamento de arquivos" e crie um novo compartilhamento de arquivos. Screenshot of creating new file share.
  6. Verifique se a criação do compartilhamento de arquivos foi bem-sucedida. Screenshot of file share created.
  7. Carregue um arquivo CSV de exemplo para o compartilhamento de arquivos usando a opção de upload.
  8. Aqui está uma captura de tela das colunas no arquivo CSV. Screenshot of columns in Excel.

Etapa 2: Configurar o conversor de CSV2JSON do Azure Function

  1. No navegador associado ao seu portal do Azure, abra a URL do repositório GitHub - https://github.com/joelbyford/CSVtoJSONcore.

  2. Clique no link "Implantar no Azure" para implantar essa Função do Azure em seu locatário do Azure. Screenshot of deploying Azure Function.

  3. Especifique o grupo de recursos sob o qual implantar essa função do Azure. Screenshot of configuring Azure Function resource group.

    Se você receber o erro "Esta região tem cota de 0 instâncias", tente selecionar uma região diferente.

  4. Verifique se a implantação da Função do Azure como um Serviço de Aplicativo foi bem-sucedida.

  5. Vá para o grupo de recursos e abra a configuração do WebApp. Certifique-se de que está no estado "Em execução". Copie o nome de domínio padrão associado ao Web App. Screenshot of Azure Function Web App domain name.

  6. Abra o cliente Postman para testar se o ponto de extremidade CSVtoJSON funciona conforme o esperado. Cole o nome de domínio copiado da etapa anterior. Use o tipo de conteúdo de "texto/csv" e publique um arquivo CSV de exemplo no corpo da solicitação para o ponto de extremidade: https://[your-domain-name]/csvtojsonScreenshot of Postman client calling the Azure Function.

  7. Se a implantação do Azure Function for bem-sucedida, na resposta você obterá uma versão JSON do arquivo CSV com status 200 OK.

    Screenshot of Azure Function response.

  8. Para permitir que os Aplicativos Lógicos invoquem essa Função do Azure, na configuração CORS para o WebApp, insira o asterisco (*) e "Salvar" a configuração. Screenshot of Azure Function CORS setting.

Etapa 3: Configurar o provisionamento de usuário de entrada controlado por API

Etapa 4: Configurar o fluxo de trabalho dos Aplicativos Lógicos do Azure

  1. Clique no botão abaixo para implantar o modelo do Azure Resource Manager para o fluxo de trabalho CSV2SCIMBulkUpload Logic Apps.

    Deploy to Azure

  2. Em detalhes da instância, atualize os itens realçados, copiando e colando valores das etapas anteriores. Screenshot of Azure Logic Apps instance details.

  3. Para o Azurefile_access Key parâmetro, abra sua conta de armazenamento de arquivos do Azure e copie a chave de acesso presente em "Segurança e Rede".
    Screenshot of Azure File access keys.

  4. Clique na opção "Revisar e criar" para iniciar a implantação.

  5. Quando a implantação estiver concluída, você verá a seguinte mensagem. Screenshot of Azure Logic Apps deployment complete.

Etapa 5: Configurar a identidade gerenciada atribuída ao sistema

  1. Visite a folha Configurações -> Identidade do seu fluxo de trabalho de Aplicativos Lógicos.
  2. Habilite a identidade gerenciada atribuída ao sistema. Screenshot of enabling managed identity.
  3. Você receberá uma solicitação para confirmar o uso da identidade gerenciada. Clique em Sim.
  4. Conceda as permissões de identidade gerenciada para executar o upload em massa.

Etapa 6: Revisar e ajustar as etapas do fluxo de trabalho

  1. Abra o Aplicativo Lógico na visualização do designer. Screenshot of Azure Logic Apps designer view.

  2. Revise a configuração de cada etapa do fluxo de trabalho para verificar se está correta.

  3. Abra a etapa "Obter conteúdo de arquivo usando caminho" e corrija-a para navegar até o Armazenamento de Arquivos do Azure em seu locatário. Screenshot of get file content.

  4. Atualize a conexão, se necessário.

  5. Verifique se a etapa "Converter CSV em JSON" está apontando para a instância correta do Aplicativo Web do Azure Function. Screenshot of Azure Function call invocation to convert from CSV to JSON.

  6. Se o conteúdo/cabeçalhos do arquivo CSV for diferente, atualize a etapa "Analisar JSON" com a saída JSON que você pode recuperar da sua chamada de API para a Função do Azure. Use a saída do Postman da Etapa 2. Screenshot of Parse JSON step.

  7. Na etapa "Construir SCIMUser", verifique se os campos CSV estão mapeados corretamente para os atributos SCIM que serão usados para processamento.

    Screenshot of Construct SCIM user step.

  8. Na etapa "Enviar SCIMBulkPayload para o ponto de extremidade da API", verifique se você está usando o ponto de extremidade da API e o mecanismo de autenticação corretos.

    Screenshot of invoking bulk upload API with managed identity.

Etapa 7: Executar, acionar e testar seu fluxo de trabalho de Aplicativos Lógicos

  1. Na versão "Geralmente disponível" do designer de aplicativos lógicos, clique em Executar gatilho para executar manualmente o fluxo de trabalho. Screenshot of running the Logic App.
  2. Após a conclusão da execução, revise qual ação os Aplicativos Lógicos executaram em cada iteração.
  3. Na iteração final, você verá os dados de upload dos Aplicativos Lógicos para o ponto de extremidade da API de provisionamento de entrada. Procure o 202 Accept código de status. Você pode copiar e colar e verificar a solicitação de upload em massa. Screenshot of the Logic Apps execution result.

Próximos passos