Provisionamento de aplicativo com base em atributo com filtros de escopo

O objetivo deste artigo é explicar como usar filtros de escopo para definir regras baseadas em atributo que determinam quais usuários serão provisionados a um aplicativo.

Casos de uso do filtro de escopo

Um filtro de escopo permite que o serviço de provisionamento do Azure AD (Azure Active Directory) inclua ou exclua qualquer usuário que tenha um atributo que corresponda a um valor específico. Por exemplo, ao provisionar usuários do Azure AD para um aplicativo SaaS utilizado por uma equipe de vendas, você poderá especificar que apenas os usuários com um atributo "Departamento" de "Vendas" deverá estar no escopo para provisionamento.

Os filtros de escopo podem ser utilizados de modo diferente, dependendo do tipo de conector de provisionamento:

  • Provisionamento de saída do Azure AD para aplicativos SaaS. Quando o Azure AD é o sistema de origem, atribuições de usuário e grupo são o método mais comum para determinar quais usuários estão no escopo para provisionamento. Essas atribuições também são utilizadas para habilitar o logon único e fornecer um método exclusivo para gerenciar o acesso e o provisionamento. Os filtros de escopo podem ser utilizados opcionalmente, além de atribuições ou, em vez de eles, para filtrar usuários com base em valores de atributos.

    Dica

    Quanto mais usuários e grupos estiverem no escopo para provisionamento, mais tempo o processo de sincronização poderá demorar. Definir o escopo para sincronizar usuários e grupos atribuídos, limitar o número de grupos atribuídos ao aplicativo e limitar o tamanho dos grupos reduzirá o tempo necessário para sincronizar todos que estão no escopo.

  • Provisionamento de entrada de aplicativos HCM para o Azure AD e o Active Directory. Quando um aplicativo HCM como o Workday for o sistema de origem, os filtros de escopo serão o método principal para determinar quais usuários deverão ser provisionados do aplicativo HCM para o Active Directory ou o Azure AD.

Por padrão, os conectores de provisionamento do Azure AD não possuem filtros de escopo baseados em atributos configurados.

Construção do filtro de escopo

Um filtro de escopo consiste em uma ou mais cláusulas. As cláusulas determinam quais usuários poderão passar pelo filtro de escopo avaliando os atributos de cada usuário. Por exemplo, é possível ter uma cláusula que exija que o atributo "Estado" do usuário seja igual a "Nova York", então somente usuários de Nova York serão provisionados para o aplicativo.

Uma cláusula exclusiva define uma condição única para um valor de atributo único. Se várias cláusulas forem criadas em um único filtro de escopo, elas serão avaliadas em conjunto utilizando a lógica "AND". Isso significa que todas as cláusulas devem ser avaliadas como "verdadeiras" para que um usuário ser provisionado.

Por fim, vários filtros de escopo podem ser criados para um único aplicativo. Se houver múltiplos filtros de escopo, eles serão avaliados em conjunto utilizando a lógica "OR". Isso significa que, se todas as cláusulas em qualquer um dos filtros de escopo configurados forem avaliadas como "true", o usuário será provisionado.

Cada usuário ou grupo processado pelo serviço de provisionamento do Azure AD sempre é avaliado individualmente em relação a cada filtro de escopo.

Como um exemplo, considere o seguinte filtro de escopo:

Scoping filter

De acordo com esse filtro de escopo, os usuários devem atender aos seguintes critérios para serem provisionados:

  • Eles devem estar em Nova York.
  • Eles devem trabalhar no departamento de engenharia.
  • O número da ID do funcionário da empresa deve estar entre 1.000.000 e 2.000.000.
  • O cargo não deve ser nulo ou nem estar vazio.

Criar filtros de escopo

Os filtros de escopo são configurados como parte dos mapeamentos de atributos para cada conector de provisionamento de usuário do Azure AD. O procedimento a seguir presume que você já tenha configurado o provisionamento automático para um dos aplicativos com suporte e está adicionando um filtro de escopo a ele.

