Integrazione con file di testo

Stabilire una connessione tra Flat File e Oracle Access Governance come origine affidabile e come sistema gestito. A tale scopo, utilizzare la funzionalità Sistemi orchestrati disponibile nella console di Oracle Access Governance.

Requisiti indispensabili

Prima di installare e configurare un sistema orchestrato con file sequenziali, è necessario considerare i prerequisiti e i task riportati di seguito.

Componenti certificati

Il sistema deve essere il seguente:

  • File sequenziale CSV creato nello storage degli oggetti Oracle Cloud Infrastructure (OCI) nella tenancy

Modalità supportate

Il sistema orchestrato Flat File supporta le seguenti modalità:
  • Origine autorevole
  • Sistema gestito

Operazioni supportate

Il sistema orchestrato Flat File supporta le operazioni riportate di seguito.
  • Creare l'account
  • Elimina account
  • Aggiungi abilitazione
  • Rimuovi abilita

Creare un bucket nel servizio di storage degli oggetti OCI per le operazioni del sistema orchestrato con file sequenziali

Per caricare un file sequenziale in Oracle Access Governance, è necessario posizionare i file di dati in un bucket creato utilizzando il servizio OCI Object Storage. Questo bucket può essere creato in qualsiasi compartimento della tenancy OCI. Per informazioni dettagliate sullo storage degli oggetti OCI, vedere Gestione dei bucket.

Per integrare Oracle Access Governance con il file sequenziale, seguire le istruzioni specificate in Impostazioni di integrazione e copiare i criteri esatti nel compartimento radice della tenancy come visualizzato nella console. Per informazioni dettagliate sull'applicazione dei criteri, vedere Creazione di un criterio.

Configura

Configurare una connessione con file sequenziale immettendo i dettagli di connessione.

Passa alla pagina Sistemi orchestrati

Passare alla pagina Sistemi orchestrati di Oracle Access Governance Console, effettuando le operazioni riportate di seguito.
  1. Dall'icona Menu di navigazione del menu di navigazione di Oracle Access Governance selezionare Amministrazione servizi → Sistemi orchestrati.
  2. Selezionare il pulsante Aggiungi un sistema orchestrato per avviare il workflow.

Seleziona sistema

Nel passo Seleziona sistema del flusso di lavoro, è possibile specificare il tipo di sistema da inserire.

  1. Selezionare File sequenziale.
  2. Selezionare Next.

Immettere i dettagli

Nel passo Aggiungi dettagli del flusso di lavoro, immettere i dettagli del sistema orchestrato.
  1. Immettere il nome del sistema a cui si desidera connettersi nel campo Nome.
  2. Immettere una descrizione nel campo Descrizione per il sistema.
  3. Decidere se il sistema orchestrato è un'origine affidabile e se Oracle Access Governance può gestire le autorizzazioni impostando le caselle di controllo riportate di seguito.
    • Questa è l'origine affidabile per le identità personali

      Selezionare una delle seguenti opzioni:

      • Origine delle identificative e dei relativi attributi: il sistema funge da identità di origine e attributi associati. Le nuove identità vengono create con questa opzione.
      • Solo origine degli attributi di identità: il sistema acquisisce ulteriori dettagli sugli attributi di identità e li applica alle identità esistenti. Questa opzione non include o crea nuovi record di identità.
    • Desidero gestire le autorizzazioni per questo sistema
    Il valore predefinito in ogni caso è Non selezionato.
  4. Selezionare Next.

Aggiungi proprietari

È possibile associare la proprietà delle risorse aggiungendo proprietari principali e aggiuntivi. Il servizio self-service consente ai proprietari di gestire (leggere, aggiornare o eliminare) le risorse di cui sono proprietari. Per impostazione predefinita, l'autore della risorsa viene designato come proprietario della risorsa. È possibile assegnare un proprietario principale e fino a 20 proprietari aggiuntivi per le risorse.
Nota

Quando si imposta il primo sistema orchestrato per l'istanza del servizio, è possibile assegnare i proprietari solo dopo aver abilitato le identità dalla sezione Gestisci identità.
Per aggiungere proprietari:
  1. Selezionare un utente attivo di Oracle Access Governance come proprietario principale nel campo Chi è il proprietario principale?.
  2. Selezionare uno o più proprietari aggiuntivi nell'elenco Chi altro lo possiede?. È possibile aggiungere fino a 20 proprietari aggiuntivi per la risorsa.
