Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Às vezes, o provisionamento de usuário pode ser desafiador, como quando há usuários duplicados presentes em aplicativos empresariais que usam a ID do Microsoft Entra. A ferramenta Construtor de Expressões simplifica esse processo, oferecendo a flexibilidade para transformar e mapear atributos de usuário.
Por padrão, o provisionamento de usuário ocorre com base no UPN. No entanto, pode haver instâncias em que os clientes estão usando métodos herdados e os UPNs podem estar em formatos como a.b@onmicrosoft.com e a_b@onmicrosoft.com.
Quando temos essa situação, pode haver falhas de provisionamento de usuário no lado do aplicativo. Por exemplo, alguns aplicativos como o GHCP (GitHub Copilot) provisionam usuários no formato a-b-test, em que "a" é o primeiro nome no UPN, "b" é o segundo nome e de teste é o nome da instância GHCP.
Agora, se tivermos usuários a.b@onmicrosoft.com e a_b@onmicrosoft.com, o GHCP provisionará um usuário e o outro usuário falhará devido à duplicação.
O Construtor de Expressões simplifica o provisionamento de usuário habilitando a transformação de atributo e o mapeamento com base nas necessidades organizacionais. Embora ofereça flexibilidade e precisão, o teste e a validação adequados são cruciais para a implementação bem-sucedida em ambientes de produção.
Cenários de exemplo
O que se segue são cenários e expressões de exemplo para lidar com o mapeamento de atributo exclusivo e os desafios de provisionamento de usuário.
Cenário 1: garantir nomes de usuário exclusivos sem duplicação
Quando atributos exclusivos como ID do Funcionário estão indisponíveis ou restritos devido à segurança, ID do objeto podem servir como uma opção confiável. IDs de objeto são globalmente exclusivas para cada usuário, garantindo nenhuma duplicação.
Nota
Cada aplicativo tem limites de caracteres para provisionamento de usuário. Por exemplo, o limite de caracteres do GitHub é 39.
Expressão :
Append(Mid([displayName], 1, 15), Mid([objectId], 1, 8))
Explicação :
- Usa os primeiros 15 caracteres do nome de exibição do usuário.
- Acrescenta os primeiros oito caracteres do da ID do Objetodo usuário.
- Cria um identificador exclusivo combinando os dois.
Vantagens do :
- Exclusividade assegurada por meio de de ID do objeto.
- Reduz o risco de duplicação.
Cenário 2: modificar o UPN (nome da entidade de usuário) para compatibilidade
Em alguns sistemas, os UPNs precisam de modificações para a integração adequada. Por exemplo, acrescentar partes da ID do Objeto garante a exclusividade.
Expressão :
Append(Mid([objectId], 1, 2), Mid([userPrincipalName], 1, 50))
Explicação :
Extrai os dois primeiros caracteres do de ID do objeto.
Acrescenta esses caracteres ao UPN existente (que é limitado aos primeiros 50 caracteres. Embora a maioria dos usuários normalmente não tenha um UPN que atinja esse limite, a intenção é acrescentar dois caracteres da ID do objeto ao UPN completo para exclusividade).
Cenário 3: modificações condicionais para usuários específicos
Para aplicar alterações personalizadas a um subconjunto de usuários, a lógica condicional com instruções IIF pode ser empregada.
Expressão :
IIF([userPrincipalName] = "Aman.Gupta@xpl57.onmicrosoft.com", Append(Mid([objectId], 1, 2), [userPrincipalName]), IIF( [userPrincipalName] = "Aarti@xpl57.onmicrosoft.com", Append(Mid([objectId], 1, 2), [userPrincipalName]), IIF([userPrincipalName] = "AdeleV@xpl57.onmicrosoft.com", Append(Mid([objectId], 1, 2), [userPrincipalName]), [userPrincipalName] ) )
A expressão verifica se há usuários específicos com base no UPN e aplica uma modificação personalizada acrescentando os dois primeiros caracteres da ID do objeto ao userPrincipalName para Aman.Gupta@xpl57.onmicrosoft.com, Aarti@xpl57.onmicrosoft.come AdeleV@xpl57.onmicrosoft.com.
Exemplo de caso de teste:
UPN de entrada: Aman.Gupta@xpl57.onmicrosoft.com
Saída esperada: 39Aman.Gupta@xpl57.onmicrosoft.com
Um exemplo mais avançado é o seguinte:
IIF([userPrincipalName] = "Aman.Gupta@xpl57.onmicrosoft.com", Append([displayName], Append("", Mid([objectId], 1, 8))), IIF([userPrincipalName] = "harjit@xpl57.onmicrosoft.com", Append([displayName], Append("", Mid([objectId], 1, 8)))), IIF( [userPrincipalName] = "AdeleV@xpl57.onmicrosoft.com", Append([displayName], Append("_", Mid([objectId], 1, 8))), [userPrincipalName] ) ) )
Expressão para teste:
Append(Mid([objectId], 1, 8), [userPrincipalName])
O processo verifica usuários específicos com base no UPN e aplica uma modificação personalizada acrescentando os primeiros oito caracteres de suas IDs de objeto ao nome de exibição. Quanto mais usuários forem incluídos, mais tempo a expressão se tornará, o que aumentará a complexidade. Portanto, esse método é mais adequado para pequenos subconjuntos de usuários.
Principais recomendações
- Teste extensivamente: Sempre testar expressões em um ambiente de não produção para verificar a funcionalidade.
- limitações de caractere : Verifique se o nome de usuário transformado não excede os limites de caractere especificados pelo aplicativo (por exemplo, o GitHub tem um limite de 39 caracteres).
- Documentação do : Manter documentação clara de expressões e alterações para solução de problemas e referência futura.
Ferramentas e etapas para teste
- Abra o Construtor de Expressões na ID do Entra ou na interface de provisionamento relevante.
- Use o recurso de Expressão de Teste com dados de usuário de exemplo.
- Valide as saídas para garantir a transformação adequada.