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:

  1. Autentique-se no Admin console

  2. Acione o menu Ciclo de Vida

  3. 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:

Tipo
Caracteristica
Descrição

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

Os valores referentes aos atributos do diretório do blazon, na configuração de cada mapeamento, podem ser obtidos via expressão do spring (SpEL), ou via script beanShell.

A seção Usando expressões para configurar o mapeamento destaca o processo de mapeamento usando expressão spring.

A seção Usando beanShell para configurar o mapeamento destaca o processo de mapeamento usando scripts beanShell.

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.

Nesse ponto é importante compreender que existem alguns atributos do diretório, disponiveis para mapeamento, de acordo com cada objeto que está sendo provisionado.

A seção Atributos e objetos disponíveis para mapeamento, a seguir, destaca esse conceito.

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:

  1. Conta:

    • atributos disponíveis: account, resource, user

  2. Direito:

    • atributos disponíveis: entitlement, resource

  3. 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:

Objeto provisionado
Atributos disponíveis
Descrição

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.

Os atributos com um asterisco na frente representam atributos complexos, sendo que os atributos organization, department e costCenter são do tipo Unidade Organizacional e responsible do tipo Usuário na platadforma.

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:

Descrição do valor do mapeamento de atributo
Expressão

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.

Além da variável entry, o script tem disponível a referência para vários serviços da API do Blazon, como: userServiceAPI, accountServiceAPI, entitlementServiceAPI, roleServiceAPI, resourceServiceAPI, passwordPolicyServiceAPI, organizationUnitServiceAPI, membershipEntitlementServiceAPI, membershipRoleServiceAPI.

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:

Descrição do valor do mapeamento de atributo
Script sugerido

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?