È possibile visualizzare il proprietario principale nell'elenco. Tutti i proprietari possono visualizzare e gestire le risorse di cui sono proprietari.

Impostazioni account

Nel passo Impostazioni account del workflow, immettere la modalità di gestione degli account da parte di Oracle Access Governance quando il sistema è configurato come sistema gestito.
  1. Quando viene richiesta un'autorizzazione e l'account non esiste già, selezionare questa opzione per creare nuovi account. Questa opzione è selezionata per impostazione predefinita. Quando questa opzione è selezionata, Oracle Access Governance crea un account se non ne esiste uno quando viene richiesta un'autorizzazione. Se si deseleziona questa opzione, viene eseguito il provisioning delle autorizzazioni solo per gli account esistenti nel sistema orchestrato. Se non esiste alcun account, l'operazione di provisioning non riesce.
  2. Selezionare i destinatari dei messaggi di posta elettronica di notifica quando viene creato un account. Il destinatario predefinito è Utente. Se non viene selezionato alcun destinatario, le notifiche non vengono inviate quando vengono creati gli account.
    • Utente
    • Responsabile utenti
  3. Configura account esistenti
    Nota

    È possibile impostare queste configurazioni solo se consentito dall'amministratore di sistema. Quando le impostazioni di cessazione dell'account globale sono abilitate, gli amministratori dell'applicazione non possono gestire le impostazioni di cessazione dell'account a livello di sistema orchestrato.
    1. Selezionare le azioni da eseguire con i conti all'inizio della cessazione anticipata: scegliere l'azione da eseguire all'inizio di una cessazione anticipata. Ciò si verifica quando è necessario revocare gli accessi di identità prima della data di cessazione ufficiale.
      • Elimina: elimina tutti gli account e le autorizzazioni gestiti da Oracle Access Governance.
        Nota

        Se un sistema orchestrato specifico non supporta l'azione, non viene eseguita alcuna azione.
      • Disabilita: disabilita tutti gli account e disabilita le autorizzazioni gestite da Oracle Access Governance.
        • Eliminare le autorizzazioni per gli account disabilitati: per garantire zero accessi residui, selezionare questa opzione per eliminare le autorizzazioni assegnate direttamente e le autorizzazioni concesse dai criteri durante la disabilitazione dell'account.
      • Nessuna azione: non viene eseguita alcuna azione quando un'identità viene contrassegnata per l'interruzione anticipata da Oracle Access Governance.
    2. Selezionare le azioni da eseguire con i conti alla data di cessazione: selezionare l'azione da eseguire durante la cessazione ufficiale. Ciò si verifica quando è necessario revocare gli accessi di identità alla data di cessazione ufficiale.
      • Elimina: elimina tutti gli account e le autorizzazioni gestiti da Oracle Access Governance.
        Nota

        Se un sistema orchestrato specifico non supporta l'azione Elimina, non viene eseguita alcuna azione.
      • Disabilita: disabilita tutti gli account e disabilita le autorizzazioni gestite da Oracle Access Governance.
        • Eliminare le autorizzazioni per gli account disabilitati: per garantire zero accessi residui, selezionare questa opzione per eliminare le autorizzazioni assegnate direttamente e le autorizzazioni concesse dai criteri durante la disabilitazione dell'account.
        Nota

        Se un sistema orchestrato specifico non supporta l'azione Disabilita, l'account viene eliminato.
      • Nessuna azione: Oracle Access Governance non esegue alcuna azione sugli account e sulle autorizzazioni.
  4. Quando un'identità lascia l'azienda, è necessario rimuovere l'accesso ai propri account.
    Nota

    È possibile impostare queste configurazioni solo se consentito dall'amministratore di sistema. Quando le impostazioni di cessazione dell'account globale sono abilitate, gli amministratori dell'applicazione non possono gestire le impostazioni di cessazione dell'account a livello di sistema orchestrato.

    Selezionare una delle azioni seguenti per l'account:

    • Elimina: consente di eliminare tutti gli account e le autorizzazioni gestiti da Oracle Access Governance.
    • Disabilita: disabilita tutti gli account e contrassegna le autorizzazioni come inattive.
      • Eliminare le autorizzazioni per gli account disabilitati: eliminare le autorizzazioni assegnate direttamente e concesse dai criteri durante la disabilitazione dell'account per garantire zero accessi residui.
    • Nessuna azione: non eseguire alcuna azione quando un'identità lascia l'organizzazione.
    Nota

    Queste azioni sono disponibili solo se supportate dal tipo di sistema orchestrato. Ad esempio, se Elimina non è supportato, verranno visualizzate solo le opzioni Disabilita e Nessuna azione.
  5. Quando vengono rimosse tutte le autorizzazioni per un account, ad esempio quando un'identità si sposta tra i reparti, potrebbe essere necessario decidere cosa fare con l'account. Selezionare una delle seguenti azioni, se supportata dal tipo di sistema orchestrato:
    • Elimina
    • Disabilita
    • Nessuna azione
  6. Gestisci account non creati da Access Governance: selezionare questa opzione per gestire gli account creati direttamente nel sistema orchestrato. Ciò consente di riconciliare i conti esistenti e di gestirli da Oracle Access Governance.
