Referência de Integração de Tabelas do Aplicativo de Banco de Dados
Componentes de Tabelas do Aplicativo de Banco de Dados Certificados para Integração com o Oracle Access Governance
Os componentes Tabelas do Aplicativo de Banco de Dados com os quais você pode integrar estão listados abaixo.
Componentes Certificados
| Tipo de Componente | Componente |
|---|---|
| Requisitos Específicos do Oracle | |
| Sistema | O sistema de destino pode ser tabelas de banco de dados de qualquer um dos seguintes RDBMSs:
|
| JDK | JDK 1.6 ou posterior |
| Requisitos específicos do Microsoft SQL Server | |
| Sistema | Microsoft SQL Server 2016, 2017 |
| Drivers JDBC | Para o Microsoft SQL Server 2014: sqljdbc4 versão 4.0 |
| Requisitos específicos do Microsoft MySQL | |
| Sistema | MySQL 5.x, MySQL 8.x |
| Drivers JDBC | mysql-connector-java-5.1.12-bin |
| Requisitos Gerais | |
| Formato no qual os dados do usuário são armazenados no sistema |
Você só poderá usar um conector de Tabelas de Aplicativos de Banco de Dados se os dados do usuário estiverem armazenados no sistema de destino em qualquer um dos seguintes formatos:
|
| Outros requisitos do sistema |
O sistema deve atender aos seguintes requisitos:
|
Modos de Configuração Suportados para Integrações de Tabelas de Aplicativos de Banco de Dados
É possível configurar integrações do Oracle Access Governance em diferentes modos de configuração, dependendo do seu requisito de integração de dados de identidade e provisionamento de contas.
Modos Suportados
O Sistema Orquestrado de Tabelas do Aplicativo de Banco de Dados suporta os seguintes modos:
-
Origem Autorizada
Você pode usar Tabelas de Aplicativos de Banco de Dados como uma origem autorizada (confiável) de informações de identidade para o Oracle Access Governance em que:
- Todos os dados do usuário estão em uma única tabela ou view OU
- Todos os dados do usuário estão em uma única exibição atualizável (baseada em uma ou mais tabelas)
-
Sistema Gerenciado
Você pode gerenciar permissões de Tabelas do Aplicativo de Banco de Dados nas quais:
- Todos os dados do usuário estão em uma única tabela ou view OU
- Todos os dados do usuário estão em uma única exibição atualizável (baseada em uma ou mais tabelas) OU
- Os dados do usuário são distribuídos em uma tabela pai e uma ou mais tabelas filho. OU
- Os dados do usuário são distribuídos em uma view atualizável (que se baseia em uma ou mais tabelas) e em uma ou mais views filho (que se baseiam em uma ou mais tabelas).
Configurar um Usuário de Serviço Privilegiado Mínimo
Configurar um Usuário de Serviço Privilegiado Mínimo para Tabelas do Aplicativo de Banco de Dados (Oracle)
Para ativar uma conexão segura entre o Oracle Access Governance e o banco de dados das Tabelas de Aplicativos de Banco de Dados (Oracle), você pode criar um usuário de serviço com os privilégios mínimos necessários para configurar a integração.
Permissões Obrigatórias para o Modo de Origem Autorizado
Se você configurar seu sistema orquestrado de Tabelas de Aplicativos de Banco de Dados (Oracle) no modo autorizado, será necessário conceder permissões de leitura ao usuário do serviço na tabela que contém suas identidades, para que elas possam ser carregadas no Oracle Access Governance. O conjunto mínimo de permissões necessárias nesse caso é a permissão SELECT na tabela que contém informações de identidade ou pessoa.
GRANT SELECT ON MYDBAT_PERSON TO SERVICEUSER; em que:-
MYDBAT_PERSON: É a tabela no seu banco de dados Oracle (Database Application Tables) que contém informações de identidade. -
SERVICEUSER: É o usuário da conta de serviço.
Permissões Necessárias para o Modo do Sistema Gerenciado
Se você configurar seu sistema orquestrado de Tabelas de Aplicativos de Banco de Dados (Oracle) no modo de sistema gerenciado, será necessário conceder permissões de leitura e gravação para tabelas de contas e tabelas de permissões, para permitir reconciliação, criação, atualização e exclusão de contas e permissões de conta. O conjunto mínimo de permissões necessárias nesse caso são as permissões SELECT, INSERT, UPDATE e DELETE nas tabelas de permissões de conta e conta.
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_PERSON TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_ROLES TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_GROUPS TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_PERSON_ROLE TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_PERSON_GROUP TO SERVICEUSER;
onde-
MYDBAT_PERSON: É a tabela no seu banco de dados Oracle (Database Application Tables) que contém informações sobre a conta. -
MYDBAT_ROLES: É a tabela no seu banco de dados Oracle (Database Application Tables) que contém informações sobre a atribuição. -
MYDBAT_GROUPS: É a tabela no seu banco de dados Oracle (Database Application Tables) que contém informações do grupo. -
MYDBAT_PERSON_ROLE: É a tabela no seu banco de dados Oracle (Database Application Tables) que contém informações sobre a atribuição de pessoas. -
MYDBAT_PERSON_GROUP: É a tabela no seu banco de dados Oracle (Database Application Tables) que contém informações sobre a atribuição de grupo. -
SERVICEUSER: É o usuário da conta de serviço.
Permissões necessárias para scripts personalizados
Para desenvolver scripts personalizados para operações na integração das Tabelas de Aplicativos de Banco de Dados (Oracle), conforme descrito em Desenvolver Scripts Personalizados para Tabelas de Aplicativos de Banco de Dados (Oracle) Usando Groovy, você precisará adicionar permissões a quaisquer procedimentos armazenados ou outros objetos de banco de dados referenciados nos scripts personalizados. Se você criar os procedimentos armazenados usando o usuário do serviço, não precisará de permissões. Se forem criados procedimentos armazenados ou outros objetos de banco de dados em outro usuário, você deverá conceder permissões conforme apropriado.
GRANT EXECUTE ON MYDBAT_CUSTOMDEV.GET_USERROLE TO SERVICEUSER;em que:-
MYDBAT_CUSTOMDEV: É o usuário que você usou para criar o procedimento armazenado. -
GET_USERROLEé o nome do procedimento armazenado. -
SERVICEUSER: É o usuário da conta de serviço.
Configurar um Usuário de Serviço Privilegiado Mínimo para Tabelas de Aplicativos de Banco de Dados (MSSQL)
Para ativar uma conexão segura entre o Oracle Access Governance e o banco de dados MSSQL (Database Application Tables), você pode criar um usuário de serviço com os privilégios mínimos necessários para configurar a integração.
Permissões Obrigatórias para o Modo de Origem Autorizado
Se você configurar seu sistema orquestrado de Tabelas de Aplicativos de Banco de Dados (MSSQL) no modo autorizado, será necessário conceder permissões de leitura ao usuário do serviço na tabela que contém suas identidades, para que elas possam ser carregadas no Oracle Access Governance. O conjunto mínimo de permissões necessárias nesse caso é a permissão SELECT na tabela que contém informações de identidade ou pessoa.
GRANT SELECT ON MYDBAT_PERSON TO SERVICEUSER; em que:-
MYDBAT_PERSON: É a tabela no seu banco de dados MSSQL (Database Application Tables) que contém informações de identidade. -
SERVICEUSER: É o usuário da conta de serviço.
Permissões Necessárias para o Modo do Sistema Gerenciado
Se você configurar seu sistema orquestrado de Tabelas de Aplicativos de Banco de Dados (MSSQL) no modo de sistema gerenciado, conceda permissões de leitura e gravação para tabelas de contas e tabelas de permissões, para permitir a reconciliação, a criação, a atualização e a exclusão de contas e permissões de contas. O conjunto mínimo de permissões necessárias nesse caso são as permissões SELECT, INSERT, UPDATE e DELETE nas tabelas de permissões de conta e conta.
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_PERSON TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_ROLES TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_GROUPS TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_PERSON_ROLE TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_PERSON_GROUP TO SERVICEUSER;
onde-
MYDBAT_PERSON: É a tabela no seu banco de dados MSSQL (Database Application Tables) que contém informações da conta. -
MYDBAT_ROLES: É a tabela no banco de dados MSSQL (Database Application Tables) que contém informações sobre a atribuição. -
MYDBAT_GROUPS: É a tabela no banco de dados MSSQL (Database Application Tables) que contém informações do grupo. -
MYDBAT_PERSON_ROLE: É a tabela no seu banco de dados MSSQL (Database Application Tables) que contém informações sobre a atribuição de pessoas. -
MYDBAT_PERSON_GROUP: É a tabela no seu banco de dados MSSQL (Database Application Tables) que contém informações sobre a atribuição de grupo. -
SERVICEUSER: É o usuário da conta de serviço.
Permissões necessárias para scripts personalizados
Se quiser desenvolver scripts personalizados para operações na integração de Tabelas de Aplicativos de Banco de Dados (MSSQL) conforme descrito em Desenvolver Scripts Personalizados para Tabelas de Aplicativos de Banco de Dados (Oracle) Usando Groovy, você precisará adicionar permissões a quaisquer procedimentos armazenados ou outros objetos de banco de dados referenciados em seus scripts personalizados. Se você criar os procedimentos armazenados usando o usuário do serviço, não precisará de permissões. Se forem criados procedimentos armazenados ou outros objetos de banco de dados em outro usuário, você deverá conceder permissões conforme apropriado.
GRANT EXECUTE ON OBJECT::dbo.GET_USERROLE TO SERVICEUSER;em que:-
OBJECT::dbo: É o objeto do banco de dados Microsoft MSSQL. -
GET_USERROLEé o nome do procedimento armazenado. -
SERVICEUSER: É o usuário da conta de serviço.
Configurar um Usuário de Serviço Privilegiado Mínimo para Tabelas do Aplicativo de Banco de Dados (MySQL)
Para ativar uma conexão segura entre o Oracle Access Governance e o banco de dados das Tabelas de Aplicativos de Banco de Dados (MySQL), você pode criar um usuário de serviço com os privilégios mínimos necessários para configurar a integração.
Permissões Obrigatórias para o Modo de Origem Autorizado
Se você configurar seu sistema orquestrado de Tabelas do Aplicativo de Banco de Dados (MySQL) no modo autorizado, será necessário conceder permissões de leitura ao usuário do serviço na tabela que contém suas identidades, para que elas possam ser carregadas no Oracle Access Governance. O conjunto mínimo de permissões necessárias nesse caso é a permissão SELECT na tabela que contém informações de identidade ou pessoa.
GRANT SELECT ON MYDBAT_PERSON TO SERVICEUSER; em que:-
MYDBAT_PERSON: É a tabela no banco de dados das Tabelas do Aplicativo de Banco de Dados (MySQL) que contém informações de identidade. -
SERVICEUSER: É o usuário da conta de serviço.
Permissões Necessárias para o Modo do Sistema Gerenciado
Se você configurar seu sistema orquestrado de Tabelas do Aplicativo de Banco de Dados (MySQL) no modo de sistema gerenciado, conceda permissões de leitura e gravação para tabelas de contas e tabelas de permissões, para permitir reconciliação, criação, atualização e exclusão de contas e permissões de conta. O conjunto mínimo de permissões necessárias nesse caso são as permissões SELECT, INSERT, UPDATE e DELETE nas tabelas de permissões de conta e conta.
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_PERSON TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_ROLES TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_GROUPS TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_PERSON_ROLE TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_PERSON_GROUP TO SERVICEUSER;
onde-
MYDBAT_PERSON: É a tabela no banco de dados das Tabelas do Aplicativo de Banco de Dados (MySQL) que contém informações da conta. -
MYDBAT_ROLES: É a tabela no banco de dados das Tabelas do Aplicativo de Banco de Dados (MySQL) que contém informações de atribuição. -
MYDBAT_GROUPS: É a tabela no banco de dados das Tabelas do Aplicativo de Banco de Dados (MySQL) que contém informações do grupo. -
MYDBAT_PERSON_ROLE: É a tabela no banco de dados das Tabelas do Aplicativo de Banco de Dados (MySQL) que contém informações da atribuição de pessoas. -
MYDBAT_PERSON_GROUP: É a tabela no banco de dados das Tabelas do Aplicativo de Banco de Dados (MySQL) que contém informações de atribuição de grupo. -
SERVICEUSER: É o usuário da conta de serviço.
Permissões necessárias para scripts personalizados
Se quiser desenvolver scripts personalizados para operações na integração das Tabelas de Aplicativos de Banco de Dados (MySQL), conforme descrito em Desenvolver Scripts Personalizados para Tabelas de Aplicativos de Banco de Dados (Oracle) Usando Groovy, você precisará adicionar permissões a quaisquer procedimentos armazenados ou outros objetos de banco de dados referenciados em seus scripts personalizados. Se você criar os procedimentos armazenados usando o usuário do serviço, não precisará de permissões. Se forem criados procedimentos armazenados ou outros objetos de banco de dados em outro usuário, você deverá conceder permissões conforme apropriado.
GRANT EXECUTE ON MYSQLDB.GET_USERROLE TO 'SERVICEUSER';em que:-
MYSQLDB: É o banco de dados MySQL no qual você criou o procedimento armazenado. -
GET_USERROLEÉ o nome do procedimento armazenado. -
SERVICEUSER: É o usuário da conta de serviço.
Operações Suportadas ao Provisionar em Tabelas do Aplicativo de Banco de Dados
Quando você provisiona uma conta do Oracle Access Governance para Tabelas do Aplicativo de Banco de Dados, determinadas operações são suportadas.
- Criar conta
- Ativar conta
- Desativar conta
- Revogar conta
- Atribuir permissão
- Remover permissão
Tipos de Dados Suportados
Os tipos de dados suportados para operações de reconciliação e provisionamento são listados na seguinte seção:
Para o Oracle Database
Os tipos de dados suportados para operações de reconciliação e provisionamento para um sistema orquestrado do Oracle Database são os seguintes:
- VARCHAR2
- CHAR
- NUMBER
- NUMERIC
- INTEIRO
- INT
- SMALLINT
- DOUBLE
- FLOAT
- DECIMAL
- DEZ
- REAL
- DATE
- TIMESTAMP
Para o Microsoft SQL Server
Os tipos de dados suportados para operações de reconciliação e provisionamento para um sistema orquestrado de banco de dados do Microsoft SQL Server são os seguintes:
- CHAR
- VARCHAR
- SMALLINT
- INT
- BIGINT
- DECIMAL
- NUMERIC
- NVARCHAR
- FLOAT
- REAL
- SMALLDATETIME
- DATETIME
Para MySQL
Os tipos de dados suportados para operações de reconciliação e provisionamento para um sistema orquestrado de banco de dados MySQL são os seguintes:
- LOJA
- SMALLINT
- MEDIUMINT
- INT
- BIGINT
- FLOAT
- DOUBLE
- DECIMAL
- CHAR
- VARCHAR
- TINYTEXT
- DATE
- DATETIME
- TIMESTAMP
Atributos Suportados Padrão
Como a integração das Tabelas do Aplicativo de Banco de Dados requer descoberta de esquema e o esquema descoberto não é fixo, não há atributos padrão específicos suportados como tal. Você pode modificar seu schema.json para adicionar atributos básicos e personalizados conforme necessário. No mínimo, você deve incluir os atributos uid e name necessários para uma identidade do Oracle Access Governance conforme definido em Atributos Básicos de Identidade.
Regras de Correspondência Padrão
Para mapear contas para identidades no Oracle Access Governance, você precisa ter uma regra de correspondência para cada Sistema Orquestrado.
A regra de correspondência padrão para o sistema orquestrado Tabelas do Aplicativo de Banco de Dados é:
| Modo | Regra de Correspondência Padrão |
|---|---|
|
Origem Autorizada
Verifica se as identidades de entrada correspondem a uma identidade existente ou são novas |
Valor da tela:
Nome do atributo:
|
|
Sistema Gerenciado
A correspondência de conta verifica se as contas de entrada correspondem às identidades existentes. |
Valor da tela:
Nome do atributo:
|
Diretrizes da Tabela de Aplicativos de Banco de Dados
Ao usar tabelas de acesso ao banco de dados com o Oracle Access Governance, você deve considerar as seguintes diretrizes no design e na estrutura de suas tabelas.
Diretrizes Gerais
- As colunas Nome e Chave de qualquer entidade devem ser configuradas como NOT NULL.
- Para uma entidade específica, a mesma coluna de banco de dados pode ser configurada como Nome e Chave. Você também pode usar colunas diferentes para elas, se necessário.
- Qualquer atributo principal incluído na entidade ACCOUNT deve estar em conformidade com as seguintes regras:
- O tipo de dados da coluna deve ser compatível com o tipo de dados do Oracle Access Governance.
- Qualquer atributo configurado como
"nature":["REQUIRED"]no arquivo JSON do esquema deve corresponder a um campo de banco de dados NOT NULL.
- As tabelas ENTITLEMENT e LOOKUP devem ter uma restrição de chave primária em colunas de chaves.
- Se as colunas relacionadas nas tabelas ENTITLEMENT e LOOKUP corresponderem, não haverá necessidade de definir um relacionamento de chave estrangeira entre as tabelas ACCOUNT/TARGETACCOUNT e ENTITLEMENT e LOOKUP. Consulte a seção a seguir para obter mais detalhes.
Relacionamentos da Tabela
CREATE TABLE MYDBAT_PERSON
(USERID VARCHAR2 NOT NULL ENABLE,
USERNAME VARCHAR2 NOT NULL ENABLE,
FIRSTNAME VARCHAR2,
LASTNAME VARCHAR2,
EMAIL VARCHAR2 NOT NULL ENABLE,
HOMECOUNTRY VARCHAR2,
FOREIGN KEY (HOMECOUNTRY) REFERENCES MYDBAT_COUNTRY(COUNTRYCODE));
CREATE TABLE MYDBAT_COUNTRY
(COUNTRYCODE VARCHAR2 NOT NULL ENABLE,
COUNTRYNAME VARCHAR2 NOT NULL ENABLE,
CONSTRAINT MYDBAT_COUNTRY_PK PRIMARY KEY (COUNTRYCODE)
CREATE TABLE MYDBAT_PERSON
(USERID VARCHAR2 NOT NULL ENABLE,
USERNAME VARCHAR2 NOT NULL ENABLE,
FIRSTNAME VARCHAR2,
LASTNAME VARCHAR2,
EMAIL VARCHAR2 NOT NULL ENABLE,
COUNTRYCODE VARCHAR2);
CREATE TABLE MYDBAT_COUNTRY
(COUNTRYCODE VARCHAR2 NOT NULL ENABLE,
COUNTRYNAME VARCHAR2 NOT NULL ENABLE,
CONSTRAINT MYDBAT_COUNTRY_PK PRIMARY KEY (COUNTRYCODE)
CREATE TABLE MYDBAT_PERSON
(USERID VARCHAR2 NOT NULL ENABLE,
USERNAME VARCHAR2 NOT NULL ENABLE,
FIRSTNAME VARCHAR2,
LASTNAME VARCHAR2,
EMAIL VARCHAR2 NOT NULL ENABLE,
HOMECOUNTRY VARCHAR2);
CREATE TABLE MYDBAT_COUNTRY
(COUNTRYCODE VARCHAR2 NOT NULL ENABLE,
COUNTRYNAME VARCHAR2 NOT NULL ENABLE,
CONSTRAINT MYDBAT_COUNTRY_PK PRIMARY KEY (COUNTRYCODE)
Os mesmos princípios, conforme explicado acima, para o relacionamento entre um usuário e uma consulta, seriam aplicados ao definir tabelas para o relacionamento entre um usuário e direitos.
Associar Atributo de Identidade a Atributo de Conta
Você pode associar um atributo de identidade a um atributo de conta editando as definições de atributo de conta.
- Acesse a console do Oracle Access Governance e navegue até Administração de Serviço → Sistemas Orquestrados.
- Selecione Gerenciar Integração para o sistema orquestrado DBAT em que você deseja associar um atributo de identidade a um atributo de conta.
- Selecione Gerenciar no bloco de atributos Conta.
- Para o atributo de conta que você deseja mapear, selecione Editar atributo de identidade associado no menu de ação.
- Selecione o atributo de identidade que você deseja associar ao seu atributo de conta e clique em Salvar. O valor agora será mostrado nas colunas Atributo de identidade associado do atributo de sua conta.
Suporte de Afiliação DBAT para Atributos de Identidade com Vários Valores Personalizados
Os sistemas orquestrados DBAT fornecem suporte para dados de afiliação por meio da implementação de Atributos Multivalor Personalizados (Complexos).
A afiliação é ativada adicionando uma tabela personalizada para a afiliação necessária e vinculando-a à tabela de contas. Por exemplo, você pode ter uma tabela de contas, Usuários semelhante a esta:
| USER_ID | USER_NAME | FIRST_NAME | LAST_NAME | STATUS | |
|---|---|---|---|---|---|
| 1 | USR001 | Usuário | Um | userone@email.com | ACTIVE |
| 2 | USR002 | Usuário | Two | usertwo@email.com | ACTIVE |
Em seguida, você precisa criar uma tabela personalizada para a afiliação que deseja representar. Por exemplo, talvez você queira ter uma afiliação que permita atribuir vários cargos a uma identidade. Para fazer isso, crie uma tabela Jobs semelhante a esta:
| CÓDIGO DO CARGO | USER_ID | NOME DO JOB | DESCRIÇÃO |
|---|---|---|---|
| JB001 | 1 | Um Cargo | Esta é uma tarefa |
| 1 | Outro Cargo | Este é outro trabalho | |
| 2 | Um Novo Job | Este é um novo emprego |
A tabela Conta é diretamente vinculada à tabela Afiliação pela chave primária composta (USER_ID, JOBCODE).
Por fim, você precisa adicionar a afilação ao preenchimento schema.json, conforme mostrado no trecho de código a seguir.
[
{
"type": "ACCOUNT",
"name": "ACCOUNT",
"displayName": "Account",
"attributes": [
{
"name": "JOBS",
"targetName": "JOBS",
"displayName": "",
"dataType": "",
"nature": ["MULTIVALUED"],
"usage": [
"READ"
],
"relationship": {
"relatedTo": "__CUSTOM_COMPLEX__", // Indicates the custom relationship
"relatedBy": "",
"relationshipProperties": [
{
"name": "JOBCODE",
"dataType": "TEXT",
"nature": ["REQUIRED"]
},
{
"name": "JOBNAME",
"dataType": "TEXT",
"nature": ["REQUIRED"]
},
{
"name": "DESCRIPTION",
"dataType": "TEXT",
"nature": []
}
]
}
}
]
}
]
Inclua este nome de tabela juntamente com outras tabelas de afiliação nas configurações de Integração. Para obter mais informações, consulte Afiliações.