Integra com o Arquivo Simples
Estabelecer uma conexão entre o Arquivo Simples e o Oracle Access Governance como uma origem autorizada e como um sistema gerenciado. Para isso, use a funcionalidade Sistemas Orquestrados disponível na Console do Oracle Access Governance.
Pré-requisitos
Antes de instalar e configurar um sistema orquestrado de Arquivo Simples, você deve considerar os pré-requisitos e tarefas a seguir.
Componentes Certificados
O sistema deve ser o seguinte:
- Arquivo Simples CSV criado no Oracle Cloud Infrastructure (OCI) Object Storage na tenancy
Modos Suportados
- Origem Autorizada
- Sistema Gerenciado
Operações Suportadas
- Criar Conta
- Excluir Conta
- Adicionar Direito
- Remover Direito
Criar um bucket no serviço OCI Object Storage para Operações do Sistema Orquestrado de Arquivo Simples
Para carregar um arquivo simples no Oracle Access Governance, você precisa colocar os arquivos de dados em um bucket criado usando o serviço OCI Object Storage. Esse bucket pode ser criado em qualquer compartimento da tenancy do OCI. Para obter detalhes sobre o OCI Object Storage, consulte Gerenciando Buckets.
Para integrar o Oracle Access Governance ao Arquivo Simples, siga as instruções especificadas em Definições de Integração e copie as políticas exatas no compartimento raiz da tenancy, conforme exibido na Console. Consulte Criando uma Política para obter detalhes sobre como aplicar as políticas.
Configurar
Configure uma conexão com o Arquivo Simples informando os detalhes da conexão.
Navegar até a Página Sistemas Orquestrados
- No ícone
do menu de navegação do Oracle Access Governance, selecione Administração de Serviço → Sistemas Orquestrados. - Selecione o botão Adicionar um sistema orquestrado para iniciar o workflow.
Selecionar sistema
Na etapa Selecionar sistema do workflow, você pode especificar qual tipo de sistema gostaria de integrar.
- Selecione Arquivo Simples.
- Selecione Próximo.
Informar detalhes
- Informe um nome para o sistema ao qual você deseja se conectar no campo Nome.
- Informe uma descrição para o sistema no campo Descrição.
- Decida se esse sistema orquestrado é uma origem autorizada e se o Oracle Access Governance pode gerenciar permissões definindo as caixas de seleção a seguir.
-
Esta é a origem autoritativa das minhas Identidades
Selecione uma das opções:
- Origem de identidades e seus atributos: O sistema atua como uma identidade de origem e atributos associados. Novas identidades são criadas através desta opção.
- Somente origem de atributos de identidade: O sistema ingere detalhes adicionais de atributos de identidade e se aplica a identidades existentes. Esta opção não ingere nem cria novos registros de identidade.
- Desejo gerenciar permissões para este sistema
-
Esta é a origem autoritativa das minhas Identidades
- Selecione Próximo.
Adicionar Proprietários
Ao configurar o primeiro Sistema Orquestrado para sua instância de serviço, você só poderá designar proprietários depois de ativar as identidades na seção Gerenciar Identidades.
- Selecione um usuário ativo do Oracle Access Governance como o proprietário principal no campo Quem é o proprietário principal?.
- Selecione um ou mais proprietários adicionais na lista Quem mais possui?. Você pode adicionar até 20 proprietários adicionais para o recurso.
Definições da conta
- Quando uma permissão for solicitada e a conta ainda não existir, selecione esta opção para criar novas contas. Esta opção é selecionada por padrão. Quando selecionada, o Oracle Access Governance criará uma conta se uma não existir quando uma permissão for solicitada. Se você desmarcar essa opção, as permissões serão provisionadas somente para contas existentes no sistema orquestrado. Se não existir uma conta, a operação de provisionamento falhará.
- Selecione os destinatários dos e-mails de notificação quando uma conta for criada. O destinatário padrão é Usuário. Se nenhum destinatário for selecionado, as notificações não serão enviadas quando as contas forem criadas.
- Usuário
- Gerente de usuários
- Configurar Contas ExistentesObservação
Você só poderá definir essas configurações se permitido pelo administrador do sistema. Quando as configurações globais de encerramento de conta estão ativadas, os administradores de aplicativos não podem gerenciar as configurações de encerramento de conta no nível do sistema orquestrado.- Selecionar o que fazer com contas quando o desligamento antecipado começar: Escolha a ação a ser executada quando um desligamento antecipado começar. Isso acontece quando você precisa revogar os acessos de identidade antes da data de desligamento oficial.
- Excluir: Exclui todas as contas e permissões gerenciadas pelo Oracle Access Governance.Observação
Se um sistema orquestrado específico não suportar a ação, nenhuma ação será executada. - Desativar: Desativa todas as contas e desativa as permissões gerenciadas pelo Oracle Access Governance.
- Excluir as permissões para contas desativadas: para garantir zero acesso residual, selecione esta opção para excluir permissões designadas diretamente e permissões concedidas pela política durante a desativação da conta.
- Nenhuma ação: Nenhuma ação é tomada quando uma identidade é sinalizada para encerramento antecipado pelo Oracle Access Governance.
- Excluir: Exclui todas as contas e permissões gerenciadas pelo Oracle Access Governance.
- Selecionar o que fazer com contas na data de desligamento: Selecione a ação a ser executada durante o desligamento oficial. Isso acontece quando você precisa revogar os acessos de identidade na data de desligamento oficial.
- Excluir: Exclui todas as contas e permissões gerenciadas pelo Oracle Access Governance.Observação
Se um sistema orquestrado específico não suportar a ação Excluir, nenhuma ação será executada. - Desativar: Desativa todas as contas e desativa as permissões gerenciadas pelo Oracle Access Governance.
- Excluir as permissões para contas desativadas: para garantir zero acesso residual, selecione esta opção para excluir permissões designadas diretamente e permissões concedidas pela política durante a desativação da conta.
Observação
Se um sistema orquestrado específico não suportar a ação Desativar, a conta será excluída. - Nenhuma ação: Nenhuma ação é tomada sobre contas e permissões pelo Oracle Access Governance.
- Excluir: Exclui todas as contas e permissões gerenciadas pelo Oracle Access Governance.
- Selecionar o que fazer com contas quando o desligamento antecipado começar: Escolha a ação a ser executada quando um desligamento antecipado começar. Isso acontece quando você precisa revogar os acessos de identidade antes da data de desligamento oficial.
- Quando uma identidade sai da sua empresa, você deve remover o acesso às suas contas. Observação
Você só poderá definir essas configurações se permitido pelo administrador do sistema. Quando as configurações globais de encerramento de conta estão ativadas, os administradores de aplicativos não podem gerenciar as configurações de encerramento de conta no nível do sistema orquestrado.Selecione uma das seguintes ações para a conta:
- Excluir: Exclui todas as contas e permissões gerenciadas pelo Oracle Access Governance.
- Desativar: Desative todas as contas e marque as permissões como inativas.
- Excluir as permissões para contas desativadas: Exclua permissões atribuídas diretamente e concedidas por política durante a desativação da conta para garantir zero acesso residual.
- Nenhuma ação: Não execute nenhuma ação quando uma identidade sair da organização.
Observação
Essas ações só estarão disponíveis se forem suportadas pelo tipo de sistema orquestrado. Por exemplo, se Excluir não for suportado, você verá apenas as opções Desativar e Nenhuma ação. - Quando todas as permissões de uma conta são removidas, por exemplo, quando uma identidade se move entre departamentos, você pode precisar decidir o que fazer com a conta. Selecione uma das seguintes ações, se for suportada pelo tipo de sistema orquestrado:
- Excluir
- Desativar
- Nenhuma ação
- Gerenciar contas que não foram criadas pelo Access Governance: Selecione para gerenciar contas que são criadas diretamente no sistema orquestrado. Com isso, você pode reconciliar contas existentes e gerenciá-las no Oracle Access Governance.
- Não permitir que os usuários façam redefinições de senha: Selecione para impedir que os usuários redefinam as senhas do sistema orquestrado. Se o sistema orquestrado não suportar a operação de alteração de senha, as redefinições de senha ficarão indisponíveis e uma mensagem será exibida.
Se você não configurar o sistema como um sistema gerenciado, essa etapa do workflow será exibida, mas não será ativada. Nesse caso, você vai diretamente para a etapa Configurações de integração do workflow.
Se o seu sistema orquestrado exigir descoberta dinâmica de esquema, como nas integrações REST Genérico e Tabelas de Aplicativos de Banco de Dados, somente o destino do e-mail de notificação poderá ser definido (Usuário, Gerenciador de Usuários) ao criar o sistema orquestrado. Não é possível definir as regras de desativação/exclusão para movers e leavers. Para fazer isso, você precisa criar o sistema orquestrado e, em seguida, atualizar as definições da conta conforme descrito em Configurar Definições da Conta do Sistema Orquestrado.
Definições de integração
Na etapa Configurações de integração do workflow, informe os detalhes de configuração necessários para estabelecer conexão com o Arquivo Simples.
| Campo | Descrição |
|---|---|
| Qual é a tenancy do OCI do bucket de armazenamento de objetos? | Adicione o OCID da tenancy para o bucket do Object Storage que contém os arquivos simples que você deseja integrar. |
| Qual é código da região home da tenancy do OCI? | Informe o código da região home da tenancy. Por exemplo, us-ashburn-1. Detalhes dos códigos de região podem ser encontrados na documentação do OCI Regions and Availability Domains. |
| Qual é o namespace do bucket? | Informe o namespace de bucket da tenancy |
| Informe o nome do bucket no qual o arquivo simples é armazenado no OCI Object Armazenamento | Informe o nome do bucket no qual o arquivo simples é armazenado no OCI Object Armazenamento |
| Codificação | Informações de codificação. O padrão é UTF-8 |
| Delimitador de Campo | Informe o caractere do delimitador do campo usado no Arquivo Simples. O padrão é ,. |
| Delimitador de Subcampo | Informe o caractere delimitador de subcampo. O padrão é #. |
| Delimitador de vários valores | Informe o caractere delimitador com vários valores usado no Arquivo Simples. O padrão é ;. |
| Qualificador de texto | Informe o caractere usado no Arquivo Simples para atuar como um qualificador de texto. O padrão é ". |
| Formato de Data | Insira o formato de dados Java no qual os campos de tipo de data são incluídos no Arquivo Simples, por exemplo, dd/MM/yyyy. Se nenhum formato de data for especificado, o campo de data será considerado como sendo do tipo de dados Longo. |
- Copie as políticas exatas no compartimento root conforme exibido na Console. Consulte Criando uma Política para obter detalhes sobre como aplicar as políticas. Observação
As políticas necessárias variam de acordo com o local em que o Object Storage e a instância do Oracle Access Governance estão hospedados (por exemplo, na mesma tenancy em comparação com outras tenancies). - Depois de aplicar políticas, selecione Testar integração para verificar a conexão. Se houver erros ou mensagens, revise a configuração.
- Selecione Adicionar para criar o sistema orquestrado.
Finalizar
Por fim, se você tiver ativado os Sistemas Virtuais, primeiro precisará definir e fazer upload do arquivo CSV dos subsistemas e, em seguida, ativar o sistema orquestrado. Selecione Concluído.
Se os sistemas virtuais estiverem desativados, você poderá ativar o sistema orquestrado ou salvá-lo apenas como rascunho.
Fazer Upload do Arquivo CSV
Se você tiver ativado sistemas virtuais, faça upload de um arquivo CSV com ID e Nome para os sistemas. Você pode adicionar até 100 sistemas virtuais.
Por exemplo:
| ID | Nome |
|---|---|
| virtual_ad_123 | Alfa |
| virtual_ad_456 | Beta |
| virtual_ad_789 | Gama |
- O nome do sistema virtual não deve conter os seguintes caracteres especiais
`~!@#$%^&*><". - Caracteres especiais não são permitidos para ID ou Nome.
- O nome dos Sistemas Virtuais deve ser exclusivo em todos os sistemas orquestrados.
- Os IDs devem ser exclusivos para esse sistema orquestrado.
Selecione o botão Atualizar para adicionar uma versão mais recente dos sistemas virtuais.
Não é possível excluir sistemas virtuais existentes, mas eles podem ser atualizados. Para gerenciar sistemas virtuais após a criação, consulte Gerenciar Sistemas Virtuais.
Migrar Acesso de Chave de API para Acesso do Controlador de Recursos
Se você tiver sistemas orquestrados existentes que usem o método de acesso de Chave de API para estabelecer conexão, deverá migrar o mais rápido possível para o método de acesso de Controlador de Recursos.
Para migrar o acesso à Chave de API para o Controlador de Recursos:
- Navegue até a página Configurações de integração seguindo as instruções especificadas em Configurações de integração.
- Na página Configurações de integração, você verá uma advertência de descontinuação. Selecione o botão Saiba mais sobre migração.
- Copie as políticas exatas no compartimento raiz conforme exibido na Console. Consulte Criando uma Política para obter detalhes sobre como aplicar as políticas. Observação
As políticas necessárias variam de acordo com o local em que o Object Storage e a instância do Oracle Access Governance estão hospedados (por exemplo, na mesma tenancy em comparação com diferentes tenancies).
- Depois de aplicar políticas, selecione Testar integração para verificar a conexão. Se você tiver erros ou mensagens, revise a configuração. Não é possível concluir a migração até que o teste seja bem-sucedido.
- Se a conexão for confirmada, selecione o botão Migrar para iniciar a migração.
- Quando a migração é concluída, uma mensagem de confirmação é exibida.
Pós-Configuração
Verificar Estrutura da Pasta do Bucket
Após a criação do sistema orquestrado, a estrutura de pastas a seguir deverá ser criada no bucket definido.
<ServiceInstanceName>/<OrchestratedSystemName>
failed //Same sub-folders to be created as inbox
inbox/
IDENTITY/
virtual-sys-1
virtual-sys-2
virtual-sys-3
PERMISSION/
virtual-sys-1
virtual-sys-2
virtual-sys-3
TARGETACCOUNT/
virtual-sys-1
virtual-sys-2
virtual-sys-3
outbox/
Same sub-folders to be created as inbox
sample/
schema/
As subpastas, como
virtual-sys-1, virtual-sys-2 e assim por diante, são criadas somente quando os sistemas virtuais estão ativados.-
failed: Os arquivos com qualquer tipo de problema de dados serão movidos para essa pasta na respectiva pasta de entidades, no caso de uma falha na operação de carregamento de dados. -
inbox: Contém pastasIDENTITY,PERMISSIONeTARGETACCOUNT, cada uma contendo pastas de sistemas virtuais, referenciadas por ID. Coloque os arquivos CSV na pasta de sistemas virtuais para incluir na operação de carregamento de dados. Se você não tiver selecionado sistemas virtuais durante a configuração, coloque diretamente seus arquivos de dados nas pastasIDENTITY,PERMISSIONeTARGETACCOUNT. -
outbox: Provisionando eventos para cada entidade do sistema orquestrado. -
sample: Contém exemplos de CSVs com o cabeçalho esperado. Estes podem ser usados como referência para gerar dados e colocar na caixa de entrada para carregamento de dados. Esses arquivos não devem ser alterados. -
schema: Contém a representação JSON do esquema de cada entidade. Isso pode ser consultado para entender detalhes como:-
dataType - Atributos obrigatórios
- Se um atributo tem vários valores ou não
- Se o atributo for complexo e tiver atributos aninhados (dataType será CUSTOM)
- O
dataTypessuportado é:- TEXTO
- NUMBER
- DECIMAL_NUMBER
- DATE
- Indicador
- PERSONALIZADO
-
Definir Atributos Personalizados
São suportados atributos personalizados para a entidade IDENTITY. Se quiser incluir atributos personalizados em sua carga de dados, será necessário adicioná-los ao arquivo <ServiceInstanceName>/<OrchestratedSystemName>/schema/IDENTITY.json.
- começar com um caractere: A-Z ou a-z
- conter apenas caracteres ou números: A-Z, a-z ou 0-9
- Para o atributo de tipo DATE, apenas um valor longo é suportado
- Os atributos personalizados só podem ser adicionados; eles não podem ser excluídos
- Não é possível adicionar um atributo personalizado do tipo CUSTOM
Depois de adicionar qualquer atributo personalizado no arquivo IDENTITY.json, você precisará incluí-lo no Oracle Access Governance conforme descrito em Obter Atributos Personalizados Mais Recentes. Depois que isso for concluído, o CSV de amostra será atualizado com o(s) atributo(s) personalizado(s) recém-adicionado(s). Atualize os arquivos de dados no inbox para incluir o(s) atributo(s) personalizado(s) no próximo carregamento de dados.
Executar Carga de Dados
O carregamento de dados está sob demanda. Sempre execute o carregamento de dados depois de definir atributos personalizados ou adicionar os arquivos de dados CSV relevantes à pasta inbox. Cada vez que você executa um carregamento de dados, ele é um carregamento de dados completo, não há carregamento incremental. A codificação UTF-8-BOM não é suportada.
Se houver qualquer tipo de falha (falha de registro único ou de arquivo completo), a operação de carregamento de dados será marcada como falha. Os arquivos que foram processados com sucesso permanecerão no inbox enquanto os arquivos com falha serão movidos para a pasta failed. Corrija o problema de dados e coloque os arquivos novamente na pasta inbox.
Problemas de integridade de dados, como uma permissão que está sendo atribuída a uma conta ausente no CSV, também podem causar falha na operação de carregamento de dados. No entanto, nesses casos, os arquivos CSV não são movidos para a pasta failed. Os arquivos são movidos para a pasta failed somente quando há problemas ao ler os dados em si, como dados obrigatórios ausentes.
Extensão do Esquema - Adicionando Atributos da Conta Personalizada
Você pode configurar atributos de conta para seu sistema orquestrado de Arquivo Simples, além dos atributos de conta padrão compatíveis prontos para uso. Detalhes de atributos de conta e como eles são gerenciados podem ser encontrados em Atributos de Conta e Configurar Atributos de Conta.
Extensão do Esquema - Exemplo de Atributo Simples
Para demonstrar como adicionar um atributo de conta simples, vamos analisar o exemplo de adição de um atributo de número de telefone ao seu esquema de Arquivo Simples.
- commonName
- displayName
- firstName
- lastName
- middleName
- __NOME__
- permissões
- __ATIVAR__
- título
- __UID__
__NAME__,firstName,lastName,middleName,displayName,commonName,title,__ENABLE__,email,permissions
[
{
"name": "displayName",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "permissions",
"dataType": "CUSTOM",
"required": false,
"multiValued": true,
"subAttributes": [
{
"name": "__NAME__",
"dataType": "TEXT",
"required": true,
"idAttribute": true
}
]
},
{
"name": "middleName",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "lastName",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "commonName",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "firstName",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "__NAME__",
"dataType": "TEXT",
"required": true,
"multiValued": false
},
{
"name": "title",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "email",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "__ENABLE__",
"dataType": "FLAG",
"required": false,
"multiValued": false
}
]
- Crie um atributo fornecido pelo sistema, phoneNumber, e selecione as opções incluídas nos dados de entrada e saída, além de suportar vários valores.
- Adicione o novo atributo ao TARGETACCOUNT.csv e ao TARGETACCOUNT.json.
__NAME__,firstName,lastName,middleName,displayName,commonName,title,__ENABLE__,email,permissions,phoneNumber[ { "name": "displayName", "dataType": "TEXT", "required": false, "multiValued": false }, { "name": "permissions", "dataType": "CUSTOM", "required": false, "multiValued": true, "subAttributes": [ { "name": "__NAME__", "dataType": "TEXT", "required": true, "idAttribute": true } ] }, { "name": "phoneNumber", "dataType": "TEXT", "required": false, "multiValued": true }, { "name": "firstName", "dataType": "TEXT", "required": false, "multiValued": false }, { "name": "email", "dataType": "TEXT", "required": false, "multiValued": false }, { "name": "__ENABLE__", "dataType": "FLAG", "required": false, "multiValued": false }, { "name": "middleName", "dataType": "TEXT", "required": false, "multiValued": false }, { "name": "lastName", "dataType": "TEXT", "required": false, "multiValued": false }, { "name": "commonName", "dataType": "TEXT", "required": false, "multiValued": false }, { "name": "__NAME__", "dataType": "TEXT", "required": true, "multiValued": false }, { "name": "title", "dataType": "TEXT", "required": false, "multiValued": false } ] - Acionar uma carga de dados completa da Console do Oracle Access Governance. O novo atributo personalizado deve ser carregado e fica visível no Enterprise Wide Browser.
Extensão do Esquema - Exemplo de Atributo Complexo
Para demonstrar como adicionar um atributo de conta complexo, vamos analisar o exemplo de adição de outro atributo de detalhes de contato ao seu esquema de Arquivo Simples.
- commonName
- displayName
- firstName
- lastName
- middleName
- __NOME__
- permissões
- __ATIVAR__
- título
- __UID__
__NAME__,firstName,lastName,middleName,displayName,commonName,title,__ENABLE__,email,permissions
[
{
"name": "displayName",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "permissions",
"dataType": "CUSTOM",
"required": false,
"multiValued": true,
"subAttributes": [
{
"name": "__NAME__",
"dataType": "TEXT",
"required": true,
"idAttribute": true
}
]
},
{
"name": "middleName",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "lastName",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "commonName",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "firstName",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "__NAME__",
"dataType": "TEXT",
"required": true,
"multiValued": false
},
{
"name": "title",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "email",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "__ENABLE__",
"dataType": "FLAG",
"required": false,
"multiValued": false
}
]
- Crie um atributo fornecido pelo sistema, otherContactDetails, com os seguintes atributos filhos:
- contactDetailsId
- faxNumber
- site
- Adicione o novo atributo ao TARGETACCOUNT.csv e ao TARGETACCOUNT.json.
__NAME__,firstName,lastName,middleName,displayName,commonName,title,__ENABLE__,email,permissions,phoneNumber,otherContactDetails.contactDetailsId,otherContactDetails.faxNumber,otherContactDetails.website[ { "name": "displayName", "dataType": "TEXT", "required": false, "multiValued": false }, { "name": "permissions", "dataType": "CUSTOM", "required": false, "multiValued": true, "subAttributes": [ { "name": "__NAME__", "dataType": "TEXT", "required": true, "idAttribute": true } ] }, { "name": "firstName", "dataType": "TEXT", "required": false, "multiValued": false }, { "name": "email", "dataType": "TEXT", "required": false, "multiValued": false }, { "name": "__ENABLE__", "dataType": "FLAG", "required": false, "multiValued": false }, { "name": "middleName", "dataType": "TEXT", "required": false, "multiValued": false }, { "name": "lastName", "dataType": "TEXT", "required": false, "multiValued": false }, { "name": "commonName", "dataType": "TEXT", "required": false, "multiValued": false }, { "name": "title", "dataType": "TEXT", "required": false, "multiValued": false }, { "name": "__NAME__", "dataType": "TEXT", "required": true, "multiValued": false }, { "name": "otherContactDetails", "dataType": "CUSTOM", "required": false, "multiValued": true, "subAttributes": [ { "name": "faxNumber", "dataType": "NUMBER", "required": false }, { "name": "contactDetailsId", "dataType": "TEXT", "required": true, "idAttribute": true }, { "name": "website", "dataType": "TEXT", "required": false } ] } ] - Acionar uma carga de dados completa da Console do Oracle Access Governance. O novo atributo personalizado deve ser carregado e fica visível no Enterprise Wide Browser.
Suporte a Afiliações com Extensão do Esquema de Identidade - Adicionando Atributos de Identidade Complexos Personalizados
Você pode configurar atributos de identidade para seu sistema orquestrado de Arquivo Simples, além dos atributos de identidade padrão. Para saber mais sobre Afiliações, consulte Tratando Personas de Identidade com Afiliações.
No Dia 0, para IDENTITY.csv, todas as entidades configuradas no armazenamento de objetos incluem os atributos simples. Para o Dia N, você pode estender o esquema existente e adicionar mais atributos simples.
Extensão do Esquema - Exemplo de Atributo Complexo
Incluir atributo personalizado, que é um atributo de tipo de objeto que contém um ou mais subatributos, você precisa de modificação adicional no esquema de Identidade. Para demonstrar como adicionar um atributo de identidade complexo, vamos analisar o exemplo de adição de um atributo de endereço ao seu esquema de Arquivo Simples.
Suponha que você tenha uma configuração Day 0 do seu sistema orquestrado de Arquivo Simples que tenha os seguintes atributos por padrão:
__UID__, __NAME__,firstName,lastName,middleName,displayName,title,__ENABLE__,email,empNo,employeeType.... other columns
IDENTITY.json contém o seguinte:[
{
"name": "displayName",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "postalCode",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "location",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "employeeType",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "managerUid",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "territory",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "state",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "firstName",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "department",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "UID",
"dataType": "TEXT",
"required": true,
"multiValued": false
},
{
"name": "email",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "ENABLE",
"dataType": "FLAG",
"required": false,
"multiValued": false
},
{
"name": "employeeNumber",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "middleName",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "country",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "lastName",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "jobCode",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "organizationName",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "title",
"dataType": "TEXT",
"required": false,
"multiValued": false
},
{
"name": "NAME",
"dataType": "TEXT",
"required": true,
"multiValued": false
}
]
Para adicionar um atributo complexo personalizado:
- Estenda o esquema no arquivo IDENTITY.json.
{ "name": "userAddresses", // Name of the custom-complex attribute "dataType": "CUSTOM", // CUSTOM data type represents that it has sub attributes "required": false, // Denotes whether it is a mandatory attribute or not "multiValued": true, // Custom-complex attribute has to be multivalued "subAttributes": [ // The list of sub attributes { "name": "postalCode", // Name of child attribute "dataType": "TEXT", // The data type of attribute, the supported data types are TEXT, NUMBER, DECIMAL_NUMBER, DATE and FLAG "required": true // Denotes whether it is a mandatory sub attribute or not }, { "name": "addressTwo", "dataType": "TEXT", "required": false }, { "name": "landmark", "dataType": "TEXT", "required": false }, { "name": "city", "dataType": "TEXT", "required": true }, { "name": "houseNo", "dataType": "TEXT", "required": true }, { "name": "addressId", // Name of Identifier attribute. "dataType": "TEXT", // Identifier attribute should be of TEXT data type. "required": true, // Identifier attribute should always be mandatory. "idAttribute": true // Denotes if the sub-attribute acts as the identifier. There should always be exact one such sub-attribute in a custom complex attribute. }, { "name": "addressOne", "dataType": "TEXT", "required": true } ] } - Depois de fazer as alterações acima em IDENTITY.json,
- Execute a Operação de Descoberta de Esquema. Consulte Obter Atributos Personalizados.
- Na página Atributos de Identidade, edite o atributo para atualizar o flag Incluir nos detalhes da identidade. Consulte Gerenciar Atributos Globais de Identidade. O novo esquema de identidade é exibido.
- Confirme os cabeçalhos CSV IDENTITY.csv
__UID__,__NAME__,firstName,lastName,.... other columns .....,userAddresses.addressId,userAddresses.postalCode,userAddresses.addressTwo,userAddresses.landmark,userAddresses.city,userAddresses.houseNo,userAddresses.addressOneOs atributos simples aparecem como colunas separadas por vírgulas no cabeçalho CSV. Atributos complexos personalizados usam uma estrutura simples: cada subatributo é incluído no cabeçalho com seu atributo pai, separado por notação de ponto (.).
Entrada de Valor Único para Atributo Personalizado Complexo
userAddresses.addressId,userAddresses.postalCode,userAddresses.addressTwo,userAddresses.landmark,userAddresses.city,userAddresses.houseNo,userAddresses.addressOne
101,200200,,Near St. Thomas Church,Boston,23/78,The Galaxy Garden
- Certifique-se de incluir os cabeçalhos de coluna corretos.
- Para campos vazios (como
addressTwo), inclua um valor em branco entre vírgulas.
[
{
"addressId": "101",
"postalCode": "200200",
"addressTwo": null,
"landmark": "Near St. Thomas Church",
"city": "Boston",
"houseNo": "23/78",
"addressOne": "The Galaxy Garden"
}
]
Entrada com Vários Valores para Atributo Personalizado Complexo
userAddresses.addressId,userAddresses.postalCode,userAddresses.addressTwo,userAddresses.landmark,userAddresses.city,userAddresses.houseNo,userAddresses.addressOne
101;102,200200;300400,;3rd Street,Near St. Thomas Church;,Boston;Denver,23/78;B-003,The Galaxy Garden;The Technology Park
- Para dados ausentes, deixe o valor entre delimitadores em branco, para o primeiro endereço,
addressTwoestá vazio) - Os valores de cada atributo correspondem por posição: o primeiro valor para cada atributo forma o primeiro endereço, o segundo valor forma o segundo endereço e assim por diante.
[
{
"addressId": "101",
"postalCode": "200200",
"addressTwo": null,
"landmark": "Near St. Thomas Church",
"city": "Boston",
"houseNo": "23/78",
"addressOne": "The Galaxy Garden"
},
{
"addressId": "102",
"postalCode": "300400",
"addressTwo": "3rd Street",
"landmark": null,
"city": "Denver",
"houseNo": "B-003",
"addressOne": "The Technology Park"
}
]