Nota

Se non si configura il sistema come sistema gestito, questo passo del workflow verrà visualizzato ma non è abilitato. In questo caso si passa direttamente al passo Impostazioni di integrazione del workflow.
Nota

Se il sistema orchestrato richiede la ricerca automatica dinamica degli schemi, come per le integrazioni delle tabelle applicazioni REST e di database generiche, è possibile impostare solo la destinazione e-mail di notifica (Utente, Usermanager) durante la creazione del sistema orchestrato. Impossibile impostare le regole di disabilitazione/eliminazione per movers e leavers. A tale scopo, è necessario creare il sistema orchestrato, quindi aggiornare le impostazioni dell'account come descritto in Configura impostazioni account di sistema orchestrato.

Impostazioni di integrazione

Nel passo Impostazioni di integrazione del workflow, immettere i dettagli di configurazione necessari per la connessione al file sequenziale.

Campo Descrizione
Qual è la tenancy OCI del bucket di storage degli oggetti? Aggiungere l'OCID tenancy per il bucket di storage degli oggetti contenente i file sequenziali che si desidera integrare.
Qual è il codice dell'area di origine della tenancy OCI? Immettere il codice dell'area di origine della tenancy. Ad esempio, us-ashburn-1. I dettagli dei codici area sono disponibili nella documentazione OCI relativa a aree e domini di disponibilità.
Qual è lo spazio di nomi per il bucket? Immettere lo spazio di nomi bucket della tenancy
Immettere il nome del bucket in cui è memorizzato un file sequenziale nello storage degli oggetto OCI Immettere il nome del bucket in cui è memorizzato un file sequenziale nello storage degli elementi OCI
Codifica Informazioni di codifica. L'impostazione predefinita è UTF-8
Delimitatore di campi Immettere il carattere delimitatore di campo usato nel file sequenziale. L'impostazione predefinita è ,.
Delimitatore campi secondari Immettere il carattere delimitatore di campo secondario. Il valore predefinito è #.
Delimitatore valore multiplo Immettere il carattere delimitatore di valori multipli usato nel file sequenziale. L'impostazione predefinita è ;.
Qualificatore testo Immettere il carattere usato nel file sequenziale con funzione di qualificatore di testo. Il valore predefinito è ".
Formato data Immettere il formato dati Java in cui i campi di tipo data sono inclusi nel file sequenziali, ad esempio dd/MM/yyyy. Se non viene specificato alcun formato data, si suppone che il campo data sia di tipo dati Lungo.
  1. Copiare i criteri esatti nel compartimento root come visualizzato nella console. Per informazioni dettagliate sull'applicazione dei criteri, vedere Creazione di un criterio.
    Nota

    I criteri richiesti variano a seconda di dove sono ospitati lo storage degli oggetti e l'istanza di Oracle Access Governance (ad esempio, nella stessa tenancy rispetto a tenancy diverse).
  2. Dopo aver applicato i criteri, selezionare Test integrazione per controllare la connessione. In caso di errori o messaggi, rivedere la configurazione.
  3. Selezionare Aggiungi per creare il sistema orchestrato.

Termina

Infine, se hai abilitato i sistemi virtuali, devi prima definire e caricare il file CSV dei sottosistemi e quindi attivare il sistema orchestrato. Selezionare Fine.

Se i sistemi virtuali sono disabilitati, è possibile attivare il sistema orchestrato o salvarlo solo come bozza.

Carica il file CSV

Se sono stati abilitati i sistemi virtuali, caricare un file CSV con ID e Nome per i sistemi. È possibile aggiungere fino a 100 sistemi virtuali.

