Integración con archivo plano
Requisitos
Antes de instalar y configurar un sistema orquestado de archivos planos, debe tener en cuenta los siguientes requisitos y tareas.
Componentes Certificados
El sistema debe ser el siguiente:
- Archivo plano CSV ubicado en Oracle Cloud Infrastructure (OCI) Object Storage en su arrendamiento
Modos soportados
- Origen autorizado
- Sistema gestionado
Operaciones Soportadas
- Crear Cuenta
- Suprimir cuenta
- Agregar Derecho
- Eliminar derecho
Crear un cubo en el servicio OCI Object Storage para operaciones de sistema orquestadas de archivos planos
Para cargar un archivo plano en Oracle Access Governance, debe colocar los archivos de datos en un cubo creado mediante el servicio OCI Object Storage. Este cubo se puede crear en cualquier compartimento de su arrendamiento de OCI. Para obtener más información sobre OCI Object Storage, consulte Gestión de cubos.
Para acceder al cubo, debe crear un usuario de servicio que tenga acceso de lectura, escritura y supresión (gestionar privilegios) al cubo. Siga este proceso para crear este usuario de servicio:
- Crear un compartimiento, accessgovernance/
- Cree un usuario de identidad local, agcs_user en cualquier dominio de su arrendamiento.
- Cree un grupo de identidades, agcs_flatfilegroup en cualquier dominio de su arrendamiento.
- Asigne el usuario de identidad agcs_user al grupo de identidad agcs_flatfilegroup.
- Cree una política, agcs_flatfilepolicy, con la siguiente sentencia de política:
allow group <groupname> to manage objects in compartment <compartmentname> where target.bucket.name = 'bucketname'Por ejemplo:
allow group agcs_flatfilegroup to manage objects in compartment accessgovernance where target.bucket.name = 'bucket-20231130-1143'
Configurar
Puede establecer una conexión entre el archivo plano y Oracle Access Governance introduciendo los detalles de conexión. Para ello, utilice la funcionalidad de sistemas orquestados disponible en la consola de Oracle Access Governance.
Navegar a la página Orchestrated Systems
- En el icono de menú de navegación de Oracle Access Governance
, seleccione Administración de servicios → Sistemas orquestados. - Seleccione el botón Add an Orchestrated system (Agregar un sistema orquestado) para iniciar el flujo de trabajo.
Seleccionar sistema
En el paso Seleccionar sistema del flujo de trabajo, puede especificar qué tipo de sistema desea incorporar.
- Seleccione Archivo plano.
- Haga clic en Siguiente.
Introducir detalles
- Introduzca un nombre para el sistema al que desea conectarse en el campo Nombre.
- Introduzca una descripción para el sistema en el campo Descripción.
- Decida si este sistema orquestado es un origen autorizado y si Oracle Access Governance puede gestionar permisos mediante la definición de las siguientes casillas de control.
-
Este es el origen autorizado de mis identidades
Seleccione uno de estos procedimientos:
- Origen de las identidades y sus atributos: el sistema actúa como identidades de origen y atributos asociados. Se crean nuevas identidades a través de esta opción.
- Solo origen de atributos de identidad: el sistema ingiere detalles de atributos de identidad adicionales y se aplica a las identidades existentes. Esta opción no ingiere ni crea nuevos registros de identidad.
- Quiero gestionar los permisos de este sistema
-
Este es el origen autorizado de mis identidades
- Seleccione Next (Siguiente).
Agregar Propietarios
Al configurar el primer sistema orquestado para la instancia de servicio, solo puede asignar propietarios después de activar las identidades en la sección Gestionar identidades.
- Seleccione un usuario activo de Oracle Access Governance como propietario principal en el campo ¿Quién es el propietario principal?.
- Seleccione uno o más propietarios adicionales en la lista ¿Quién más los posee?. Puede agregar hasta 20 propietarios adicionales para el recurso.
Configuración de la Cuenta
- Cuando se solicite un permiso y la cuenta no exista, seleccione esta opción para crear nuevas cuentas. Esta opción está seleccionada por defecto. Cuando se selecciona, Oracle Access Governance crea una cuenta si no existe una cuando se solicita un permiso. Si desactiva esta opción, los permisos se aprovisionan solo para las cuentas existentes en el sistema orquestado. Si no existe ninguna cuenta, la operación de aprovisionamiento falla.
- Seleccione los destinatarios de los correos electrónicos de notificación cuando se cree una cuenta. El destinatario predeterminado es User (Usuario). Si no se selecciona ningún destinatario, las notificaciones no se envían cuando se crean las cuentas.
- Usuario
- Gestor de usuarios
- Configuración de cuentas existentesNota
Solo puede definir estas configuraciones si lo permite el administrador del sistema. Cuando se activa la configuración de cese de cuenta global, los administradores de la aplicación no pueden gestionar la configuración de cese de cuenta en el nivel de sistema orquestado.- Seleccionar qué hacer con las cuentas cuando comience el cese anticipado: seleccione la acción que se debe realizar cuando comience un cese anticipado. Esto sucede cuando necesita revocar los accesos de identidad antes de la fecha de cese oficial.
- Suprimir: suprime todas las cuentas y permisos gestionados por Oracle Access Governance.Nota
Si un sistema orquestado específico no soporta la acción, no se realiza ninguna acción. - Desactivar: desactiva todas las cuentas y desactiva los permisos gestionados por Oracle Access Governance.
- Suprimir los permisos para las cuentas desactivadas: para garantizar un acceso residual cero, seleccione esta opción para suprimir los permisos asignados directamente y los permisos otorgados por políticas durante la desactivación de la cuenta.
- Sin acción: no se realiza ninguna acción cuando Oracle Access Governance marca una identidad para su terminación anticipada.
- Suprimir: suprime todas las cuentas y permisos gestionados por Oracle Access Governance.
- Seleccionar qué hacer con las cuentas en la fecha de cese: seleccione la acción que se debe realizar durante el cese oficial. Esto sucede cuando necesita revocar los accesos de identidad en la fecha de cese oficial.
- Suprimir: suprime todas las cuentas y permisos gestionados por Oracle Access Governance.Nota
Si el sistema orquestado específico no soporta la acción Suprimir, no se realiza ninguna acción. - Desactivar: desactiva todas las cuentas y desactiva los permisos gestionados por Oracle Access Governance.
- Suprimir los permisos para las cuentas desactivadas: para garantizar un acceso residual cero, seleccione esta opción para suprimir los permisos asignados directamente y los permisos otorgados por políticas durante la desactivación de la cuenta.
Nota
Si el sistema orquestado específico no soporta la acción Desactivar, se suprime la cuenta. - Sin acción: Oracle Access Governance no realiza ninguna acción en las cuentas y los permisos.
- Suprimir: suprime todas las cuentas y permisos gestionados por Oracle Access Governance.
- Seleccionar qué hacer con las cuentas cuando comience el cese anticipado: seleccione la acción que se debe realizar cuando comience un cese anticipado. Esto sucede cuando necesita revocar los accesos de identidad antes de la fecha de cese oficial.
- Cuando una identidad abandona la empresa, debe eliminar el acceso a sus cuentas. Nota
Solo puede definir estas configuraciones si lo permite el administrador del sistema. Cuando se activa la configuración de cese de cuenta global, los administradores de la aplicación no pueden gestionar la configuración de cese de cuenta en el nivel de sistema orquestado.Seleccione una de las siguientes acciones para la cuenta:
- Suprimir: suprime todas las cuentas y permisos gestionados por Oracle Access Governance.
- Desactivar: desactive todas las cuentas y marque los permisos como inactivos.
- Suprimir los permisos para las cuentas desactivadas: suprima los permisos asignados directamente y otorgados por la política durante la desactivación de la cuenta para garantizar un acceso residual cero.
- Sin acción: no realice ninguna acción cuando una identidad abandone la organización.
Nota
Estas acciones solo están disponibles si están soportadas por el tipo de sistema orquestado. Por ejemplo, si Suprimir no está soportado, solo verá las opciones Desactivar y Sin acción. - Cuando se eliminan todos los permisos de una cuenta, por ejemplo, cuando una identidad se mueve entre departamentos, puede que tenga que decidir qué hacer con la cuenta. Seleccione una de las siguientes acciones, si son compatibles con el tipo de sistema orquestado:
- Suprimir
- Desactivar
- No hay acciones
- Gestionar cuentas que no han sido creadas por Access Governance: seleccione esta opción para gestionar cuentas que se hayan creado directamente en el sistema orquestado. Con esto, puede conciliar cuentas existentes y gestionarlas desde Oracle Access Governance.
Si no configura el sistema como un sistema gestionado, se mostrará este paso del flujo de trabajo, pero no estará activado. En este caso, debe continuar directamente con el paso Configuración de integración del flujo de trabajo.
Si el sistema orquestado requiere la detección de esquemas dinámicos, al igual que con las integraciones de tablas de aplicación de base de datos y REST genéricas, solo se puede definir el destino de correo electrónico de notificación (Usuario, Usermanager) al crear el sistema orquestado. No puede definir las reglas de desactivación/supresión para los movimientos y los elementos salientes. Para ello, debe crear el sistema orquestado y, a continuación, actualizar los valores de cuenta como se describe en Configure Orchestrated System Account Settings.
Configuración de integración
En el paso Configuración de integración del flujo de trabajo, introduzca los detalles de configuración necesarios para permitir que Oracle Access Governance se conecte al archivo plano.
- En el campo ¿Cuál es el OCID del usuario de OCI?, agregue el OCID del usuario de OCI propietario del cubo que contiene los archivos planos que desea integrar.
- En What is the fingerprint of the OCI user's API key?. Introduzca la huella de la clave de API del usuario de OCU. Consulte Claves y OCID necesarios en la documentación de OCI para obtener más información sobre cómo obtener el valor para esto.
- Enter the user's private API key, in PEM format into the What is the OCI user's private API key in PEM format? field. Consulte Claves y OCID necesarios en la documentación de OCI para obtener más información sobre cómo obtener el valor para esto.
- Introduzca el arrendamiento en el campo What is the OCI tenancy of the OCI user?.
- Introduzca el código de región principal del arrendamiento en el campo ¿Cuál es el código de región principal del arrendamiento de OCI?. Puede encontrar detalles de los códigos de región en la documentación de OCI de Regiones y dominios de disponibilidad.
- Introduzca el espacio de nombres del cubo del arrendamiento en el campo ¿Cuál es el espacio de nombres del cubo?.
- En el campo Introduce el nombre del cubo donde se almacena su archivo plano en el almacenamiento de objetos de OCI, introduzca el nombre del cubo donde se almacena su archivo plano en el almacenamiento de objetos de OCI.
- Introduzca la codificación en el campo Codificación. El valor predeterminado es UTF-8.
- En el campo Delimitador de campo, introduzca el carácter delimitador del campo utilizado en el archivo plano. El valor por defecto es
,. - En el campo Delimitador de subcampo, introduzca el carácter delimitador del subcampo utilizado en el archivo plano. El valor por defecto es
#. - In the MultiValue Delimiter field, enter the multivalue delimiter character used in the Flat File. El valor por defecto es
;. - En el campo Calificador de texto, introduzca el carácter utilizado en el archivo plano que actúa como calificador de texto. El valor por defecto es
". - En el campo Formato de fecha, introduzca el formato de datos Java en el que se incluyen los campos de tipo de fecha en el archivo plano, por ejemplo
dd/MM/yyyy. Si no se especifica ningún formato de fecha, se supondrá que el campo de fecha es del tipo de datos Largo. - Si desea comprobar la conectividad al archivo plano, haga clic en el botón Probar integración.
- Haga clic en Agregar para crear el sistema orquestado.
Finalizar
Por último, si ha activado Sistemas virtuales, primero debe definir y cargar el archivo CSV de subsistemas y, a continuación, activar el sistema orquestado. Seleccione He terminado.
Si los sistemas virtuales están desactivados, puede activar el sistema orquestado o guardarlo como borrador únicamente.
Cargar el archivo CSV
Si ha activado los sistemas virtuales, cargue un archivo CSV con el ID y el nombre para los sistemas. Puede agregar hasta 100 sistemas virtuales.
Por ejemplo:
| ID | Nombre |
|---|---|
| virtual_ad_123 | Alfa |
| virtual_ad_456 | Beta |
| virtual_ad_789 | Gamma |
- El nombre del sistema virtual no debe contener los siguientes caracteres especiales
`~!@#$%^&*><". - No se permiten caracteres especiales para el ID o el nombre.
- El nombre de los sistemas virtuales debe ser único en todos los sistemas orquestados.
- Los ID deben ser únicos para ese sistema orquestado.
Seleccione el botón Actualizar para agregar una versión más reciente de los sistemas virtuales.
Los sistemas virtuales existentes no se pueden suprimir, pero se pueden actualizar. Para gestionar sistemas virtuales después de la creación, consulte Gestión de sistemas virtuales.
Configuración Posterior
Comprobar estructura de carpetas de cubos
Después de crear el sistema orquestado, se debe crear la siguiente estructura de carpetas en el cubo 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/
Las subcarpetas, como
virtual-sys-1, virtual-sys-2, etc., solo se crean cuando los sistemas virtuales están activados.-
failed: los archivos con cualquier tipo de problema de datos se moverán a esta carpeta en la carpeta de entidad correspondiente, en caso de fallo de la operación de carga de datos. -
inbox: contiene las carpetasIDENTITY,PERMISSIONyTARGETACCOUNT, cada una de las cuales contiene carpetas de sistemas virtuales, a las que hace referencia el ID. Coloque los archivos CSV dentro de la carpeta de sistemas virtuales para incluirlos en la operación de carga de datos. Si no ha seleccionado sistemas virtuales durante la configuración, coloque directamente los archivos de datos en las carpetasIDENTITY,PERMISSIONyTARGETACCOUNT. -
outbox: aprovisionamiento de eventos para cada entidad del sistema orquestado. -
sample: contiene CSV de ejemplo con la cabecera esperada. Se pueden utilizar como referencia para generar datos y colocarlos en la bandeja de entrada para la carga de datos. Estos archivos no deben modificarse. -
schema: contiene la representación JSON del esquema de cada entidad. Esto se puede consultar para comprender detalles como:-
dataType - Atributos obligatorios
- Si un atributo tiene varios valores o no
- Si el atributo es complejo y tiene atributos anidados (dataType será CUSTOM)
- Las
dataTypessoportadas son:- TEXTO
- NUMBER
- DECIMAL_NUMBER
- DATE
- FLAG
- PERSONALIZADO
-
Definir atributos personalizados
Los atributos personalizados están soportados para la entidad IDENTITY. Si desea incluir atributos personalizados en la carga de datos, debe agregarlos en el archivo <ServiceInstanceName>/<OrchestratedSystemName>/schema/IDENTITY.json.
- empezar por un carácter: A-Z o a-z
- Solo contienen caracteres o números: A-Z o a-z o 0-9
- Para el atributo de tipo DATE, solo se admite un valor largo
- Los atributos personalizados solo se pueden agregar, no se pueden suprimir
- No se puede agregar un atributo personalizado de tipo CUSTOM
Una vez que haya agregado atributos personalizados en el archivo IDENTITY.json, deberá incluirlos en Oracle Access Governance, como se describe en Recuperación de los últimos atributos personalizados. Una vez que se haya completado, el CSV de muestra se actualizará con los atributos personalizados recién agregados. Actualice los archivos de datos en inbox para incluir los atributos personalizados en la siguiente carga de datos.
Ejecutar carga de datos
La carga de datos está bajo demanda. Siempre ejecute la carga de datos después de haber definido atributos personalizados o de haber agregado los archivos de datos CSV relevantes a la carpeta inbox. Cada vez que se ejecuta una carga de datos es una carga de datos completa, no hay carga incremental. La codificación UTF-8-BOM no está soportada.
Si hay algún tipo de fallo (registro único o fallo de archivo completo), la operación de carga de datos se marcará como fallida. Los archivos que se han procesado correctamente permanecerán en inbox mientras que los archivos con fallos se moverán a la carpeta failed. Corrija el problema de los datos y vuelva a colocar los archivos en la carpeta inbox.
Los problemas de integridad de datos, como la asignación de un permiso a una cuenta que falta en el CSV, también pueden provocar el fallo de la operación de carga de datos. Sin embargo, en tales casos, los archivos CSV no se mueven a la carpeta failed. Los archivos se mueven a la carpeta failed solo cuando hay problemas para leer los datos en sí, como la falta de datos obligatorios.
Extensión de esquema - Adición de atributos de cuenta personalizados
Puede configurar atributos de cuenta para el sistema orquestado de archivo plano, además de los atributos de cuenta por defecto soportados listos para usar. Los detalles de los atributos de cuenta y cómo se gestionan se pueden encontrar en Atributos de cuenta y Configurar atributos de cuenta.
Extensión de esquema - Ejemplo de atributo simple
Para demostrar cómo agregar un atributo de cuenta simple, veamos el ejemplo de cómo agregar un atributo de número de teléfono a su esquema de archivo plano.
- Nombre Común
- displayName
- correo electrónico
- firstName
- lastName
- middleName
- __NAME__
- permisos
- __ACTIVAR__
- 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
}
]
- Cree un atributo proporcionado por el sistema, phoneNumber, y seleccione las opciones que incluyen los datos de entrada y salida, y soporte varios valores.
- Agregue el nuevo atributo a TARGETACCOUNT.csv y 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 } ] - Disparar una carga de datos completa desde la consola de Oracle Access Governance. El nuevo atributo personalizado se debe cargar y está visible en el explorador de Enterprise Wide.
Extensión de esquema - Ejemplo de atributo complejo
Para demostrar cómo agregar un atributo de cuenta complejo, veamos el ejemplo de cómo agregar otro atributo de detalles de contacto al esquema de archivo plano.
- Nombre Común
- displayName
- correo electrónico
- firstName
- lastName
- middleName
- __NAME__
- permisos
- __ACTIVAR__
- 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
}
]
- Cree un atributo proporcionado por el sistema, otherContactDetails, con los siguientes atributos secundarios:
- contactDetailsId
- faxNumber
- website
- Agregue el nuevo atributo a TARGETACCOUNT.csv y 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 } ] } ] - Disparar una carga de datos completa desde la consola de Oracle Access Governance. El nuevo atributo personalizado se debe cargar y está visible en el explorador de Enterprise Wide.
Soporte de afiliaciones con extensión de esquema de identidad - Adición de atributos de identidad complejos personalizados
Puede configurar atributos de identidad para el sistema orquestado de archivo plano además de los atributos de identidad por defecto. Para obtener más información sobre las afiliaciones, consulte Gestión de personas de identidad con afiliaciones.
En el día 0, para IDENTITY.csv, todas las entidades configuradas desde Object Storage incluyen los atributos simples. Para el día N, puede ampliar el esquema existente y agregar un atributo simple adicional.
Extensión de esquema - Ejemplo de atributo complejo
Incluya un atributo personalizado, que es un atributo de tipo de objeto que contiene uno o más subatributos, y necesitará modificaciones adicionales en el esquema de identidad. Para demostrar cómo agregar un atributo de identidad complejo, veamos el ejemplo de cómo agregar un atributo de dirección al esquema de archivo plano.
Supongamos que tiene una configuración Day 0 del sistema orquestado de archivo plano que tiene los siguientes atributos por defecto:
__UID__, __NAME__,firstName,lastName,middleName,displayName,title,__ENABLE__,email,empNo,employeeType.... other columns
IDENTITY.json contiene lo siguiente:[
{
"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 agregar un atributo complejo personalizado:
- Amplíe el esquema en el archivo 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 } ] } - Después de realizar los cambios anteriores en IDENTITY.json,
- Ejecute la operación de detección de esquemas. Consulte Recopilación de atributos personalizados.
- En la página Atributos de identidad, edite el atributo para actualizar el indicador Incluir en detalles de identidad. Consulte Gestión de atributos de identidad global. Se muestra el nuevo esquema de identidad.
- Confirme las cabeceras CSV de IDENTITY.csv
__UID__,__NAME__,firstName,lastName,.... other columns .....,userAddresses.addressId,userAddresses.postalCode,userAddresses.addressTwo,userAddresses.landmark,userAddresses.city,userAddresses.houseNo,userAddresses.addressOneLos atributos simples aparecen como columnas separadas por comas en el encabezado CSV. Los atributos complejos personalizados utilizan una estructura plana: cada subatributo se incluye en la cabecera con su atributo principal, separado por la notación de punto (.).
Entrada de valor único para atributo personalizado complejo
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
- Asegúrese de incluir las cabeceras de columna correctas.
- Para campos vacíos (como
addressTwo), incluya un valor en blanco entre comas.
[
{
"addressId": "101",
"postalCode": "200200",
"addressTwo": null,
"landmark": "Near St. Thomas Church",
"city": "Boston",
"houseNo": "23/78",
"addressOne": "The Galaxy Garden"
}
]
Entrada de varios valores para atributo personalizado complejo
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
- Si faltan datos, deje el valor entre delimitadores en blanco; para la primera dirección,
addressTwoestá vacío) - Los valores de cada atributo se corresponden por posición: el primer valor de cada atributo forma la primera dirección, el segundo valor forma la segunda dirección, etc.
[
{
"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"
}
]