Gestione di identità con affiliazioni

Le affiliazioni in Oracle Access Governance consentono a una singola identità di avere più persone all'interno dell'organizzazione, ognuna legata ai propri dati, account e accesso. È costituito da uno o più attributi semplici o complessi riconosciuti dal sistema di origine autorevole.

Panoramica delle affiliazioni

Le affiliazioni consentono agli amministratori di definire nuovi attributi di affiliazione mappando attributi di identità specifici e quindi utilizzando gli script per creare valori derivati dal sistema di origine.

In molte grandi organizzazioni (ad esempio, università, governo), una singola identità (persona) può avere più ruoli o affiliazioni, come essere uno studente e un membro della facoltà, o in possesso di due lavori distinti (ad esempio, infermiere e operatore sanitario domestico). Ogni affiliazione può richiedere conti/accesso diversi e deve essere gestita separatamente.

Le affiliazioni consentono di appiattire e separare dati di attributi complessi basati su array, come jobData, in modo che ogni affiliazione e i relativi attributi diventino facili da gestire per il provisioning e il reporting dei sistemi gestiti connessi.

Le affiliazioni forniscono inoltre un meccanismo per esporre singoli attributi figlio da attributi complessi definendo gli attributi di affiliazione corrispondenti. Tramite le regole di affiliazione, è possibile mappare i valori dall'attributo complesso agli attributi di affiliazione specifici. Inoltre, i flag di utilizzo possono essere aggiornati e gestiti solo in questi attributi di affiliazione.

Si applica a : Peoplesoft, Flat File, DBAT e tutte le origini autorevoli.

Flusso processo affiliazione multipla

Ecco come configurare e utilizzare le affiliazioni ad alto livello:

Per un flusso di lavoro dettagliato per configurare le affiliazioni, vedere Configurazione e gestione delle affiliazioni

  1. Scegliere il sistema orchestrato per il quale si desidera definire l'affiliazione.
  2. (Facoltativo) Creare attributi di identità complessi che si desidera supportare.
  3. Aggiungere i dettagli di affiliazione fornendo un nome significativo.
  4. Includere gli attributi di identità figlio nelle associazioni.
  5. Aggiungere regole utilizzando funzioni, ad esempio user.get, per fornire il valore di origine.
  6. Convalida e sottomette le affiliazioni.
  7. Eseguire il caricamento completo dei dati.
  8. Abilita i flag di identità per le affiliazioni dalla pagina Attributi identità.
  9. Verificare gli attributi di identità nel browser a livello aziendale.

Esempio di affiliazioni

Vediamo un esempio end-to-end del funzionamento delle affiliazioni, utilizzando uno scenario per capire come il sistema elabora le affiliazioni dalla creazione al mapping degli attributi finali.

Eseguire il caricamento completo dei dati per il sistema orchestrato.
Scenario

In una grande università, una persona di nome Alex è entrambe:

  • Uno studente laureato presso il campus di ingegneria
  • Un istruttore part-time nella business school

Alex ha bisogno di diversi tipi di accesso e account per ciascuno di questi ruoli. Ad esempio:

  • Studente: accesso alla libreria, e-mail per studenti, registrazione al corso
  • Istruttore: e-mail della facoltà, accesso al sistema di classificazione, risorse dipartimentali
Nel sistema di origine, ecco come appare jobData di Alex:
"jobData": [
  {
    "employeeRecord": "0",
    "jobType": "Graduate Student",
    "department": "Engineering",
    "company": "University",
    "fullPartTime": "F",
    "emplStatus": "A",
    "supervisorUid": "dr_brown",
    "lastUpdateTimestamp": "2025-06-01T09:00:00Z"
  },
  {
    "employeeRecord": "1",
    "jobType": "Instructor",
    "department": "Business School",
    "company": "University",
    "fullPartTime": "P",
    "emplStatus": "A",
    "supervisorUid": "prof_wilson",
    "lastUpdateTimestamp": "2025-06-05T09:00:00Z"
  }
]

Passo 1: impostazione di Affiliation Builder

Come amministratore, creare due affiliazioni per questo scenario:
  • PrimaryJobAffiliation: filtri dove employeeRecord == '0' (Graduate Student)
  • SecondaryJobAffiliation: filtri in cui employeeRecord == '1' (istruttore)

Passo 2: Aggiungi attributi nelle affiliazioni

Includere i seguenti attributi per entrambe le affiliazioni:
  • jobType
  • dipartimento
  • company
  • fullPartTime
  • emplStatus
  • supervisorUid
  • lastUpdateTimestamp

Passo 2: definizione dello script per l'estrazione dei job

Lo script riportato di seguito recupera i dati relativi ai job dagli attributi personalizzati di un'identità e li mappa nella variabile PrimaryJobAffiliation o SecondaryJob1Affiliation in base al numero di record dipendente.

var jobDataList = user.getCustomAttributes() ? user.getCustomAttributes()['jobData'] : null;

function getJobByRecord(recordNum) {
    if (jobDataList != null) {
        for (var i = 0; i < jobDataList.length; i++) {
            if (jobDataList[i]['employeeRecord'] == recordNum) {
                return jobDataList[i];
            }
        }
    }
    return null;
}

var primaryJob   = getJobByRecord("0"); // Graduate Student
var secondaryJob = getJobByRecord("1"); // Instructor

function mapJobToAffiliation(job, affiliationPrefix) {
    if(job != null){
        return {
            [affiliationPrefix + "jobType"]:      job['jobType'],
            [affiliationPrefix + "department"]:   job['department'],
            [affiliationPrefix + "company"]:      job['company'],
            [affiliationPrefix + "fullPartTime"]: job['fullPartTime'],
            [affiliationPrefix + "emplStatus"]:   job['emplStatus'],
            [affiliationPrefix + "supervisorUid"]: job['supervisorUid'],
            [affiliationPrefix + "lastUpdateTimestamp"]: job['lastUpdateTimestamp']
        };
    }
    return {};
}

var primaryJobAttrs   = mapJobToAffiliation(primaryJob,   "PrimaryJobAffiliation.");
var secondaryJobAttrs = mapJobToAffiliation(secondaryJob, "SecondaryJobAffiliation.");
Visualizzazione degli attributi identità delle affiliazioni
Nel browser a livello aziendale, il profilo di identità di Alex dopo la mappatura, ha l'aspetto seguente:
  • PrimaryJobAffiliation.jobType: studente universitario
  • PrimaryJobAffiliation.company: Università
  • PrimaryJobAffiliation.supervisorUid: dr_brown
  • SecondaryJobAffiliation.department: Business School
  • SecondaryJobAffiliation.jobType: Istruttore
  • SecondaryJobAffiliation.company: Università
  • SecondaryJobAffiliation.supervisorUid: prof_wilson

È possibile utilizzare le Affiliazioni ovunque sia possibile utilizzare gli attributi di identità, ad esempio durante la definizione delle raccolte di identità, delle organizzazioni e dei guardrail di accesso. È inoltre possibile utilizzare questi attributi durante la revisione degli accessi o la modifica delle revisioni degli accessi agli eventi, se abilitata.