Criar um filtro de escopo

  1. No Portal do Azure, vá para a seção Azure Active Directory>Aplicativos Empresariais>Todos os aplicativos.

  2. Selecione o aplicativo para o qual você configurou provisionamento automático: por exemplo, "ServiceNow".

  3. Selecione a guia Provisionamento.

  4. Na seção Mapeamentos, selecione o mapeamento para o qual você deseja configurar um filtro de escopo: por exemplo, "Sincronizar Usuários do Azure Active Directory ao ServiceNow".

  5. Selecione o menu Escopo do objeto de origem.

  6. Selecione Adicionar filtro de escopo.

  7. Defina uma cláusula selecionando um Nome do Atributo de origem, um Operador e um Valor do Atributo para corresponder. Há suporte para os seguintes operadores:

    a. EQUALS. A cláusula retornará "true" se o atributo avaliado corresponder exatamente ao valor da cadeia de caracteres de entrada (diferencia maiúsculas de minúsculas).

    b. NOT EQUALS. A cláusula retornará "true" se o atributo avaliado não corresponder ao valor da cadeia de caracteres de entrada (diferencia maiúsculas de minúsculas).

    c. IS TRUE. A cláusula retornará "true" se o atributo avaliado contiver um valor booliano de true.

    d. IS FALSE. A cláusula retornará "true" se o atributo avaliado contiver um valor booliano de false.

    e. IS NULL. A cláusula retornará "true" se o atributo avaliado estiver vazio.

    f. IS NOT NULL. A cláusula retornará "true" se o atributo avaliado não estiver vazio.

    g. REGEX MATCH. A cláusula retornará "true" se o atributo avaliado corresponder a um padrão de expressão regular. Por Exemplo: ([1-9][0-9]) corresponde a qualquer número entre 10 e 99 (diferencia maiúsculas e minúsculas).

    h. NOT REGEX MATCH. A cláusula retornará "true" se o atributo avaliado não corresponder a um padrão de expressão regular. Ele retornará "false" se o atributo for null / empty.

    i. Greater_Than. A cláusula retornará "true" se o atributo avaliado for maior que o valor. O valor especificado no filtro de escopo precisa ser um inteiro e o atributo no usuário precisa ser um inteiro [0,1,2,...].

    j. Greater_Than_OR_EQUALS. A cláusula retornará "true" se o atributo avaliado for maior que ou igual ao valor. O valor especificado no filtro de escopo precisa ser um inteiro e o atributo no usuário precisa ser um inteiro [0,1,2,...].

    k. Includes. A cláusula retornará "true" se o atributo avaliado contiver o valor da cadeia de caracteres (diferencia maiúsculas de minúsculas), conforme descrito aqui.

Importante

  • O filtro IsMemberOf não tem suporte no momento.
  • No momento, não há suporte para o atributo de membros em um grupo.
  • Não há suporte para filtragem de atributos com valores múltiplos.
  • Os filtros de escopo retornarão "false" se o valor for nulo/vazio.
  1. Opcionalmente, repita as etapas 7 e 8 para adicionar mais cláusulas de escopo.

  2. Em Título do Filtro de Escopo, adicione um nome para o filtro de escopo.

  3. Selecione OK.

  4. Selecione OK novamente na tela Filtros de Escopo. Opcionalmente, repita as etapas 6 a 11 para adicionar outro filtro de escopo.

  5. Selecione Salvar na tela de Mapeamento de Atributo.

Importante

Salvar um novo filtro de escopo dispara uma nova sincronização completa para o aplicativo, onde todos os usuários no sistema de origem são avaliados novamente em relação ao novo filtro de escopo. Se um usuário no aplicativo estava anteriormente no escopo de provisionamento, mas sair do escopo, sua conta será desabilitada ou desprovisionada no aplicativo. Para substituir esse comportamento padrão, consulte Ignorar a exclusão de contas de usuário fora do escopo.

Filtros de escopo comuns

Atributo de Destino Operador Valor Descrição
userPrincipalName REGEX MATCH .*@domain.com Todos os usuários com userPrincipal que têm o domínio @domain.com estarão dentro do escopo de provisionamento
userPrincipalName NOT REGEX MATCH .*@domain.com Todos os usuários com userPrincipal que têm o domínio @domain.com estarão fora do escopo de provisionamento
department EQUALS vendas Todos os usuários do departamento de vendas estão dentro do escopo de provisionamento
workerID REGEX MATCH (1[0-9][0-9][0-9][0-9][0-9][0-9]) Todos os funcionários com workerIDs entre 1000000 e 2000000 estão no escopo de provisionamento.