Como o Provisionamento de Aplicativos funciona no Microsoft Entra ID
O provisionamento automático refere-se à criação de identidades e funções de usuário nos aplicativos de nuvem que os usuários precisam acessar. Além de criar identidades de usuário, o provisionamento automático inclui a manutenção e a remoção de identidades de usuário à medida que o status ou as funções mudam. Antes de iniciar uma implantação, você pode ler este artigo para saber como o provisionamento do Microsoft Entra funciona e obter recomendações de configuração.
O serviço de provisionamento do Microsoft Entra provisiona usuários para aplicativos SaaS e outros sistemas a um ponto de extremidade da API de gerenciamento de usuários do Sistema de Gerenciamento de Usuários entre Domínios (SCIM) 2.0 fornecido pelo fornecedor do aplicativo ou um agente de provisionamento no local. Esse ponto de extremidade do SCIM permite que o Microsoft Entra ID crie, atualize e remova usuários por meio de programação. Para os aplicativos selecionados, o serviço de provisionamento também pode criar, atualizar e remover objetos adicionais relacionados à identidade, como grupos. O canal usado para provisionamento entre o Microsoft Entra ID e o aplicativo usa a criptografia HTTPS TLS 1.2.
Figura 1: o serviço de provisionamento do Microsoft Entra
Figura 2: fluxo de trabalho de provisionamento do usuário de "saída" do Microsoft Entra ID para aplicativos SaaS populares
Figura 3: fluxo de trabalho de provisionamento do usuário de "entrada" de aplicativos populares de HCM (gerenciamento de capital humano) para o Microsoft Entra ID e o Windows Server Active Directory
Provisionamento usando o SCIM 2.0
O serviço de provisionamento do Microsoft Entra usa o protocolo SCIM 2.0 para provisionamento automático. O serviço se conecta ao ponto de extremidade do SCIM do aplicativo e usa o esquema de objetos do usuário do SCIM e as APIs REST para automatizar o provisionamento e o desprovisionamento de usuários e grupos. Um conector de provisionamento que usa o SCIM é fornecido para a maioria dos aplicativos na galeria do Microsoft Entra. Os desenvolvedores usam a API de gerenciamento de usuário SCIM 2.0 no Microsoft Entra ID para criar pontos de extremidade para seus aplicativos que se integram ao serviço de provisionamento. Para mais informações, consulte Criar um ponto de extremidade SCIM e configurar o provisionamento do usuário. O agente de provisionamento local também converte as operações do Microsoft Entra SCIM para LDAP, SQL, REST ou SOAP ,PowerShell , chamadas para umconector ECMA personalizado ou conectores e gateways criados por parceiros.
Para solicitar um conector de provisionamento automático do Microsoft Entra para um aplicativo que não tem um, confira Solicitação de aplicativo do Microsoft Entra.
Autorização
As credenciais são necessárias para que o Microsoft Entra ID se conecte à API de gerenciamento de usuários do aplicativo. Enquanto estiver configurando o provisionamento automático de usuário para um aplicativo, você precisará inserir credenciais válidas. Para aplicativos da galeria, você pode encontrar os requisitos e tipos de credenciais do aplicativo, você pode consultar o tutorial do aplicativo. Para os aplicativos que não são da galeria, você pode consultar a documentação do SCIM para entender os tipos e requisitos de credenciais. No centro de administração do Microsoft Entra, você pode testar as credenciais fazendo com que o Microsoft Entra ID tente se conectar ao recurso de provisionamento do aplicativo usando as credenciais fornecidas.
Atributos de mapeamento
Ao habilitar o provisionamento de usuário para um aplicativo SaaS de terceiros, o centro de administração do Microsoft Entra controla os valores de seus atributos por meio do mapeamento de atributos. Os mapeamentos determinam os atributos de usuário que são transmitidos entre o Microsoft Entra ID e o aplicativo de destino quando as contas de usuário são provisionadas ou atualizadas.
Há um conjunto pré-configurado de atributos e mapeamentos de atributos entre objetos de usuário do Microsoft Entra e cada objeto de usuário do aplicativo SaaS. Alguns aplicativos gerenciam outros tipos de objetos em conjunto com os Usuários, como Grupos.
Ao configurar o provisionamento, é importante examinar e configurar os mapeamentos de atributos e fluxos de trabalho que definem quais propriedades de usuário (ou grupo) são transmitidas entre o Microsoft Entra ID e o aplicativo. Examine e configure a propriedade correspondente (Corresponder objetos usando este atributo) usada para identificar e corresponder usuários/grupos com exclusividade entre os dois sistemas.
Você pode personalizar mapeamentos de atributo padrão de acordo com suas necessidades comerciais. Sendo assim, você pode alterar ou excluir mapeamentos de atributos existentes ou criar mapeamentos. Para mais informações, consulte Personalizar mapeamentos de atributo de provisionamento de usuário para aplicativos SaaS.
Quando você configura o provisionamento de um aplicativo SaaS, um dos tipos de mapeamentos de atributos que você pode especificar é o mapeamento de expressão. Para esses mapeamentos, você precisa escrever uma expressão semelhante a script que permite transformar os dados de usuários em formatos que são mais aceitáveis para o aplicativo SaaS. Para mais informações, consulte Escrever expressões para mapeamentos de atributo.
Scoping
Escopo baseado em atribuição
Para o provisionamento de saída do Microsoft Entra ID para um aplicativo SaaS, depender de atribuições de usuário ou grupo é a maneira mais comum de determinar quais usuários estão no escopo para provisionamento. Como as atribuições de usuário também são usadas para habilitar o logon único, o mesmo método pode ser usado para gerenciar o acesso e o provisionamento. O escopo baseado em atribuição não se aplica a cenários de provisionamento de entrada, como o Workday e o Successfactors.
Grupos. Com um plano de licença P1 ou P2 do Microsoft Entra, você pode usar grupos para atribuir acesso a um aplicativo SaaS. Em seguida, quando o escopo de provisionamento estiver definido como Sincronizar apenas os usuários e grupos atribuídos, o serviço de provisionamento do Microsoft Entra provisionará ou desprovisionará usuários com base no fato de eles serem membros de um grupo atribuído ao aplicativo. O objeto de grupo em si não é provisionado, a menos que o aplicativo dê suporte a objetos de grupo. Verifique se os grupos atribuídos ao seu aplicativo têm a propriedade "SecurityEnabled" definida como "True".
Grupos dinâmicos. O serviço de provisionamento de usuários do Microsoft Entra pode ler e provisionar usuários em grupos de associação dinâmica. Observe estas ressalvas e recomendações:
Grupos dinâmicos podem afetar o desempenho do provisionamento de ponta a ponta do Microsoft Entra ID para aplicativos SaaS.
O quão rápido um usuário em um grupo dinâmico é provisionado ou desprovisionado em um aplicativo SaaS depende de quanto tempo o grupo dinâmico pode avaliar as alterações de associação. Para informações sobre como verificar o status de processamento de um grupo dinâmico, consulte Verificar o status de processamento para uma regra de associação.
Quando um usuário perde a associação ao grupo dinâmico, ele é considerado um evento de desprovisionamento. Considere este cenário ao criar regras de grupos de associação dinâmica.
Grupos aninhados. O serviço de provisionamento de usuário do Microsoft Entra não pode ler ou provisionar usuários em grupos aninhados. O serviço só pode ler e provisionar usuários que são membros imediatos de um grupo explicitamente atribuído. Essa limitação de "atribuições baseadas em grupo a aplicativos" também afeta o logon único (consulte Usar um grupo para gerenciar o acesso a aplicativos SaaS). Em vez disso, atribua ou, de outra forma, coloque em escopo os grupos que contêm os usuários que precisam ser provisionados.
Escopo baseado em atributo
Você pode usar filtros de escopo para definir regras baseadas em atributo que determinam quais usuários são provisionados para um aplicativo. Esse método é usado normalmente no provisionamento de entrada de aplicativos HCM para o Microsoft Entra ID e Active Directory. Os filtros de escopo são configurados como parte dos mapeamentos de atributos para cada conector de provisionamento de usuário do Microsoft Entra. Para mais informações para configurar filtros de escopo baseados em atributo, consulte Provisionamento de aplicativo baseado em atributo com filtros de escopo.
Usuários B2B (convidado)
É possível usar o serviço de provisionamento de usuário do Microsoft Entra para provisionar usuários B2B (convidados) no Microsoft Entra ID para aplicativos SaaS. No entanto, para que os usuários B2B entrem no aplicativo SaaS usando o Microsoft Entra ID, você precisa configurar manualmente o aplicativo SaaS para usar o Microsoft Entra ID como um provedor de identidade Security Assertion Markup Language (SAML).
Siga estas diretrizes gerais ao configurar aplicativos SaaS para usuários B2B (convidados):
- Para a maioria dos aplicativos, a configuração do usuário precisa acontecer manualmente. Os usuários também precisam ser criados manualmente no aplicativo.
- Para os aplicativos que oferecem suporte para a configuração automática, como o Dropbox, convites separados são criados a partir dos aplicativos. Os usuários devem aceitar cada convite.
- Nos atributos do usuário, para mitigar quaisquer problemas com o disco de perfil de usuário danificado (UPD) em usuários convidados, sempre defina o identificador do usuário como user.mail.
Observação
O userPrincipalName para um usuário de colaboração B2B representa o endereço de email do usuário externo alias@theirdomain como "alias_theirdomain#EXT#@yourdomain". Quando o atributo userPrincipalName é incluído em seus mapeamentos de atributos como um atributo de origem e um usuário B2B está sendo provisionado, o #EXT# e o seu domínio são removidos do userPrincipalName, portanto, somente o alias@theirdomain original é usado para correspondência ou provisionamento. Se você precisar que esteja presente o nome completo da entidade de usuário, incluindo #EXT# e o seu domínio, substitua userPrincipalName por originalUserPrincipalName como o atributo de origem.
userPrincipalName = alias@theirdomain
originalUserPrincipalName = alias_theirdomain#EXT#@yourdomain
Ciclos de provisionamento: Inicial e incremental
Quando o Microsoft Entra ID é o sistema de origem, o serviço de provisionamento usa a consulta delta para rastrear alterações nos dados do Microsoft Graph para monitorar usuários e grupos. O serviço de provisionamento executa um ciclo inicial com o sistema de origem e o sistema de destino, seguida de ciclos incrementais periódicos.
Ciclo inicial
Quando o serviço de provisionamento for iniciado, o primeiro ciclo vai:
Consultar todos os usuários e grupos do sistema de origem, recuperando todos os atributos definidos nos mapeamentos de atributo.
Filtre os usuários e os grupos retornados usando qualquer atribuição configurada ou filtros de escopo com base em atributo.
Quando um usuário é atribuído ou está no escopo para provisionamento, o serviço consulta o sistema de destino em busca de um usuário correspondente usando os atributos correspondentes especificados. Exemplo: Se o nome userPrincipal no sistema de origem for o atributo correspondente e for mapeado para userName no sistema de destino, o serviço de provisionamento consultará o sistema de destino em busca de userNames que correspondam aos valores de nome de Principal no sistema de origem.
Se um usuário correspondente não for encontrado no sistema de destino, ele será criado com os atributos retornados do sistema de origem. Depois que a conta de usuário é criada, o serviço de provisionamento detecta a ID do sistema de destino para o novo usuário e a armazena em cache. Essa ID é usada para executar todas as operações futuras nesse usuário.
Se um usuário correspondente for encontrado, ele será atualizado com os atributos fornecidos pelo sistema de origem. Depois que há uma correspondência de conta de usuário, o serviço de provisionamento detecta a ID do sistema de destino para o novo usuário. Essa ID é usada para executar todas as operações futuras nesse usuário.
Se os mapeamentos de atributo contiverem atributos "reference", o serviço fará atualizações no sistema de destino para criar e vincular os objetos referenciados. Por exemplo, um usuário pode ter um atributo "Manager" no sistema de destino, vinculado a outro usuário criado no sistema de destino.
Mantenha uma marca d'água ao final do ciclo inicial para fornecer o ponto de partida para os ciclos incrementais posteriores.
Alguns aplicativos, como ServiceNow, G Suite e Box, oferecem suporte não apenas ao provisionamento de usuários, mas também ao provisionamento de grupos e seus membros. Nesses casos, se o provisionamento de grupos estiver habilitado nos mapeamentos, o serviço de provisionamento sincronizará os usuários e os grupos e, posteriormente, sincronizará os grupos de associação dinâmica.
Ciclos incrementais
Após o ciclo inicial, todos os outros ciclos vão:
Consultar o sistema de origem em busca de eventuais usuários e grupos que tenham sido atualizados desde a última marca d'água armazenada.
Filtre os usuários e os grupos retornados usando qualquer atribuição configurada ou filtros de escopo com base em atributo.
Quando um usuário é atribuído ou está no escopo para provisionamento, o serviço consulta o sistema de destino em busca de um usuário correspondente usando os atributos correspondentes especificados.
Se um usuário correspondente não for encontrado no sistema de destino, ele será criado com os atributos retornados do sistema de origem. Depois que a conta de usuário é criada, o serviço de provisionamento detecta a ID do sistema de destino para o novo usuário e a armazena em cache. Essa ID é usada para executar todas as operações futuras nesse usuário.
Se um usuário correspondente for encontrado, ele será atualizado com os atributos fornecidos pelo sistema de origem. Se a correspondência for uma conta atribuída recentemente, o serviço de provisionamento detectará e armazenará em cache a ID do sistema de destino para o novo usuário. Essa ID é usada para executar todas as operações futuras nesse usuário.
Se os mapeamentos de atributo contiverem atributos "reference", o serviço fará atualizações no sistema de destino para criar e vincular os objetos referenciados. Por exemplo, um usuário pode ter um atributo "Manager" no sistema de destino, vinculado a outro usuário criado no sistema de destino.
Se um usuário que estava anteriormente no escopo para provisionamento for removido do escopo (inclusive sendo desatribuído), o serviço desabilitará o usuário no sistema de destino por meio de uma atualização.
Se um usuário que estava anteriormente no escopo para provisionamento for desabilitado ou excluído no sistema de origem, o serviço desabilitará o usuário no sistema de destino por meio de uma atualização.
Se um usuário que estava anteriormente no escopo para provisionamento for excluído no sistema de origem, o serviço excluirá o usuário no sistema de destino. No Microsoft Entra ID, os usuários são excluídos 30 dias depois que forem excluídos pelo software.
Mantenha uma nova marca d'água ao final do ciclo incremental para fornecer o ponto de partida para os ciclos incrementais posteriores.
Observação
Você também pode desabilitar as operações de criação, atualização ou exclusão operações usando as caixas de seleção Ações do objeto de destino na seção Mapeamentos. A lógica para desabilitar um usuário durante uma atualização também é controlada por meio de um mapeamento de atributos em um campo como accountEnabled.
O serviço de provisionamento continua executando ciclos incrementais back-to-back indefinidamente, em intervalos definidos no tutorial específico para cada aplicativo. Os ciclos incrementais continuam até que um dos eventos ocorra:
- O serviço é interrompido manualmente usando o centro de administração do Microsoft Entra ou o comando apropriado da API do Microsoft Graph.
- Um novo ciclo inicial é disparado usando a opção Reiniciar o provisionamento no centro de administração do Microsoft Entra ou o comando apropriado da API do Microsoft Graph. Essa ação limpa qualquer marca d'água armazenada e faz todos os objetos de origem serem reavaliados. Além disso, a ação não interrompe os links entre os objetos de origem e destino. Para interromper os links, use Reiniciar synchronizationJob com a solicitação:
POST https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/jobs/{jobId}/restart
Authorization: Bearer <token>
Content-type: application/json
{
"criteria": {
"resetScope": "Full"
}
}
- Um novo ciclo inicial é disparado devido a uma alteração nos mapeamentos de atributo ou filtros de escopo. Essa ação também apaga qualquer marca d'água armazenada e faz todos os objetos de origem serem reavaliados.
- O processo de provisionamento vai para quarentena (veja o exemplo) devido à taxa de erros alta e permanece em quarentena por mais de quatro semanas. Neste caso, o serviço é desabilitado automaticamente.
Erros e novas tentativas
Se um erro no sistema de destino impedir que um usuário individual seja adicionado, atualizado ou excluído no sistema de destino, a operação será repetida no próximo ciclo de sincronização. Os erros são repetidos continuamente, reduzindo gradualmente a frequência de novas tentativas. Para resolver a falha, os administradores devem verificar os logs de provisionamento para determinar a causa raiz e executar a ação apropriada. Entre as falhas comuns podem estar:
- Usuários que não tenham um atributo preenchido no sistema de origem necessário no sistema de destino
- Usuários que tenham um valor de atributo no sistema de origem para o qual há uma restrição exclusiva no sistema de destino e o mesmo valor está presente em outro registro de usuário
Para resolver essas falhas, ajuste os valores de atributo do usuário afetado no sistema de origem ou os mapeamentos de atributos para que eles não causem conflitos.
Quarentena
Se a maioria ou todas as chamadas feitas no sistema de destino falharem regularmente por causa de um erro (por exemplo, credenciais de administrador inválidas), o trabalho de provisionamento entrará em um estado de "quarentena". Esse estado é indicado no relatório de resumo do provisionamento e por email, se as notificações por email estiverem configuradas no centro de administração do Microsoft Entra.
Em quarentena, a frequência de ciclos incrementais é reduzida gradualmente a uma por dia.
O trabalho de provisionamento sai da quarentena depois que todos os erros inválidos são corrigidos e o próximo ciclo de sincronização é iniciado. Se permanecer em quarentena por mais de quatro semanas, o trabalho de provisionamento será desabilitado. Saiba mais aqui sobre o status de quarentena aqui.
Quanto tempo demora o provisionamento
O desempenho depende se o seu trabalho de provisionamento está executando um ciclo de provisionamento inicial ou incremental. Para mais informações sobre a duração do provisionamento e como monitorar o status do serviço de provisionamento, consulte Verificar o status do provisionamento de usuário.
Como posso saber se os usuários estão sendo provisionados corretamente
Todas as operações executadas pelo serviço de provisionamento de usuário são registradas nos logs de provisionamento do Microsoft Entra. Os logs incluem todas as operações de gravação feitas para os sistemas de origem e destino, e os dados de usuário que foram lidos ou gravados durante cada operação. Para obter informações sobre como ler os logs de provisionamento no centro de administração do Microsoft Entra, consulte o guia de relatório de provisionamento.
Desprovisionamento
O serviço de provisionamento do Microsoft Entra mantém os sistemas de origem e de destino sincronizados ao desprovisionar as contas quando o acesso do usuário é removido.
O serviço de provisionamento dá suporte à exclusão e à desabilitação (às vezes chamada de exclusão suave) dos usuários. A definição exata de desabilitar e excluir varia de acordo com a implementação do aplicativo de destino, mas geralmente uma desabilitação indica que o usuário não pode entrar. Uma exclusão indica que o usuário foi completamente removido do aplicativo. Para aplicativos SCIM, uma desabilitação é uma solicitação para definir a propriedade ativa como false em um usuário.
Configurar seu aplicativo para desabilitar um usuário
Confirme se a caixa de seleção das atualizações está selecionada.
Confirme se o mapeamento está ativo para seu aplicativo. Se você estiver usando um aplicativo da galeria de aplicativos, o mapeamento poderá ser um pouco diferente. Nesse caso, use o mapeamento padrão para aplicativos de galeria.
Configurar seu aplicativo para excluir um usuário
O cenário dispara uma desabilitação ou uma exclusão:
- Um usuário é excluído de forma suave no Microsoft Entra ID (enviado para a lixeira/propriedade AccountEnabled definida como false). Trinta dias depois de um usuário ser excluído no Microsoft Entra ID, ele será permanentemente excluído do locatário. Neste ponto, o serviço de provisionamento envia uma solicitação de EXCLUSÃO para excluir permanentemente o usuário no aplicativo. Durante o período de 30 dias, você pode excluir manualmente um usuário de forma permanente, o que envia uma solicitação de exclusão ao aplicativo.
- Um usuário é excluído/removido permanentemente da lixeira no Microsoft Entra ID.
- Um usuário não é atribuído a partir de um aplicativo.
- Um usuário vai de dentro do escopo para fora do escopo (não passa mais por um filtro de escopo).
Por padrão, o serviço de provisionamento do Microsoft Entra exclui temporariamente ou desabilita usuários que estão fora do escopo. Se quiser substituir esse comportamento padrão, poderá definir um sinalizador para ignorar exclusões fora do escopo.
Quando um dos quatro eventos ocorrer e o aplicativo de destino não oferecer suporte a exclusões reversíveis, o serviço de provisionamento enviará uma solicitação de EXCLUSÃO para excluir permanentemente o usuário do aplicativo.
Se você vir IsSoftDeleted
em seus mapeamentos de atributo, ele será usado para determinar o estado do usuário e se deseja enviar uma solicitação de atualização com active = false
para exclusão reversível do usuário.
Desprovisionamento de eventos
A tabela descreve como você pode configurar ações de desprovisionamento com o serviço de provisionamento do Microsoft Entra. Essas regras foram escritas com o aplicativo personalizado/não pertencente à galeria em mente, mas geralmente se aplicam aos aplicativos da galeria. No entanto, o comportamento dos aplicativos da galeria pode ser diferente, pois eles foram otimizados para atender às necessidades do aplicativo. Por exemplo, se o aplicativo de destino não oferecer suporte à exclusão reversível, o serviço de provisionamento do Microsoft Entra poderá enviar uma solicitação de exclusão irreversível para excluir usuários em vez de enviar uma solicitação de exclusão reversível.
Cenário | Como configurar no Microsoft Entra ID |
---|---|
Um usuário tem a atribuição de um aplicativo cancelada, excluído temporariamente no Microsoft Entra ID ou bloqueado para entrar. Você não quer que nada seja feito. | Remova isSoftDeleted dos mapeamentos de atributo e/ou defina a propriedade ignorar exclusões fora do escopo como verdadeiro. |
Um usuário tem a atribuição de um aplicativo cancelada, excluído temporariamente no Microsoft Entra ID ou bloqueado para entrar. Você deseja definir um atributo específico como true ou false . |
Mapeie isSoftDeleted para o atributo que deseja definir como falso. |
Um usuário está desabilitado no Microsoft Entra ID, não atribuído de um aplicativo, excluído de maneira reversível no Microsoft Entra ID ou impedido de entrar. Você deseja enviar uma solicitação EXCLUIR para o aplicativo de destino. | Atualmente, há suporte para essa opção em um conjunto limitado de aplicativos da galeria em que a funcionalidade é obrigatória. Não pode ser configurado pelos clientes. |
Um usuário é excluído no Microsoft Entra ID. Você não quer que nada seja feito no aplicativo de destino. | Verifique se a opção "Excluir" não está selecionada como uma das ações do objeto de destino na experiência de configuração do atributo. |
Um usuário é excluído no Microsoft Entra ID. Você deseja definir o valor de um atributo no aplicativo de destino. | Não há suporte. |
Um usuário é excluído no Microsoft Entra ID. Você deseja excluir o usuário no aplicativo de destino | Verifique se a opção Excluir está selecionada como uma das ações de objeto de destino na experiência de configuração de atributo. |
Limitações conhecidas
- Quando um usuário ou grupo tiver a atribuição de um aplicativo cancelada e não for mais gerenciado pelo serviço de provisionamento, uma solicitação de desabilitação será enviada. Nesse ponto, o serviço não gerencia o usuário e uma solicitação de exclusão não é enviada quando o usuário é excluído do diretório.
- O provisionamento de um usuário que está desabilitado no Microsoft Entra ID não é compatível. Eles devem estar ativos no Microsoft Entra ID antes de serem provisionados.
- Quando um usuário excluído de forma reversível passa para ativo, o serviço de provisionamento do Microsoft Entra ativa o usuário no aplicativo de destino, mas não restaura automaticamente os grupos de associação dinâmica. O aplicativo de destino deve manter o grupo de associação dinâmica para o usuário no estado inativo. Se o aplicativo de destino não oferecer suporte à manutenção do estado inativo, reinicie o provisionamento para atualizar os grupos de associação dinâmica.
Recomendação
Ao desenvolver um aplicativo, sempre ofereça suporte a exclusões reversíveis e irreversíveis. Ele permite que os clientes se recuperem quando um usuário é desabilitado acidentalmente.
Próximas etapas
Planejar uma implantação de provisionamento do usuário automática
Configurar provisionamento para um aplicativo da galeria
Criar um ponto de extremidade SCIM e configurar o provisionamento ao criar seu próprio aplicativo
Solucionar problemas com a configuração e o provisionamento de usuários para um aplicativo.