Referencia de integración de tablas de aplicación de base de datos
Componentes de tablas de aplicación de base de datos certificados para su integración con Oracle Access Governance
A continuación se muestran los componentes de tablas de aplicación de base de datos con los que puede integrar.
Componentes Certificados
| Tipo de Componente | Componente |
|---|---|
| Requisitos específicos de Oracle | |
| Sistema | El sistema de destino puede ser tablas de base de datos de cualquiera de los siguientes RDBMS:
|
| JDK | JDK 1.6 o posterior |
| Requisitos específicos de Microsoft SQL Server | |
| Sistema | Microsoft SQL Server 2016, 2017 |
| Controladores JDBC | Para Microsoft SQL Server 2014: sqljdbc4 versión 4.0 |
| Requisitos específicos de Microsoft MySQL | |
| Sistema | 5.x MySQL, 8.x MySQL |
| Controladores JDBC | mysql-connector-java-5.1.12-bin |
| Requisitos generales | |
| Formato en el que se almacenan los datos de usuario en el sistema |
Puede utilizar un conector de tablas de aplicación de base de datos solo si los datos de usuario se almacenan en el sistema de destino en cualquiera de los siguientes formatos:
|
| Otros requisitos del sistema |
El sistema debe cumplir los siguientes requisitos:
|
Modos de configuración soportados para integraciones de tablas de aplicación de base de datos
Las integraciones de Oracle Access Governance se pueden configurar en diferentes modos de configuración en función de sus necesidades de datos de identidad de vinculación y cuentas de aprovisionamiento.
Modos soportados
El sistema orquestado de tablas de aplicación de base de datos soporta los siguientes modos:
-
Origen autorizado
Puede utilizar las tablas de aplicaciones de base de datos como fuente autorizada (de confianza) de información de identidad para Oracle Access Governance donde:
- Todos los datos de usuario están en una sola tabla o vista OR
- Todos los datos de usuario están en una única vista actualizable (que se basa en una o más tablas)
-
Sistema gestionado
Puede gestionar permisos de tablas de aplicación de base de datos donde:
- Todos los datos de usuario están en una sola tabla o vista OR
- Todos los datos de usuario se encuentran en una única vista actualizable (basada en una o más tablas) O
- Los datos de usuario se distribuyen en una tabla principal y una o más tablas secundarias. OR
- Los datos de usuario se distribuyen entre una vista actualizable (que se basa en una o más tablas) y una o más vistas secundarias (que se basan en una o más tablas).
Configuración de un usuario de servicio con privilegios mínimos
Configuración de un Usuario de Servicio con Privilegios Mínimos para Tablas de Aplicaciones de Base de Datos (Oracle)
Para activar una conexión segura entre Oracle Access Governance y la base de datos de tablas de aplicaciones de base de datos (Oracle), puede crear un usuario de servicio con los privilegios mínimos necesarios para configurar la integración.
Permisos necesarios para el modo de origen autorizado
Si configura el sistema orquestado de tablas de aplicaciones de base de datos (Oracle) en modo autorizado, debe otorgar permisos de lectura al usuario de servicio en la tabla que contiene las identidades para que se puedan cargar en Oracle Access Governance. El juego mínimo de permisos necesarios en este caso es el permiso SELECT en la tabla que contiene información de identidad o persona.
GRANT SELECT ON MYDBAT_PERSON TO SERVICEUSER; donde:-
MYDBAT_PERSON: tabla de la base de datos de tablas de aplicación de base de datos (Oracle) que contiene información de identidad. -
SERVICEUSER: es el usuario de la cuenta de servicio.
Permisos necesarios para el modo de sistema gestionado
Si configura el sistema orquestado de tablas de aplicaciones de base de datos (Oracle) en modo de sistema gestionado, debe otorgar permisos de lectura y escritura para tablas de cuentas y tablas de permisos, para permitir la conciliación, creación, actualización y supresión de cuentas y permisos de cuenta. El juego mínimo de permisos necesarios en este caso es los permisos SELECT, INSERT, UPDATE y DELETE en las tablas de permisos de cuenta y cuenta.
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;
donde-
MYDBAT_PERSON: tabla de la base de datos de tablas de aplicación de base de datos (Oracle) que contiene información de cuenta. -
MYDBAT_ROLES: tabla de la base de datos de tablas de aplicación de base de datos (Oracle) que contiene información de rol. -
MYDBAT_GROUPS: tabla de la base de datos de tablas de aplicación de base de datos (Oracle) que contiene información de grupo. -
MYDBAT_PERSON_ROLE: tabla de la base de datos de tablas de aplicación de base de datos (Oracle) que contiene información de rol de persona. -
MYDBAT_PERSON_GROUP: tabla de la base de datos de tablas de aplicación de base de datos (Oracle) que contiene información de rol de grupo. -
SERVICEUSER: es el usuario de la cuenta de servicio.
Permisos necesarios para scripts personalizados
Para desarrollar scripts personalizados para operaciones en la integración de tablas de aplicación de base de datos (Oracle), como se describe en Desarrollo de scripts personalizados para tablas de aplicación de base de datos (Oracle) mediante Groovy, deberá agregar permisos a cualquier procedimiento almacenado u otros objetos de base de datos a los que se haga referencia en los scripts personalizados. Si crea los procedimientos almacenados mediante el usuario de servicio, no debe requerir ningún permiso. Si los procedimientos almacenados u otros objetos de base de datos se crean en otro usuario, debe otorgar permisos según corresponda.
GRANT EXECUTE ON MYDBAT_CUSTOMDEV.GET_USERROLE TO SERVICEUSER;donde:-
MYDBAT_CUSTOMDEV: usuario que ha utilizado para crear el procedimiento almacenado. -
GET_USERROLEes el nombre del procedimiento almacenado. -
SERVICEUSER: es el usuario de la cuenta de servicio.
Configuración de un Usuario de Servicio con Privilegios Mínimos para Tablas de Aplicación de Base de Datos (MSSQL)
Para activar una conexión segura entre Oracle Access Governance y la base de datos de tablas de aplicación de base de datos (MSSQL), puede crear un usuario de servicio con los privilegios mínimos necesarios para configurar la integración.
Permisos necesarios para el modo de origen autorizado
Si configura el sistema orquestado de tablas de aplicación de base de datos (MSSQL) en modo autorizado, debe otorgar permisos de lectura al usuario de servicio en la tabla que contiene las identidades para que se puedan cargar en Oracle Access Governance. El juego mínimo de permisos necesarios en este caso es el permiso SELECT en la tabla que contiene información de identidad o persona.
GRANT SELECT ON MYDBAT_PERSON TO SERVICEUSER; donde:-
MYDBAT_PERSON: tabla de la base de datos de tablas de aplicación de base de datos (MSSQL) que contiene información de identidad. -
SERVICEUSER: es el usuario de la cuenta de servicio.
Permisos necesarios para el modo de sistema gestionado
Si configura el sistema orquestado de tablas de aplicación de base de datos (MSSQL) en modo de sistema gestionado, debe otorgar permisos de lectura y escritura para tablas de cuentas y tablas de permisos, para permitir la conciliación, creación, actualización y supresión de cuentas y permisos de cuenta. El juego mínimo de permisos necesarios en este caso es los permisos SELECT, INSERT, UPDATE y DELETE en las tablas de permisos de cuenta y cuenta.
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;
donde-
MYDBAT_PERSON: tabla de la base de datos de tablas de aplicación de base de datos (MSSQL) que contiene información de cuenta. -
MYDBAT_ROLES: tabla de la base de datos de tablas de aplicación de base de datos (MSSQL) que contiene información de rol. -
MYDBAT_GROUPS: tabla de la base de datos de tablas de aplicación de base de datos (MSSQL) que contiene información de grupo. -
MYDBAT_PERSON_ROLE: tabla de la base de datos de tablas de aplicación de base de datos (MSSQL) que contiene información de rol de personas. -
MYDBAT_PERSON_GROUP: tabla de la base de datos de tablas de aplicación de base de datos (MSSQL) que contiene información de rol de grupo. -
SERVICEUSER: es el usuario de la cuenta de servicio.
Permisos necesarios para scripts personalizados
Si desea desarrollar scripts personalizados para operaciones en la integración de tablas de aplicación de base de datos (MSSQL), como se describe en Desarrollo de scripts personalizados para tablas de aplicación de base de datos (Oracle) mediante Groovy, deberá agregar permisos a cualquier procedimiento almacenado u otros objetos de base de datos a los que se haga referencia en los scripts personalizados. Si crea los procedimientos almacenados mediante el usuario de servicio, no debe requerir ningún permiso. Si los procedimientos almacenados u otros objetos de base de datos se crean en otro usuario, debe otorgar permisos según corresponda.
GRANT EXECUTE ON OBJECT::dbo.GET_USERROLE TO SERVICEUSER;donde:-
OBJECT::dbo: es el objeto de base de datos de Microsoft MSSQL. -
GET_USERROLEes el nombre del procedimiento almacenado. -
SERVICEUSER: es el usuario de la cuenta de servicio.
Configuración de un usuario de servicio con privilegios mínimos para tablas de aplicación de base de datos (MySQL)
Para activar una conexión segura entre Oracle Access Governance y la base de datos de tablas de aplicación de base de datos (MySQL), puede crear un usuario de servicio con los privilegios mínimos necesarios para configurar la integración.
Permisos necesarios para el modo de origen autorizado
Si configura el sistema orquestado de tablas de aplicación de base de datos (MySQL) en modo autorizado, debe otorgar permisos de lectura al usuario de servicio de la tabla que contiene las identidades para que se puedan cargar en Oracle Access Governance. El juego mínimo de permisos necesarios en este caso es el permiso SELECT en la tabla que contiene información de identidad o persona.
GRANT SELECT ON MYDBAT_PERSON TO SERVICEUSER; donde:-
MYDBAT_PERSON: tabla de la base de datos de tablas de aplicación de base de datos (MySQL) que contiene información de identidad. -
SERVICEUSER: es el usuario de la cuenta de servicio.
Permisos necesarios para el modo de sistema gestionado
Si configura el sistema orquestado de tablas de aplicación de base de datos (MySQL) en modo de sistema gestionado, debe otorgar permisos de lectura y escritura para tablas de cuentas y tablas de permisos, para permitir la conciliación, creación, actualización y supresión de cuentas y permisos de cuenta. El juego mínimo de permisos necesarios en este caso es los permisos SELECT, INSERT, UPDATE y DELETE en las tablas de permisos de cuenta y cuenta.
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;
donde-
MYDBAT_PERSON: tabla de la base de datos de tablas de aplicación de base de datos (MySQL) que contiene información de cuenta. -
MYDBAT_ROLES: tabla de la base de datos de tablas de aplicación de base de datos (MySQL) que contiene información de rol. -
MYDBAT_GROUPS: tabla de la base de datos de tablas de aplicación de base de datos (MySQL) que contiene información de grupo. -
MYDBAT_PERSON_ROLE: tabla de la base de datos de tablas de aplicación de base de datos (MySQL) que contiene información de rol de personas. -
MYDBAT_PERSON_GROUP: tabla de la base de datos de tablas de aplicación de base de datos (MySQL) que contiene información de rol de grupo. -
SERVICEUSER: es el usuario de la cuenta de servicio.
Permisos necesarios para scripts personalizados
Si desea desarrollar scripts personalizados para operaciones en la integración de tablas de aplicación de base de datos (MySQL), como se describe en Desarrollo de scripts personalizados para tablas de aplicación de base de datos (Oracle) mediante Groovy, deberá agregar permisos a cualquier procedimiento almacenado u otros objetos de base de datos a los que se haga referencia en los scripts personalizados. Si crea los procedimientos almacenados mediante el usuario de servicio, no debe requerir ningún permiso. Si los procedimientos almacenados u otros objetos de base de datos se crean en otro usuario, debe otorgar permisos según corresponda.
GRANT EXECUTE ON MYSQLDB.GET_USERROLE TO 'SERVICEUSER';donde:-
MYSQLDB: es la base de datos MySQL en la que ha creado el procedimiento almacenado. -
GET_USERROLEes el nombre del procedimiento almacenado. -
SERVICEUSER: es el usuario de la cuenta de servicio.
Operaciones Soportadas al Aprovisionar en Tablas de Aplicaciones de Base de Datos
Al aprovisionar una cuenta de Oracle Access Governance en tablas de aplicaciones de base de datos, se soportan determinadas operaciones.
- Crear cuenta
- Activar Cuenta
- Desactivar Cuenta
- Revocar cuenta
- Asignar Permiso
- Eliminar permiso
Tipos de dato soportados
Los tipos de dato soportados para las operaciones de conciliación y aprovisionamiento se muestran en la siguiente sección:
Para Oracle Database
Los tipos de datos soportados para las operaciones de conciliación y aprovisionamiento para un sistema orquestado de Oracle Database se muestran a continuación:
- VARCHAR2
- CHAR
- NUMBER
- NUMERIC
- INTEGER
- INT
- SMALLINT
- DOUBLE
- FLOAT
- DECIMAL
- DEC
- REAL
- DATE
- TIMESTAMP
Para Microsoft SQL Server
Los tipos de datos soportados para las operaciones de conciliación y aprovisionamiento para un sistema orquestado de base de datos de Microsoft SQL Server se muestran a continuación:
- CHAR
- VARCHAR
- SMALLINT
- INT
- BIGINT
- DECIMAL
- NUMERIC
- NVARCHAR
- FLOAT
- REAL
- SMALLDATETIME
- DATETIME
Para MySQL
Los tipos de datos soportados para las operaciones de conciliación y aprovisionamiento para un sistema orquestado de base de datos MySQL se muestran a continuación:
- Booleano
- SMALLINT
- MEDIUMINT
- INT
- BIGINT
- FLOAT
- DOUBLE
- DECIMAL
- CHAR
- VARCHAR
- TINYTEXT
- DATE
- DATETIME
- TIMESTAMP
Atributos soportados por defecto
Dado que la integración de tablas de aplicación de base de datos requiere la detección de esquemas y que el esquema detectado no es fijo, no hay atributos soportados por defecto específicos como tales. Puede modificar schema.json para agregar atributos básicos y personalizados según sea necesario. Como mínimo, debe incluir los atributos uid y name necesarios para una identidad de Oracle Access Governance tal como se define en Atributos de Identidad Principal.
Reglas de confrontación por defecto
Para asignar cuentas a identidades en Oracle Access Governance, debe tener una regla de coincidencia para cada sistema orquestado.
La regla de coincidencia por defecto para el sistema orquestado Tablas de Aplicación de Base de Datos es:
| Modo | Regla de confrontación por defecto |
|---|---|
|
Origen autorizado
La coincidencia de identidad comprueba si las identidades entrantes coinciden con una identidad existente o son nuevas |
Valor de pantalla:
Nombre de atributo:
|
|
Sistema gestionado
La confrontación de cuentas comprueba si las cuentas entrantes coinciden con las identidades existentes. |
Valor de pantalla:
Nombre de atributo:
|
Directrices de tabla de aplicación de base de datos
Al utilizar tablas de acceso a bases de datos con Oracle Access Governance, debe tener en cuenta las siguientes directrices en el diseño y la estructura de las tablas.
Directrices generales
- Las columnas Nombre y Clave de cualquier entidad se deben configurar como NOT NULL.
- Para una entidad específica, se puede configurar la misma columna de base de datos como Nombre y Clave. También puede utilizar diferentes columnas para ellas si es necesario.
- Cualquier atributo principal incluido en la entidad ACCOUNT debe cumplir las siguientes reglas:
- El tipo de dato de columna debe ser compatible con el tipo de dato de Oracle Access Governance.
- Cualquier atributo que se configure como
"nature":["REQUIRED"]en el archivo JSON de esquema debe corresponder a un campo de base de datos NOT NULL.
- Las tablas ENTITLEMENT y LOOKUP deben tener una restricción de clave primaria en las columnas de clave.
- Si coinciden las columnas relacionadas de las tablas ENTITLEMENT y LOOKUP, no es necesario definir una relación de clave ajena entre las tablas ACCOUNT/TARGETACCOUNT y las tablas ENTITLEMENT y LOOKUP. Para obtener más información, consulte la siguiente sección.
Relaciones de tabla
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)
Los mismos principios que se han explicado anteriormente para la relación entre un usuario y una consulta se aplicarían al definir tablas para la relación entre un usuario y derechos.
Asociar atributo de identidad con atributo de cuenta
Puede asociar un atributo de identidad a un atributo de cuenta editando la configuración del atributo de cuenta.
- Inicie sesión en la consola de Oracle Access Governance y vaya a Administración de servicios → Sistemas orquestados.
- Seleccione Gestionar integración para el sistema orquestado DBAT en el que desea asociar un atributo de identidad a un atributo de cuenta.
- Seleccione Gestionar en el mosaico Atributos de cuenta.
- Para el atributo de cuenta que desea asignar, seleccione Editar atributo de identidad asociado en el menú de acción.
- Seleccione el atributo de identidad que desea asociar al atributo de cuenta y haga clic en Guardar. El valor ahora se mostrará en las columnas Atributo de identidad asociado para el atributo de cuenta.
Soporte de afiliación DBAT para atributos de identidad de varios valores personalizados
Los sistemas orquestados DBAT proporcionan soporte para datos de afiliación mediante la implementación de atributos personalizados (complejos) de varios valores.
La afiliación se activa agregando una tabla personalizada para la afiliación necesaria y vinculándola a la tabla de cuentas. Por ejemplo, puede tener una tabla de cuentas, Usuarios similar a esta:
| USER_ID | USER_NAME | FIRST_NAME | LAST_NAME | ESTADO | |
|---|---|---|---|---|---|
| 1 | USR001 | Usuario | uno | userone@email.com | ACTIVO |
| 2 | USR002 | Usuario | Two | usertwo@email.com | ACTIVO |
A continuación, debe crear una tabla personalizada para la afiliación que desea representar. Por ejemplo, puede que desee tener una afiliación que le permita asignar varios cargos a una identidad. Para ello, cree una tabla de trabajos similar a la siguiente:
| CÓDIGO DE PUESTO | USER_ID | NOMBRE DE TRABAJO | DESCRIPTION |
|---|---|---|---|
| JB001 | 1 | Un trabajo | Este es un trabajo |
| 1 | Otro puesto | Este es otro trabajo | |
| 2 | Un nuevo trabajo | Este es un nuevo trabajo |
La tabla Cuenta está directamente enlazada a la tabla Afiliación por la clave primaria compuesta (USER_ID, JOBCODE).
Por último, debe agregar la afiliación al relleno schema.json, como se muestra en el siguiente fragmento.
[
{
"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": []
}
]
}
}
]
}
]
Incluya este nombre de tabla junto con otras tablas de afiliación en la configuración de integración. Para obtener más información, consulte Affiliations.