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

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:
  • Oracle Autonomous Database
  • Oracle Database 23ai, 19c, 18c o 12c como una única base de datos, base de datos conectable (PDB) o implementación de Oracle RAC
  • Oracle Database 10g y 11g como una única base de datos o implementación de Oracle RAC
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:

  • Todos los datos de usuario se encuentran en una única tabla o vista.
  • Los datos de usuario se distribuyen en una tabla principal y una o más tablas secundarias. Este sistema de destino solo se puede configurar como un sistema gestionado y no como un origen autorizado.
  • Todos los datos de usuario están en una única vista actualizable (que se basa en una o más tablas).
  • 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). Este tipo de sistema solo se puede configurar como un sistema gestionado y no como un origen autorizado con este conector. En otras palabras, un origen autorizado no puede almacenar datos secundarios.
Otros requisitos del sistema

El sistema debe cumplir los siguientes requisitos:

  • Si las tablas principal y secundaria no están unidas por una clave ajena (por ejemplo, si utiliza vistas), los nombres de las columnas de clave ajena de ambas tablas deben ser los mismos.
  • La clave primaria de las tablas utilizadas en el sistema de destino debe proporcionarse mediante una sola columna para las tablas de identidad, cuenta, derecho y consulta. Las claves primarias compuestas solo están soportadas para las tablas que enlazan las tablas de derechos e identidad/cuenta.

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.

Un ejemplo podría ser:
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.

Un ejemplo podría ser:
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.

Un ejemplo podría ser:
GRANT EXECUTE ON MYDBAT_CUSTOMDEV.GET_USERROLE TO SERVICEUSER;
donde:
  • MYDBAT_CUSTOMDEV: usuario que ha utilizado para crear el procedimiento almacenado.
  • GET_USERROLE es 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.

Un ejemplo podría ser:
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.

Un ejemplo podría ser:
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.

Un ejemplo podría ser:
GRANT EXECUTE ON OBJECT::dbo.GET_USERROLE TO SERVICEUSER;
donde:
  • OBJECT::dbo: es el objeto de base de datos de Microsoft MSSQL.
  • GET_USERROLE es 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.

Un ejemplo podría ser:
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.

Un ejemplo podría ser:
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.

Un ejemplo podría ser:
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_USERROLE es 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.

El sistema orquestado de tablas de aplicación de base de datos soporta las siguientes operaciones de cuenta al aprovisionar un usuario:
  • 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:

Reglas de confrontación por defecto
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:

Employee user name = Employee user name

Nombre de atributo:

Identity.userName = Identity.userName

Sistema gestionado

La confrontación de cuentas comprueba si las cuentas entrantes coinciden con las identidades existentes.

Valor de pantalla:

User login = Employee user name

Nombre de atributo:

Account.name = Identity.userName

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 tablas de acceso a la base de datos deben cumplir las siguientes directrices:
  • 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

Las tablas de usuario que se asignan a entidades ACCOUNT/TARGETACCOUNT pueden tener una relación con las tablas ENTITLEMENT y LOOKUP. Cuando el conector de tablas de aplicación de base de datos realiza la detección de esquemas, buscará inicialmente claves ajenas (FK) definidas como restricciones en las tablas de la base de datos que definen la relación entre la tabla de usuario y las tablas ENTITLEMENT o LOOKUP. Esto sería similar al ejemplo que se muestra a continuación para la relación entre una tabla de usuario y una tabla de consulta para el país del usuario:
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)
                        
Si no se define ninguna clave ajena, el conector de tablas de aplicación de base de datos intentará hacer coincidir los nombres de columna. Si los nombres de columna coinciden, la relación coincide. Por ejemplo:
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)
Sin embargo, si no hay ninguna relación de clave ajena definida entre las tablas y los nombres de columna no coinciden, se devolverá un error. Esto sucedería, por ejemplo, si se definen las columnas de la siguiente forma:
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.

  1. Inicie sesión en la consola de Oracle Access Governance y vaya a Administración de servicios → Sistemas orquestados.
  2. Seleccione Gestionar integración para el sistema orquestado DBAT en el que desea asociar un atributo de identidad a un atributo de cuenta.
  3. Seleccione Gestionar en el mosaico Atributos de cuenta.
  4. Para el atributo de cuenta que desea asignar, seleccione Editar atributo de identidad asociado en el menú de acción.
  5. 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:

Cuenta (por ejemplo, USUARIOS) → PK (USER_ID)
USER_ID USER_NAME FIRST_NAME LAST_NAME EMAIL 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:

Afiliación (por ejemplo, JOBS) → Clave primaria compuesta (USER_ID, JOBCODE)
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.