Referencia de archivo JSON de esquema
Al crear un sistema orquestado de tablas de aplicación de base de datos, el agente crea un schema.json en el directorio del agente (<agent-volume>/data/schema), que asigna datos de identidad entre las tablas de base de datos integradas y Oracle Access Governance. Este archivo se puede aceptar tal cual o modificar para configurar qué entidades y atributos se asignan a Oracle Access Governance para su consideración en campañas y revisiones.
Flujo de Detección de Esquema
El flujo de detección de esquemas para las tablas de aplicación de base de datos es el siguiente:
-
Day0: al crear el sistema orquestado Tablas de aplicación de base de datos, se crea el archivo
schema.jsoninicial, según la configuración de integración que introduzca. El archivo de esquema se crea con detalles de tablas y columnas que contienen datos de usuario para las entidades Cuenta, Derecho y Consulta. La información de relación se carga desde la configuración que proporcione, junto con las restricciones definidas en la base de datos (claves primaria y ajena). El archivo JSON de esquema intermedio contendrá la asignación de los siguientes atributos por defecto, si están definidos. Para asignar atributos adicionales, debe editar el archivoschema.json:-
UID:
__UID__ -
Name:
__NAME__ -
Status:
__ENABLE__ -
Password:
__PASSWORD__
-
UID:
-
DayN: las actividades DayN se realizan en cualquier momento después de haber generado el archivo JSON de esquema intermedio. El archivo por defecto creado por el agente se puede utilizar para la prueba, pero no soporta la carga de datos completa, ya que solo trae atributos de nombre y UID. Para una carga de datos completa, debe editar el archivo para determinar qué entidades y atributos se transfieren a Oracle Access Governance. Para obtener más información sobre la estructura y las opciones disponibles al editar
schema.json, consulte Referencia de archivo JSON de esquema.NotaLas actividades de DayN pueden incluir lo siguiente:
Después de Day0 no puede volver a ejecutar la detección de esquemas en la base de datos de origen y generar un nuevo archivo de esquema. El archivo JSON de esquema ubicado con el agente es la fuente de datos para las actividades DayN y las actualizaciones se deben realizar en el archivo.- Ejecute la carga de datos con el esquema limitado. Puede ejecutar una carga de datos de prueba con el esquema limitado generado en Day0. Esto solo incluirá, cuando esté disponible, el uid de atributos, el nombre, el estado y la contraseña.
-
Modificar archivo de esquema: puede modificar el archivo
schema.jsonpara actualizar los detalles de cuenta, derecho y consulta, si es necesario. Algunos motivos por los que podría hacer esto son:- Desea incorporar atributos adicionales a los valores por defecto de uid, nombre, estado y contraseña. Para ello, defina la propiedad
namepara los atributos que desee incluir. - Si se produce un cambio en la base de datos origen, se debe reflejar en el archivo de esquema. Por ejemplo, si agrega una nueva columna a la tabla ACCOUNT, se tendría que agregar al archivo de esquema como atributo.
- Desea incorporar atributos adicionales a los valores por defecto de uid, nombre, estado y contraseña. Para ello, defina la propiedad
- Debe realizar una operación de detección de esquema que recuperará la información de atributo personalizado más reciente. Para obtener más información sobre cómo realizar esta tarea, consulte Recuperación de atributos personalizados más recientes.
- Para aplicar la transformación saliente, debe actualizarla desde la consola de Oracle Access Governance. No se tendrá en cuenta ninguna regla de transformación aplicada en
Schema.json. Para aplicar una regla de transformación, consulte Aplicación de transformaciones salientes para atributos de identidad. Sin embargo, si cambia el atributo o suprime un atributo enSchema.json, las reglas de transformación, relacionadas con ese atributo de cuenta concreto, se suprimen durante la operación de detección de esquemas. - Ejecutar operaciones de carga y aprovisionamiento de datos: mediante el esquema detectado, cargue datos de usuario en Oracle Access Governance desde la base de datos integrada y permita a Oracle Access Governance aprovisionar cuentas y permisos en la base de datos integrada.
JSON de esquema intermedio
schema.json intermedio se genera utilizando toda la información disponible de la configuración que proporcione durante la creación del sistema orquestado. Esto sirve como una plantilla en la que puede realizar cualquier cambio que afecte a los datos de usuario que puede incorporar. La estructura del archivo schema.json intermedio es la siguiente:{
"schemaTemplates":[
{
"type": "", // Type of entity "ACCOUNT", "ENTITLEMENT", "TARGETACCOUNT" or "LOOKUP"
"name": "", // Name of entity
"displayName": "", // display name of entity
"data": {
// Key-value pairs representing static lookup data if any, or else it will be missing from here.
}
"attributes": [
{
"name": "", // AG side Name of attribute
"targetName": "", // Target side name of attribute
"displayName": "" // Optional display name for the attribute which will be given priority if provided, else attribute name will be used for display name.
"dataType": "", // Either of TEXT, DATE, NUMBER, DECIMAL_NUMBER, FLAG
"nature": [ // One or more of "REQUIRED", "MULTIVALUED", "SENSITIVE". It can be missing from here if nothing applies.
],
"usage": [ // One or more of "READ", "PROVISION". It can be missing from here if nothing applies.
],
"relationship": { // Entity relationship details
"relatedTo": "", // Entity name in relationship with
"relatedBy": "", // Attribute to define the relation
"relationshipProperties": [ // Additional relationship properties
{
"name": "", // Name of additional attribute
"dataType": "", // Either of TEXT, DATE, NUMBER, DECIMAL_NUMBER, FLAG
"nature": [ // Only READ_ONLY is possible, or else it will be missing from here
],
"uiProperties": { // ARMD if applicable, or it will be missing from here
"inputType": "" // Either of Auto, User, Admin
"widget": "", // Widget to use on UI i.e. Either of Text, Password, Number, Date, SelectOne, RepeatableFieldSet, CheckboxSet
"title": "", // Title to use on UI
"labelHint": "", // Labelhint to use on UI
"minLength": {SOME_POSITIVE_NUMBER},
"maxLength": {SOME_POSITIVE_NUMBER},
"defaultValues": [ // Default values if applicable, or it will be missing from here
]
}
}
]
},
"outboundTransformation": { // Outbound transformation script if applicable, or it will be missing from here
"script": "" // Script to execute for transformation
},
"uiProperties": { // ARMD if applicable, or it will be missing from here
"inputType": "" // Either of Auto, User, Admin
"widget": "", // Widget to use on UI i.e. Either of Text, Password, Number, Date, SelectOne, RepeatableFieldSet, CheckboxSet
"title": "", // Title to use on UI
"labelHint": "", // Labelhint to use on UI
"minLength": {SOME_POSITIVE_NUMBER},
"maxLength": {SOME_POSITIVE_NUMBER},
"defaultValues": [ // Default values if applicable, or it will be missing from here
]
}
}
]
}
]
}
El atributo
uiProperties solo está en el ámbito de los tipos de entidad TARGETACCOUNT. No se debe utilizar para los tipos de entidad ACCOUNT, ENTITLEMENT o LOOKUP.- ACCOUNT: el tipo de entidad ACCOUNT se asigna a la entidad Identidad de Oracle Access Governance. Los atributos del tipo de entidad ACCOUNT se utilizan para rellenar una identidad en Oracle Access Governance.
- TARGETACCOUNT: el tipo de entidad TARGETACCOUNT asigna la entidad Cuenta de Oracle Access Governance. Al aprovisionar una cuenta en la aplicación de base de datos, los atributos del tipo de entidad ACCOUNT Oracle Access Governance se utilizarán para rellenar la entidad de base de datos TARGETACOUNT.
- ENTITLEMENT: ENTITLEMENT se asigna al permiso de Oracle Access Governance.
- LOOKUP: LOOKUP se asigna a la información de LOOKUP en Oracle Access Governance.
- El modo seleccionado solo es Origen autorizado:
- ACCOUNT y TARGETACCOUNT se generan en el esquema JSON.
- Solo se crea una identidad en Oracle Access Governance, según los valores de ACCOUNT.
- Se puede ignorar TARGETACCOUNT.
- El modo seleccionado solo es Sistema gestionado:
- ACCOUNT y TARGETACCOUNT se generan en el esquema JSON.
- Solo se crea una cuenta en Oracle Access Governance, según los valores de TARGETACCOUNT.
- ACCOUNT se puede ignorar.
- El modo seleccionado es Origen autorizado y Sistema gestionado.
- ACCOUNT y TARGETACCOUNT se generan en el esquema JSON.
- La identidad se crea en Oracle Access Governance, en función de los valores de ACCOUNT.
- La cuenta se crea en Oracle Access Governance, en función de los valores de TARGETACCOUNT.
Oracle Access Governance no puede gestionar los derechos que se otorgan directamente en las tablas de la base de datos y que, a continuación, se cargan en Oracle Access Governance cuando el sistema orquestado se configura en modo de sistemas gestionados. Oracle Access Governance solo puede gestionar los derechos que se originan en una solicitud de aprovisionamiento de Oracle Access Governance.
Atributos de Identidad Principales
Al ejecutar tablas de aplicación de base de datos en modo de origen autorizado, puede incorporar datos de usuario de la base de datos integrada en Oracle Access Governance, que se utiliza para crear una identidad de Oracle Access Governance.
"nature": ["REQUIRED"] indica que un atributo debe ser NOT NULL en la base de datos origen. Esto no significa que el atributo se deba incluir en la detección de esquemas, puede o no incluirlo en el esquema que desea integrar.[
{
"name": "uid",
"dataType": "TEXT",
"nature": [
"REQUIRED"
],
"usage": [
"READ"
]
},
{
"name": "name",
"dataType": "TEXT",
"nature": [
"REQUIRED"
],
"usage": [
"READ"
]
},
{
"name": "email",
"dataType": "TEXT",
"nature": [
"REQUIRED"
],
"usage": [
"READ"
]
},
{
"name": "firstName",
"dataType": "TEXT",
"usage": [
"READ"
]
},
{
"name": "middleName",
"dataType": "TEXT",
"usage": [
"READ"
]
},
{
"name": "lastName",
"dataType": "TEXT",
"usage": [
"READ"
]
},
{
"name": "displayName",
"dataType": "TEXT",
"nature": [
"REQUIRED"
],
"usage": [
"READ"
]
},
{
"name": "employeeType",
"dataType": "TEXT",
"usage": [
"READ"
]
},
{
"name": "title",
"dataType": "TEXT",
"usage": [
"READ"
]
},
{
"name": "empNo",
"dataType": "TEXT",
"usage": [
"READ"
]
},
{
"name": "status",
"dataType": "FLAG",
"usage": [
"READ"
]
},
{
"name": "jobCode",
"dataType": "TEXT",
"usage": [
"READ"
]
},
{
"name": "state",
"dataType": "TEXT",
"usage": [
"READ"
]
},
{
"name": "risk",
"dataType": "TEXT",
"usage": [
"READ"
]
},
{
"name": "location",
"dataType": "TEXT",
"usage": [
"READ"
]
},
{
"name": "department",
"dataType": "TEXT",
"usage": [
"READ"
]
},
{
"name": "managerUid",
"dataType": "TEXT",
"usage": [
"READ"
]
},
{
"name": "managerLogin",
"dataType": "TEXT",
"usage": [
"READ"
]
},
{
"name": "organizationUid",
"dataType": "TEXT",
"usage": [
"READ"
]
},
{
"name": "organizationName",
"dataType": "TEXT",
"usage": [
"READ"
]
},
{
"name": "country",
"dataType": "TEXT",
"usage": [
"READ"
]
},
{
"name": "postalCode",
"dataType": "TEXT",
"usage": [
"READ"
]
},
{
"name": "territory",
"dataType": "TEXT",
"usage": [
"READ"
]
}
]
Estado de usuario
Al ejecutar tablas de aplicación de base de datos en modo de origen autorizado, puede incorporar datos de usuario de la base de datos integrada en Oracle Access Governance, que se utiliza para crear una identidad de Oracle Access Governance.
Al configurar el sistema orquestado, se le solicita la columna de la base de datos que contiene el estado de un registro de usuario. Estado que indica si el usuario está activado o desactivado en Oracle Access Governance. Esta información siempre se captura durante la carga completa de datos, independientemente del modo configurado (origen autorizado o sistema gestionado).
- Valor de estado de cuenta de usuario activada: este valor se definirá por defecto en ACTIVE o se puede definir como cualquier valor de texto de la base de datos que se asigna a un estado de activado en Oracle Access Governance. Algunos ejemplos incluyen Y, Yes, true, etc.
- Valor de estado desactivado de cuenta de usuario: este valor se definirá por defecto en INACTIVE o se puede definir como cualquier valor de texto de la base de datos que se asigna a un estado desactivado en Oracle Access Governance. Algunos ejemplos incluyen N, No, false, etc.
- Si el usuario tiene un estado que es igual al valor de Estado desactivado de cuenta de usuario, el usuario se marcará como desactivado en Oracle Access Governance.
- Si el usuario tiene cualquier otro valor, se asume que el usuario está activado y que el usuario está marcado como tal en Oracle Access Governance.
Actualización del archivo JSON de esquema intermedio
Puede actualizar el archivo JSON de esquema intermedio para incluir atributos en el esquema de Oracle Access Governance.
Para incluir o excluir atributos de esquema de Oracle Access Governance, considere la siguiente entidad de ejemplo, que muestra un ejemplo de una entidad ACCOUNT:
"type" : "ACCOUNT",
"name" : "ACCOUNT",
"displayName" : "Account",
"attributes" : [ {
"name" : "joiningDate",
"targetName" : "JOININGDATE",
"displayName" : "",
"dataType" : "DATE",
"nature" : [ ],
"usage" : [ "READ" ]
}, {
"name" : "",
"targetName" : "LASTUPDATED",
"displayName" : "",
"dataType" : "DATE",
"nature" : [ ],
"usage" : [ "READ" ]
}, {
"name" : "firstName",
"targetName" : "FIRSTNAME",
"displayName" : "",
"dataType" : "TEXT",
"nature" : [ ],
"usage" : [ "READ" ]
}, {
"name" : "email",
"targetName" : "EMAIL",
"displayName" : "",
"dataType" : "TEXT",
"nature" : [ "REQUIRED" ],
"usage" : [ "READ" ]
}, {
"name" : "name",
"targetName" : "__NAME__",
"displayName" : "",
"dataType" : "TEXT",
"nature" : [ "REQUIRED" ],
"usage" : [ "READ" ]
}, {
"name" : "uid",
"targetName" : "__UID__",
"displayName" : "",
"dataType" : "TEXT",
"nature" : [ "REQUIRED" ],
"usage" : [ "READ" ]
}, {
"name" : "status",
"targetName" : "__ENABLE__",
"displayName" : "",
"dataType" : "FLAG",
"nature" : [ ],
"usage" : [ "READ" ]
}, {
"name" : "salary",
"targetName" : "SALARY",
"displayName" : "",
"dataType" : "DECIMAL_NUMBER",
"nature" : [ ],
"usage" : [ "READ" ]
}, {
"name" : "password",
"targetName" : "__PASSWORD__",
"displayName" : "",
"dataType" : "TEXT",
"nature" : [ "SENSITIVE" ],
"usage" : [ ]
}, {
"name" : "country",
"targetName" : "COUNTRYCODE",
"displayName" : "",
"dataType" : "TEXT",
"nature" : [ ],
"usage" : [ "READ" ],
"relationship" : {
"relatedTo" : "A_COUNTRY",
"relatedBy" : "COUNTRYCODE"
}
}, {
"name" : "",
"targetName" : "DESCRIPTION",
"displayName" : "",
"dataType" : "TEXT",
"nature" : [ ],
"usage" : [ "READ" ]
}, {
"name" : "lastName",
"targetName" : "LASTNAME",
"displayName" : "",
"dataType" : "TEXT",
"nature" : [ ],
"usage" : [ "READ" ]
} ]
}, {
Inclusión de Atributos en el Esquema
name y targetName para los atributos que se muestran en el ejemplo. Verá que en todos los casos se ha rellenado el parámetro targetName. Esto se debe a que este parámetro se asigna al nombre de columna de la base de datos Oracle, que contiene la información de usuario que está integrando. Por ejemplo, tenemos FIRSTNAME, LASTNAME, DESCRIPTION, etc. Sin embargo, el parámetro name no siempre se rellena. Esto se debe a que el parámetro name se correlaciona con el atributo del esquema en el lado de Oracle Access Governance. Si se rellena name, ese parámetro se incluye en el esquema de Oracle Access Governance, por ejemplo:"name" : "firstName",
"targetName" : "FIRSTNAME",Si no se rellena name, ese parámetro no se incluye en el esquema de Oracle Access Governance. En el ejemplo anterior, el parámetro DESCRIPTION no está incluido:"name" : "",
"targetName" : "DESCRIPTION",
Inclusión de Tablas de Consulta
Para incluir tablas de consulta en el esquema, utilice el mismo método que el anterior, definiendo el parámetro name en el archivo JSON del esquema. Al definir el parámetro name se incluirán todos los datos de consulta y se asignarán al atributo relevante de Oracle Access Governance. Además, si incluye una tabla de consulta, los valores se mostrarán en una lista de valores al crear un nuevo grupo de acceso.
"type" : "LOOKUP",
"name" : "COUNTRY",
"displayName" : "Country",
"attributes" : [ {
"name" : "uid",
"targetName" : "__UID__",
"displayName" : "",
"dataType" : "TEXT",
"nature" : [ "REQUIRED" ],
"usage" : [ "READ" ]
}, {
"name" : "name",
"targetName" : "__NAME__",
"displayName" : "",
"dataType" : "TEXT",
"nature" : [ "REQUIRED" ],
"usage" : [ "READ" ]
} ]
}
account.homeCountry que contiene este valor. Este atributo debe tener una relación de clave ajena con la tabla ACCOUNT. Un ejemplo podría ser: "type" : "ACCOUNT",
"name" : "ACCOUNT",
"displayName" : "Account",
"attributes" : ...
{
"name" : "country",
"targetName" : "COUNTRYCODE",
"displayName" : "",
"dataType" : "TEXT",
"nature" : [ ],
"usage" : [ "READ" ],
"relationship" : {
"relatedTo" : "COUNTRY",
"relatedBy" : "COUNTRYCODE"
}
Asignación a atributos básicos y personalizados
name, el valor targetName correspondiente se asigna al atributo de núcleo. Si name no es el nombre de un atributo de núcleo, el valor targetName se asigna a un atributo personalizado. Por ejemplo, lo siguiente asignaría la columna de base de datos FIRSTNAME al atributo principal firstName.{
"name" : "firstName",
"targetName" : "FIRSTNAME",
"displayName" : "",
"dataType" : "TEXT",
"nature" : [ ],
"usage" : [ "READ" ]
}mientras que lo siguiente asignaría FIRSTNAME a un atributo personalizado denominado foreName
{
"name" : "foreName",
"targetName" : "FIRSTNAME",
"displayName" : "",
"dataType" : "TEXT",
"nature" : [ ],
"usage" : [ "READ" ]
}.