Mapeamentos
O mapeamento no processo de provisionamento consiste na correspondência e transformação dos atributos dos objetos cadastrados no diretório do Blazon para os sistemas-alvo, onde as contas de usuário são provisionadas e/ou atualizadas.
Esse processo envolve a definição de regras de conversão para garantir compatibilidade entre os esquemas de dados, contemplando diferenças de nomenclatura, formatos e tipos de dados entre as plataformas envolvidas.
Essa etapa é fundamental para assegurar a integridade e a coerência das informações sincronizadas, evitando falhas de provisionamento devido a incompatibilidades estruturais ou semânticas.
Para acessar a tela de administração dos mapeamentos de provisionamento no Admin console você deve:
Autentique-se no Admin console
Acione o menu Ciclo de Vida
No menu Ciclo de Vida, acione a opção Gestão de acessos > Provisionamento > Mapeamentos
Etapas do processo de mapeamento
Antes de criar ou realizar qualquer alteração no mapeamento de atributos de provisionamento, é de extrema importância ter conhecimento das etapas abaixo:
Identificação dos atributos
Identificar os atributos necessários para um provisionamento bem-sucedido em cada sistema alvo. Esse mapeamento inclui:
Atributos do Blazon: Todos os atributos disponíveis no Blazon que podem ser usados para Provisionamento.
Campos do sistema Alvo: Identificar os atributos desejados ou obrigatório que devem ser provisionados no sistema alvo.
Definição dos mapeamento
Cada atributo no Blazon deve ser correspondido a um atributo equivalente no sistema alvo. Esse mapeamento pode ser realizado de diversas formas conforme a tabela abaixo:
Um-para-Um
Atributo no Blazon: firstName
Atributo no Sistema Alvo: givenName
Aqui, o valor de firstName no Blazon é diretamente mapeado para o atributo givenName no sistema alvo.
Transformação de Atributos
Atributo no Blazon: displayName
Atributos no Sistema Alvo: fullName*
*Todos os caracteres maiúsculos
Neste caso, o atributo displayName no Blazon precisa passar por uma transformação, que pode ser realizada por um script ou função (Ex .toUppercase) para que o atributo fullName no sistema alvo, seja preenchido com todos os caracteres maiúsculos
Uso de Valor Padrão
Atributos no Sistema Alvo: USER__BASE__DN*
*Provisionar todos os novos usuários em uma OU específica do Active Directory: OU=users,DC=acme,DC=com
Neste caso, o atributo USER__BASE__DN do Active Directory sempre receberá o valor padrão: OU=users,DC=acme,DC=com
Configuração do mapeamento
Um mapeamento consiste de uma coleção de mapeamentos de atributos, os quais o administrador deve configurar.
Cada mapeamento de atributo consiste de 3 valores:
Campo: deve ser configurado com o nome do campo do mapeamento de acordo com o sistema alvo.
Considerando a tabela anterior, no tipo "Um-pra-Um", na coluna Característica, deveria ter o valor "givenName" que corresponde ao nome do atributo no sistema alvo.
Descrição: pode ser configurado com uma descrição para maior clareza na configuração, mas não é obrigatório.
Valor: deve ser configurado com uma expressão do spring (SpEL), ou com um script beanShell ou com um valor fixo.
Considerando a tabela anterior, no tipo "Um-pra-Um", na coluna Característica, e usando expressões, deveria ter o valor "{user.firstName}" que corresponde à expressão que define o valor do campo "firstName" do atributo "user" da conta.
Atributos e objetos disponíveis para mapeamento
De acordo com a documentação de fundamentos da plataforma, sobre o processo de provisionamento, tem-se a possibilidade de configuração de 11 (onze) eventos de provisionamento.
Esses eventos mapeam as possibilidades de provisionamento da plataforma sobre os 3 (três) objetos provisionáveis:
Conta:
atributos disponíveis: account, resource, user
Direito:
atributos disponíveis: entitlement, resource
Membro de direito:
atributos disponíveis (mapeamento do direito): entitlement, resource
atributos disponíveis (mapeamento da conta): account, resource, user
Para cada um desses objetos que estão disponiveis para mapeamento existem alguns atributos disponíveis do diretório do Blazon, de acordo com a tabela abaixo:
Conta
account
Representa uma referencia para a conta, do diretório do Blazon, que está sendo provisionada. Contem os atributos de uma conta, exemplo: accountIdentifier, accountType, name, state, userId, resourceId, etc.
Conta
resource
Representa uma referencia para o recurso da conta, do diretório do Blazon, que está sendo provisionada. Contem os atributos de um recurso, exemplo: name, category, risk, etc.
Conta
user
Representa uma referencia para o usuário dono da conta, do diretório do Blazon, que está sendo provisionada. Contém os atributos de um usuário, exemplo: username, firstName, displayName, middleName, lastName, email, personalEmail, mobilePhone, primaryPhone, organization*, department*, costCenter*, responsible*, etc.
Direito
entitlement
Representa uma referencia para o direito, do diretório do Blazon, que está sendo provisionado. Contem os atributos de um direito, exemplo: name, resourceId, etc.
Direito
resource
Representa uma referencia para o recurso do direito, do diretório do Blazon, que está sendo provisionado. Contem os atributos de um recurso, exemplo: name, category, risk, etc.
Membro de direito (mapeamento do direito)
entitlement
Representa uma referencia para o direito do membro de direito, do diretório do Blazon, que está sendo provisionado. Contem os atributos de um direito, exemplo: name, resourceId, etc.
Membro de direito (mapeamento do direito)
resource
Representa uma referencia para o recurso do direito do membro de direito, do diretório do Blazon, que está sendo provisionado. Contem os atributos de um recurso, exemplo: name, category, risk, etc.
Membro de direito (mapeamento da conta)
account
Representa uma referencia para a conta do membro de direito, do diretório do Blazon, que está sendo provisionado. Contem os atributos de uma conta, exemplo: accountIdentifier, accountType, name, state, userId, resourceId, etc.
Membro de direito (mapeamento da conta)
resource
Representa uma referencia para o recurso da conta do membro de direito, do diretório do Blazon, que está sendo provisionado. Contem os atributos de um recurso, exemplo: name, category, risk, etc.
Membro de direito (mapeamento da conta)
user
Representa uma referencia para o usuário dono da conta do membro de direito, do diretório do Blazon, que está sendo provisionado. Contém os atributos de um usuário, exemplo: username, firstName, displayName, middleName, lastName, email, personalEmail, mobilePhone, primaryPhone, organization*, department*, costCenter*, responsible*, etc.
Usando expressões para configurar os mapeamentos de atributos
Usando a sintaxe das expressões do spring é possível ler os valores de um atributo de forma dinâmica e ainda assim transformá-los caso necessário.
O valor de um mapeamento usando uma expressão é na verdade uma string que pode conter uma expressão.
As expressões spring são demarcadas pelos caracter "{" e "}", e devem conter referencias à atributos de acordo com a tabela da seção Atributos e objetos disponíveis para mapeamento.
Além de referencia para atributos, as expressões podem conter alguma função descrita no objeto.
A tabela abaixo ilulstra alguns exemplos de expressões:
Atributo padrão 'firstName' do usuário da conta, no provisionamento de conta.
{user.firstName}
Atributo padrão 'lastName' do usuário da conta, em letras maiúsculas, no provisionamento de conta
{user.lastName.toUpperCase()}
Atributo padrão 'accountIdentifier' da conta, no provisionamento de membro de direito.
{account.accountIdentifier}
Atributo padrão 'accountIdentifier' da conta, no provisionamento de membro de direito, e concatenado com o termo "_ID".
{account.accountIdentifier}_ID
Atributo adicional 'occupationCode' do usuário da conta, no provisionamento de conta.
{user.get('occupationCode')}
Atributo padrão 'name' do direito, no provisoinamento de membro de direito.
{entitlement.name}
Atributo padrão 'name' do departamento do usuário da conta, no provisionamento de conta.
{user.department.name}
Usando script beanShell para configurar os mapeamentos de atributos
Um script beanShell representa um programa na linguagem beanShell, que pode ser definido para gerar o valor do mapeamento de um atributo.
Segundo a documentação do beanShell, o beanShell é um interpretador de programas em Java e permite adicionar variáveis no contexto da interpretação.
Todo script beanShell executado no mapeamento do provisionamento contem a variável com o nome 'entry' que representa uma referência para o objeto que está sendo provisionado, no caso uma conta, ou um direito ou um membro de direito.
Essa referência contem os mesmos atributos descritos na tabela da seção Atributos e objetos disponíveis para o mapeamento de atributo.
O script pode ter várias linhas e o valor final da execução do script será o valor dado como retorno, através do comando 'return', ou o valor da ultima atribuição.
A tabela abaixo ilustra alguns exemplos de scripts beanShell:
Atributo padrão 'firstName' do usuário da conta, no provisionamento de conta.
return entry.user.firstName;
Atributo padrão 'lastName' do usuário da conta, em letras maiúsculas, no provisionamento de conta
lastName = entry.user.lastName; if(lastName == null) { return ""; } return lastName.toUpperCase();
Atributo padrão 'accountIdentifier' da conta, no provisionamento de membro de direito.
return entry.account.accountIdentifier;
Atributo padrão 'accountIdentifier' da conta, no provisionamento de membro de direito, e concatenado com o termo "_ID".
accId = entry.account.accountIdentifier; return accId + "_ID";
Atributo adicional 'occupationCode' do usuário da conta, no provisionamento de conta.
return entry.user.get('occupationCode');
Atributo padrão 'name' do direito, no provisoinamento de membro de direito.
return entry.entitlement.name;
Atributo padrão 'name' do departamento do usuário da conta, no provisionamento de conta.
return entry.user.department.name;
Last updated
Was this helpful?