Traitement des identités avec des sociétés affiliées

Les affiliations d'Oracle Access Governance permettent à une seule identité d'avoir plusieurs personnes au sein de l'organisation, chacune étant liée à ses propres données, comptes et accès. Il est composé d'un ou de plusieurs attributs simples ou complexes reconnus par le système source faisant autorité.

Aperçu des affiliations

Les sociétés affiliées permettent aux administrateurs de définir de nouveaux attributs d'affiliation en mappant des attributs d'identité spécifiques, puis en utilisant des scripts pour créer des valeurs dérivées à partir du système source.

Dans de nombreuses grandes organisations (par exemple, les universités, le gouvernement), une seule identité (personne) peut avoir plusieurs rôles ou affiliations, comme être un étudiant et un membre du corps professoral, ou avoir deux emplois distincts (par exemple, infirmière et travailleur de la santé à domicile). Chaque affiliation peut nécessiter des comptes/accès différents et doit être gérée séparément.

Les sociétés affiliées aident à aplanir et à séparer les données d'attribut complexes basées sur un tableau, telles que jobData, de sorte que chaque affiliation et ses attributs connexes deviennent faciles à gérer pour le provisionnement et la production de rapports sur les systèmes gérés connectés.

Les affiliations fournissent également un mécanisme permettant d'exposer des attributs enfants individuels à partir d'attributs complexes en définissant les attributs d'affiliation correspondants. Grâce aux règles d'affiliation, vous pouvez mapper des valeurs de l'attribut complexe à des attributs d'affiliation spécifiques. De plus, les indicateurs d'utilisation ne peuvent être mis à jour et gérés que sur ces attributs d'affiliation.

S'applique à : Peoplesoft, Fichier plat, DBAT et toutes les sources faisant autorité.

Flux du processus d'affiliation multiple

Voici comment configurer et utiliser des affiliations de haut niveau :

Pour un flux de travail pas à pas pour configurer les affiliations, voir Configurer et gérer les affiliations.

  1. Sélectionnez le système orchestré pour lequel vous voulez définir une affiliation.
  2. (Facultatif) Créez des attributs d'identité complexes que vous souhaitez prendre en charge.
  3. Ajoutez des détails d'affiliation en fournissant un nom significatif.
  4. Inclure les attributs d'identité enfant dans les affiliations.
  5. Ajoutez des règles à l'aide de fonctions, telles que user.get pour fournir la valeur source.
  6. Sert à valider et à soumettre des affiliations.
  7. Effectuez un chargement de données complet.
  8. Activez les indicateurs d'identité pour les affiliations à partir de la page Attributs d'identité.
  9. Vérifiez les attributs d'identité dans le navigateur à l'échelle de l'entreprise.

Exemple d'affiliation

Voyons un exemple de bout en bout du fonctionnement des affiliations, en utilisant un scénario pour comprendre comment le système traite les affiliations de la création au mappage d'attributs final.

Effectuez un chargement complet des données pour le système orchestré.
Scénario

Dans une grande université, une personne nommée Alex est à la fois :

  • Un étudiant diplômé au campus d'ingénierie
  • Un instructeur à temps partiel dans l'école de commerce

Alex a besoin de différents types d'accès et de comptes pour chacun de ces rôles. Par exemple :

  • Étudiant : Accès à la bibliothèque, courriel de l'étudiant, inscription au cours
  • Formateur : Courriel du corps professoral, accès au système de notation, ressources du service
Dans le système source, voici à quoi ressemble le jobData d'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"
  }
]

Étape 1 : Configuration du générateur d'affiliation

En tant qu'administrateur, créez deux affiliations pour ce scénario :
  • PrimaryJobAffiliation : filtre où employeeRecord == '0' (étudiant diplômé)
  • SecondaryJobAffiliation : filtre où employeeRecord == '1' (Formateur)

Étape 2 : Ajouter des attributs dans les affiliations

Incluez les attributs suivants pour les deux affiliations :
  • jobType
  • service
  • entreprise
  • fullPartTime
  • emplStatus
  • supervisorUid
  • lastUpdateTimestamp

Étape 2 : Définir le script pour l'extraction des tâches

Le script ci-dessous extrait les données relatives à l'emploi des attributs personnalisés d'une identité et les mappe à la variable PrimaryJobAffiliation ou SecondaryJob1Affiliation en fonction du numéro de dossier d'employé.

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.");
Affichage des attributs d'identité des affiliations
Dans le navigateur à l'échelle de l'entreprise, le profil d'identité d'Alex après le mappage se présente comme suit :
  • PrimaryJobAffiliation.jobType : Étudiant diplômé
  • PrimaryJobAffiliation.company : Université
  • PrimaryJobAffiliation.supervisorUid: dr_brown
  • SecondaryJobAffiliation.department : École de commerce
  • SecondaryJobAffiliation.jobType : Formateur
  • SecondaryJobAffiliation.company : Université
  • SecondaryJobAffiliation.supervisorUid: prof_wilson

Vous pouvez utiliser des affiliations partout où des attributs d'identité peuvent être utilisés, par exemple lors de la définition de collections d'identités, d'organisations ou de garde-corps d'accès. Vous pouvez également utiliser ces attributs lors de la vérification des accès ou de la modification des révisions d'accès aux événements, si cette option est activée.