Ad esempio:

ID Nome
virtual_ad_123 Alfa
virtual_ad_456 Beta
virtual_ad_789 Gamma
  • Il nome del sistema virtuale non deve contenere i seguenti caratteri speciali `~!@#$%^&*><".
  • Non sono consentiti caratteri speciali per l'ID o il nome.
  • Il nome dei sistemi virtuali deve essere univoco in tutti i sistemi orchestrati.
  • Gli ID devono essere univoci per il sistema orchestrato.

Selezionare il pulsante Aggiorna per aggiungere una versione più recente dei sistemi virtuali.

Impossibile eliminare i sistemi virtuali esistenti, ma è possibile aggiornarli. Per gestire i sistemi virtuali dopo la creazione, vedere Gestire i sistemi virtuali.

Esegui migrazione accesso chiave API ad accesso principal risorsa

Se si dispone di sistemi orchestrati esistenti che utilizzano il metodo di accesso Chiave API per connettersi, è necessario eseguire la migrazione al metodo di accesso Principal risorsa non appena possibile.

Per eseguire la migrazione dell'accesso chiave API all'accesso principal risorsa:

  1. Passare alla pagina Impostazioni integrazione seguendo le istruzioni specificate in Impostazioni integrazione.
  2. Nella pagina Impostazioni di integrazione viene visualizzato un avviso di non validità. Selezionare il pulsante Ulteriori informazioni sulla migrazione.
  3. Copiare i criteri esatti nel compartimento radice come visualizzato nella console. Per informazioni dettagliate sull'applicazione dei criteri, vedere Creazione di un criterio.
    Nota

    I criteri richiesti variano a seconda di dove vengono ospitati lo storage degli oggetti e l'istanza di Oracle Access Governance (ad esempio, nella stessa tenancy rispetto a tenancy diverse).

  4. Dopo aver applicato i criteri, selezionare Test integrazione per controllare la connessione. In caso di errori o messaggi, rivedere la configurazione. Impossibile completare la migrazione finché il test non riesce.
  5. Se la connessione è confermata, selezionare il pulsante Esegui migrazione per avviare la migrazione.
  6. Al termine della migrazione, viene visualizzato un messaggio di conferma.

Postconfigurazione

Controlla struttura cartella bucket

Dopo la creazione del sistema orchestrato, è necessario creare la seguente struttura di cartelle nel bucket definito.

<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/
Nota

Le cartelle secondarie, ad esempio virtual-sys-1, virtual-sys-2 e così via, vengono create solo quando i sistemi virtuali sono abilitati.
Queste cartelle soddisfano i seguenti scopi:
  • failed : i file con qualsiasi tipo di problema di dati verranno spostati in questa cartella nella rispettiva cartella di entità, in caso di errore dell'operazione di caricamento dati.
  • inbox: contiene le cartelle IDENTITY, PERMISSION e TARGETACCOUNT, ognuna delle quali contiene le cartelle dei sistemi virtuali, a cui fa riferimento l'ID. Inserire i file CSV nella cartella dei sistemi virtuali da includere nell'operazione di caricamento dati. Se non sono stati selezionati sistemi virtuali durante la configurazione, posizionare direttamente i file di dati nelle cartelle IDENTITY, PERMISSION e TARGETACCOUNT.
  • outbox : esegue il provisioning degli eventi per ogni entità del sistema orchestrato.
  • sample : contiene CSV di esempio con l'intestazione prevista. Questi possono essere utilizzati come riferimento per la generazione di dati e l'inserimento nella posta in arrivo per il caricamento dei dati. Questi file non devono essere modificati.
  • schema : contiene la rappresentazione JSON dello schema di ogni entità. Questo può essere fatto riferimento per comprendere dettagli come:
    • dataType
    • Attributi obbligatori
    • Indica se un attributo è multivalore
    • Se l'attributo è complesso e dispone di attributi nidificati (dataType sarà PERSONALIZZATO)
    • Supportati dataTypes sono:
      • TEXT
      • NUMERO
      • DECIMAL_NUMBER
      • DATE
      • FLAG
      • PERSONALIZZATO

Definisci attributi personalizzati

Gli attributi personalizzati sono supportati per l'entità IDENTITY. Se si desidera includere attributi personalizzati nel caricamento dati, è necessario aggiungerli nel file <ServiceInstanceName>/<OrchestratedSystemName>/schema/IDENTITY.json.

I nomi di attributo personalizzati devono soddisfare i seguenti requisiti:
  • iniziare con un carattere: A-Z o a-z
  • contenere solo caratteri o numeri: A-Z, a-z o 0-9
  • Per l'attributo di tipo DATE, è supportato solo un valore lungo
  • Gli attributi personalizzati possono essere aggiunti solo e non possono essere eliminati
  • Impossibile aggiungere un attributo personalizzato di tipo CUSTOM

Dopo aver aggiunto qualsiasi attributo personalizzato nel file IDENTITY.json, è necessario includerlo in Oracle Access Governance, come descritto in Recupera attributi personalizzati più recenti. Una volta completata questa operazione, il file CSV campione verrà aggiornato con i nuovi attributi personalizzati aggiunti. Aggiornare i file di dati in inbox per includere gli attributi personalizzati nel successivo caricamento dati.

Esegui caricamento dati

Caricamento dati su richiesta. Eseguire sempre il caricamento dati dopo aver definito attributi personalizzati o aver aggiunto i file di dati CSV pertinenti nella cartella inbox. Ogni volta che si esegue un caricamento dati si tratta di un caricamento dati completo, non vi è alcun caricamento incrementale. La codifica UTF-8-BOM non è supportata.

Se si verifica un errore (errore di un singolo record o di un file completo), l'operazione di caricamento dei dati verrà contrassegnata come non riuscita. I file elaborati correttamente rimarranno in inbox mentre i file non riusciti verranno spostati nella cartella failed. Risolvere il problema relativo ai dati e posizionare nuovamente i file nella cartella inbox.

I problemi di integrità dei dati, ad esempio un'autorizzazione assegnata a un account mancante nel file CSV, possono anche causare l'errore dell'operazione di caricamento dati. Tuttavia, in questi casi i file CSV non vengono spostati nella cartella failed. I file vengono spostati nella cartella failed solo quando si verificano problemi durante la lettura dei dati stessi, ad esempio la mancanza di dati obbligatori.

Estensione schema - Aggiunta di attributi account personalizzati

È possibile configurare gli attributi account per il sistema orchestrato Flat File oltre agli attributi account predefiniti supportati immediatamente. I dettagli degli attributi del conto e le relative modalità di gestione sono disponibili in Attributi conto e Configura attributi conto.

Estensione schema - Esempio di attributo semplice

Per illustrare come aggiungere un attributo account semplice, esaminiamo l'esempio di aggiunta di un attributo numero di telefono allo schema del file sequenziale.

Si supponga di disporre di una configurazione Day 0 del sistema orchestrato con file sequenziali con i seguenti attributi per impostazione predefinita:
  • commonName (nome comune)
  • displayName
  • e-mail
  • firstName
  • lastName
  • middleName
  • __NAME__
  • autorizzazioni
  • __ABILITA__
  • titolo
  • __UID__
Di seguito sono riportati alcuni esempi di TARGETACCOUNT.csv.
__NAME__,firstName,lastName,middleName,displayName,commonName,title,__ENABLE__,email,permissions
Di seguito sono riportati alcuni esempi di TARGETACCOUNT.json.
[
    {
        "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
    }
]
Per aggiungere un attributo account personalizzato, phoneNumber, completare i passi descritti in Configura attributi account, ad esempio:
  1. Creare un attributo fornito dal sistema, phoneNumber, selezionare le opzioni che includono i dati in entrata e in uscita e supportare più valori.
  2. Aggiungere il nuovo attributo a TARGETACCOUNT.csv e 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
        }
    ]
  3. Attivare un caricamento dati completo dalla console di Oracle Access Governance. Il nuovo attributo personalizzato deve essere caricato ed è visibile nel browser Enterprise Wide.

Estensione schema - Esempio di attributo complesso

Per illustrare come aggiungere un attributo account complesso, esaminare l'esempio di aggiunta di un altro attributo dei dettagli di contatto allo schema di file sequenziale.

Si supponga di disporre di una configurazione Day 0 del sistema orchestrato con file sequenziali con i seguenti attributi per impostazione predefinita:
  • commonName (nome comune)
  • displayName
  • e-mail
  • firstName
  • lastName
  • middleName
  • __NAME__
  • autorizzazioni
  • __ABILITA__
  • titolo
  • __UID__
Di seguito sono riportati alcuni esempi di TARGETACCOUNT.csv.
__NAME__,firstName,lastName,middleName,displayName,commonName,title,__ENABLE__,email,permissions
Di seguito sono riportati alcuni esempi di TARGETACCOUNT.json.
[
    {
        "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
    }
]
Per aggiungere un attributo account personalizzato, otherContactDetails con , completare i passi descritti in Configura attributi account, ad esempio:
  1. Creare un attributo fornito dal sistema, otherContactDetails, con i seguenti attributi figlio:
    • contactDetailsId
    • faxNumber
    • website
    e selezionare le opzioni per includere i dati in entrata e in uscita e supportare più valori.
  2. Aggiungere il nuovo attributo a TARGETACCOUNT.csv e 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
                }
            ]
        }
    ]
  3. Attivare un caricamento dati completo dalla console di Oracle Access Governance. Il nuovo attributo personalizzato deve essere caricato ed è visibile nel browser Enterprise Wide.

Supporto delle affiliazioni con estensione schema identità - Aggiunta di attributi identità complessi personalizzati

È possibile configurare gli attributi di identità per il sistema orchestrato di file sequenziali oltre agli attributi di identità predefiniti. Per ulteriori informazioni sulle affiliazioni, vedere Gestione delle persone con identità con affiliazioni.

Nel Giorno 0, per IDENTITY.csv, tutte le entità configurate dallo storage degli oggetti includono gli attributi semplici. Per il giorno N, è possibile estendere lo schema esistente e aggiungere un attributo semplice aggiuntivo.

Estensione schema - Esempio di attributo complesso

Includere l'attributo personalizzato, che è un attributo di tipo oggetto contenente uno o più attributi secondari, è necessario apportare ulteriori modifiche allo schema di identità. Per illustrare come aggiungere un attributo di identità complesso, esaminiamo l'esempio di aggiunta di un attributo di indirizzo allo schema del file sequenziale.

Si supponga di disporre di una configurazione Day 0 del sistema orchestrato di file sequenziali con i seguenti attributi per impostazione predefinita:

Di seguito sono riportati alcuni esempi di IDENTITY.csv.
__UID__, __NAME__,firstName,lastName,middleName,displayName,title,__ENABLE__,email,empNo,employeeType.... other columns
Nella cartella Schema, l'esempio IDENTITY.json contiene i seguenti elementi:
[
  {
    "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
  }
]

Per aggiungere un attributo complesso personalizzato:

  1. Estendere lo schema nel file 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
                }
            ]
        }
  2. Dopo aver apportato le modifiche sopra riportate in IDENTITY.json,
  3. Confermare le intestazioni CSV IDENTITY.csv
    __UID__,__NAME__,firstName,lastName,.... other columns
                    .....,userAddresses.addressId,userAddresses.postalCode,userAddresses.addressTwo,userAddresses.landmark,userAddresses.city,userAddresses.houseNo,userAddresses.addressOne

    Gli attributi semplici vengono visualizzati come colonne separate da virgole nell'intestazione CSV. Gli attributi complessi personalizzati utilizzano una struttura piatta: ogni attributo secondario viene incluso nell'intestazione con il relativo attributo padre, separato dalla notazione punto (.).

Inserimento valore singolo per attributo personalizzato complesso

L'input dei dati per un attributo complesso deve essere eseguito nel modo seguente in un CSV.

                                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
  • Assicurarsi di includere le intestazioni di colonna corrette.
  • Per i campi vuoti, ad esempio addressTwo, includere un valore vuoto tra le virgole.
Dati utente risultanti
[
    {
        "addressId": "101",
        "postalCode": "200200",
        "addressTwo": null,
        "landmark": "Near St. Thomas Church",
        "city": "Boston",
        "houseNo": "23/78",
        "addressOne": "The Galaxy Garden"
    }
]

Immissione multivalore per attributo personalizzato complesso

Quando si gestiscono voci con più valori, utilizzare un punto e virgola (;) per separare più valori per ogni attributo secondario. Il CSV seguente mostra la rappresentazione corretta per l'indirizzo multivalore. Ogni riga del file CSV rappresenta un utente con potenzialmente più voci di indirizzo

                            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
  • Per i dati mancanti, lasciare vuoto il valore tra delimitatori, per il primo indirizzo addressTwo è vuoto)
  • I valori di ogni attributo corrispondono per posizione: il primo valore per ogni attributo forma il primo indirizzo, il secondo valore forma il secondo indirizzo e così via.
Dati utente risultanti
[
    {
        "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"
    }
]