Gérer les identités avec des affiliations

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

Présentation des affiliations

Les affiliations permettent aux administrateurs de définir de nouveaux attributs d'affiliation en mettant en correspondance 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 occuper deux emplois distincts (par exemple, infirmier 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 affiliations aident à aplatir 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 associés deviennent faciles à gérer pour le provisionnement et le reporting des systèmes gérés connectés.

Les affiliations fournissent également un mécanisme permettant d'exposer des attributs enfant 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 avec des attributs d'affiliation spécifiques. En outre, 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 de traitement des affiliations multiples

Pour configurer et utiliser des affiliations de haut niveau, procédez comme suit :

Pour un workflow par étapes de configuration des affiliations, reportez-vous à Configuration et gestion des affiliations.

  1. Choisissez le système orchestré pour lequel vous souhaitez définir l'affiliation.
  2. (Facultatif) Créez des attributs d'identité complexes que vous souhaitez prendre en charge.
  3. Ajoutez des détails d'affiliation en indiquant un nom explicite.
  4. Incluez 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. Valider et envoyer les affiliations.
  7. Effectuer un chargement complet des données.
  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 de l'entreprise.

Exemple d'affiliations

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.

Effectuer le 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 :

  • Student : accès à la bibliothèque, courriel de l'élève, inscription au cours
  • Formateur : courriel du professeur, accès au système de notation, ressources du service
Dans le système source, voici à quoi ressemble 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"
  }
]

Etape 1 : Configuration du générateur d'affiliations

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

Etape 2 : ajout d'attributs dans les affiliations

Incluez les attributs suivants dans les deux affiliations :
  • jobType
  • service
  • company
  • fullPartTime
  • emplStatus
  • supervisorUid
  • lastUpdateTimestamp

Etape 2 : Définir un script pour extraire des travaux

Le script ci-dessous extrait les données relatives au travail des attributs personnalisés d'une identité et les met en correspondance avec la variable PrimaryJobAffiliation ou SecondaryJob1Affiliation en fonction du numéro d'enregistrement de l'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.");
Consulter les attributs d'identité des affiliations
Dans le navigateur à l'échelle de l'entreprise, le profil d'identité d'Alex après la mise en correspondance ressemble à :
  • PrimaryJobAffiliation.jobType : Etudiant diplômé
  • PrimaryJobAffiliation.company : Université
  • PrimaryJobAffiliation.supervisorUid: dr_brown
  • SecondaryJobAffiliation.department : Business School
  • SecondaryJobAffiliation.jobType : formateur
  • SecondaryJobAffiliation.company : Université
  • SecondaryJobAffiliation.supervisorUid: prof_wilson

Vous pouvez utiliser 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-fous 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.