Intégrer à un fichier plat

Préalables

Avant d'installer et de configurer un système orchestré de fichiers plats, vous devez tenir compte des préalables et des tâches suivants.

Composants certifiés

Le système doit être le suivant :

  • Fichier plat CSV situé dans le service de stockage d'objets pour Oracle Cloud Infrastructure (OCI) de votre location

Modes pris en charge

Le système orchestré de fichiers plats prend en charge les modes suivants :
  • Source faisant autorité
  • Système géré

Opérations prises en charge

Le système orchestré de fichiers plats prend en charge les opérations suivantes :
  • Créer un compte
  • Supprimer un compte
  • Ajouter un droit
  • Supprimer les droits

Créer un seau dans le service de stockage d'objets OCI pour les opérations de système avec orchestration de fichiers plats

Pour charger un fichier plat dans Oracle Access Governance, vous devez placer les fichiers de données dans un seau créé à l'aide du service de stockage d'objets OCI. Ce seau peut être créé dans n'importe quel compartiment de votre location OCI. Pour plus de détails sur le service de stockage d'objets pour OCI, voir Gestion des seaux.

Pour accéder au seau, vous devez créer un utilisateur du service ayant un accès en lecture, en écriture et en suppression (privilèges de gestion) au seau. Suivez ce processus pour créer cet utilisateur de service :

  • Créer un compartiment, gouvernance d'accès/
  • Créez un utilisateur d'identité local, agcs_user dans n'importe quel domaine de votre location.
  • Créez un groupe d'identités, agcs_flatfilegroup dans n'importe quel domaine de votre location.
  • Affectez l'utilisateur d'identité agcs_user au groupe d'identités agcs_flatfilegroup.
  • Créez une politique, agcs_flatfilepolicy, à l'aide de l'énoncé suivant :
    allow group <groupname> to manage objects in compartment <compartmentname>
        where target.bucket.name = 'bucketname'

    Par exemple :

    allow group agcs_flatfilegroup to manage objects in compartment accessgovernance
        where target.bucket.name = 'bucket-20231130-1143'

Configurer

Vous pouvez établir une connexion entre Flat File et Oracle Access Governance en entrant les détails de connexion. Pour ce faire, utilisez la fonctionnalité Systèmes orchestrés disponible dans la console Oracle Access Governance.

Naviguer jusqu'à la page Systèmes orchestrés

Accédez à la page Orchestrated Systems de la console Oracle Access Governance en procédant comme suit :
  1. Dans l'icône Menu de navigation d'Oracle Access Governance Menu de navigation, sélectionnez Administration du service → Systèmes orchestrés.
  2. Sélectionnez le bouton Ajouter un système orchestré pour démarrer le flux de travail.

Sélectionner un système

À l'étape Sélectionner un système du flux de travail, vous pouvez spécifier le type de système à intégrer.

  1. Sélectionnez Fichier plat.
  2. Cliquez sur Next (Suivant).

Entrer les détails

À l'étape Ajouter des détails du flux de travail, entrez les détails du système orchestré :
  1. Dans le champ Nom, entrez le nom du système auquel vous souhaitez vous connecter.
  2. Entrez une description du système dans le champ Description.
  3. Déterminez si ce système orchestré est une source faisant autorité et si Oracle Access Governance peut gérer les autorisations en cochant les cases suivantes.
    • Il s'agit de la source faisant autorité pour mes identités

      Sélectionnez une des options suivantes :

      • Source des identités et de leurs attributs : Le système agit en tant qu'identités sources et attributs associés. Cette option permet de créer de nouvelles identités.
      • Source des attributs d'identité uniquement : Le système ingère des détails supplémentaires sur les attributs d'identité et s'applique aux identités existantes. Cette option n'ingère pas ou ne crée pas de nouveaux enregistrements d'identité.
    • Je veux gérer les autorisations pour ce système
    La valeur par défaut de chaque cas est Non sélectionné.
  4. Sélectionnez Suivant.

Ajouter des responsables

Vous pouvez associer la responsabilité de la ressource en ajoutant des responsables principaux et supplémentaires. Ces responsables peuvent ainsi gérer (lire, mettre à jour ou supprimer) les ressources dont ils sont responsables. Par défaut, le créateur de la ressource est désigné comme responsable de la ressource. Vous pouvez affecter un responsable principal et jusqu'à 20 responsables supplémentaires aux ressources.
Note

Lors de la configuration du premier système orchestré pour votre instance de service, vous ne pouvez affecter des responsables qu'après avoir activé les identités à partir de la section Gérer les identités.
Pour ajouter des responsables :
  1. Sélectionnez un utilisateur actif d'Oracle Access Governance en tant que responsable principal dans le champ Qui est le responsable principal?.
  2. Sélectionnez un ou plusieurs responsables supplémentaires dans la liste Qui en est le responsable?. Vous pouvez ajouter jusqu'à 20 responsables supplémentaires pour la ressource.
Vous pouvez voir le responsable principal dans la liste. Tous les responsables peuvent voir et gérer les ressources dont ils sont responsables.

Paramètres du compte

À l'étape Paramètres du compte du flux de travail, entrez la façon dont Oracle Access Governance doit gérer les comptes lorsque le système est configuré en tant que système géré :
  1. Lorsqu'une autorisation est demandée et que le compte n'existe pas déjà, sélectionnez cette option pour créer de nouveaux comptes. Cette option est sélectionnée par défaut. Lorsque cette option est sélectionnée, Oracle Access Governance crée un compte s'il n'en existe pas lorsqu'une autorisation est demandée. Si vous désélectionnez cette option, les autorisations ne sont provisionnées que pour les comptes existants dans le système orchestré. Si aucun compte n'existe, l'opération de provisionnement échoue.
  2. Sélectionnez les destinataires des courriels d'avis lorsqu'un compte est créé. Le destinataire par défaut est Utilisateur. Si aucun destinataire n'est sélectionné, les avis ne sont pas envoyés lors de la création des comptes.
    • Utilisateur
    • Gestionnaire d'utilisateurs
  3. Configurer les comptes existants
    Note

    Vous ne pouvez définir ces configurations que si l'administrateur de système l'autorise. Lorsque les paramètres globaux d'arrêt de compte sont activés, les administrateurs d'application ne peuvent pas gérer les paramètres d'arrêt de compte au niveau du système orchestré.
    1. Sélectionner les actions à effectuer avec les comptes au début d'une cessation d'emploi anticipée : Sélectionnez l'action à effectuer au début d'une cessation d'emploi anticipée. Cela se produit lorsque vous devez révoquer les accès d'identité avant la date de cessation officielle.
      • Supprimer : Supprime tous les comptes et autorisations gérés par Oracle Access Governance.
        Note

        Si un système orchestré spécifique ne prend pas en charge cette action, aucune action n'est effectuée.
      • Désactiver : Désactive tous les comptes et désactive les autorisations gérées par Oracle Access Governance.
        • Supprimer les autorisations pour les comptes désactivés : Pour garantir l'absence d'accès résiduel, sélectionnez cette option pour supprimer les autorisations affectées directement et les autorisations accordées par une politique lors de la désactivation du compte.
      • Aucune action : Aucune action n'est effectuée lorsqu'une identité est marquée pour résiliation anticipée par Oracle Access Governance.
    2. Sélectionner les actions à effectuer avec les comptes à la date de cessation : Sélectionnez l'action à effectuer lors de la cessation officielle. Cela se produit lorsque vous devez révoquer les accès d'identité à la date de cessation officielle.
      • Supprimer : Supprime tous les comptes et autorisations gérés par Oracle Access Governance.
        Note

        Si un système orchestré spécifique ne prend pas en charge l'action Supprimer, aucune action n'est effectuée.
      • Désactiver : Désactive tous les comptes et désactive les autorisations gérées par Oracle Access Governance.
        • Supprimer les autorisations pour les comptes désactivés : Pour garantir l'absence d'accès résiduel, sélectionnez cette option pour supprimer les autorisations affectées directement et les autorisations accordées par une politique lors de la désactivation du compte.
        Note

        Si un système orchestré spécifique ne prend pas en charge l'action Désactiver, le compte est supprimé.
      • Aucune action : Aucune action n'est effectuée sur les comptes et les autorisations par Oracle Access Governance.
  4. Lorsqu'une identité quitte votre entreprise, vous devez supprimer l'accès à ses comptes.
    Note

    Vous ne pouvez définir ces configurations que si l'administrateur de système l'autorise. Lorsque les paramètres globaux d'arrêt de compte sont activés, les administrateurs d'application ne peuvent pas gérer les paramètres d'arrêt de compte au niveau du système orchestré.

    Sélectionnez l'une des actions suivantes pour le compte :

    • Supprimer : Supprimez tous les comptes et autorisations gérés par Oracle Access Governance.
    • Désactiver : Désactivez tous les comptes et marquez les autorisations comme inactives.
      • Supprimer les autorisations pour les comptes désactivés : Supprimez les autorisations directement affectées et accordées par une politique lors de la désactivation du compte afin de garantir l'absence d'accès résiduel.
    • Aucune action : Ne rien faire lorsqu'une identité quitte l'organisation.
    Note

    Ces actions ne sont disponibles que si elles sont prises en charge par le type de système orchestré. Par exemple, si Supprimer n'est pas pris en charge, vous ne verrez que les options Désactiver et Aucune action.
  5. Lorsque toutes les autorisations d'un compte sont supprimées, par exemple lorsqu'une identité se déplace entre les services, vous devrez peut-être décider quoi faire avec le compte. Sélectionnez l'une des actions suivantes, si elle est prise en charge par le type de système orchestré :
    • Suppression
    • Désactiver
    • Aucune action
  6. Gérer les comptes qui ne sont pas créés par la gouvernance des accès : Sélectionnez cette option pour gérer les comptes qui sont créés directement dans le système orchestré. Vous pouvez ainsi rapprocher des comptes existants et les gérer à partir d'Oracle Access Governance.
Note

Si vous ne configurez pas le système en tant que système géré, cette étape du flux de travail s'affiche mais n'est pas activée. Dans ce cas, vous passez directement à l'étape Paramètres d'intégration du flux de travail.
Note

Si votre système orchestré nécessite une détection de schéma dynamique, comme pour les intégrations REST générique et des tables d'application de base de données, seule la destination de courriel d'avis peut être définie (utilisateur, utilisateur) lors de la création du système orchestré. Vous ne pouvez pas définir les règles de désactivation/suppression pour les déménageurs et les départs. Pour ce faire, vous devez créer le système orchestré, puis mettre à jour les paramètres du compte comme décrit sous Configurer les paramètres du compte de système orchestré.

Paramètres d'intégration

À l'étape Paramètres d'intégration du flux de travail, entrez les détails de configuration requis pour permettre à Oracle Access Governance de se connecter au fichier plat.

  1. Dans le champ Quel est l'OCID de l'utilisateur OCI?, ajoutez l'OCID de l'utilisateur OCI responsable du seau contenant les fichiers plats à intégrer.
  2. Dans Quelle est l'empreinte numérique de la clé d'API de l'utilisateur OCI?. Entrez l'empreinte numérique de la clé d'API de l'utilisateur OCU. Consultez Clés et OCID requis dans la documentation OCI pour plus de détails sur la façon d'obtenir la valeur pour cela.
  3. Entrez la clé d'API privée de l'utilisateur, dans le format PEM, dans le champ Quelle est la clé d'API privée de l'utilisateur OCI dans le format PEM? Consultez Clés et OCID requis dans la documentation OCI pour plus de détails sur la façon d'obtenir la valeur pour cela.
  4. Entrez la location dans le champ Quelle est la location OCI de l'utilisateur OCI?
  5. Entrez le code de la région principale de la location dans le champ Quel est le code de la région principale de la location OCI? Les détails des codes de région se trouvent dans la documentation OCI sur les régions et domaines de disponibilité.
  6. Entrez l'espace de noms de seau de la location dans le champ Quel est l'espace de noms pour le seau?.
  7. Dans le champ Entrer le nom du seau où est stocké le fichier plat dans le service de stockage d'objets pour OCI, entrez le nom du seau où est stocké le fichier plat dans le service de stockage d'objets pour OCI.
  8. Entrez l'encodage dans le champ Encodage. La valeur par défaut est UTF-8.
  9. Dans le champ Délimiteur de champ, entrez le délimiteur de champ utilisé dans le fichier plat. La valeur par défaut est ,.
  10. Dans le champ Délimiteur de sous-champ, entrez le délimiteur de sous-champ utilisé dans le fichier plat. La valeur par défaut est #.
  11. Dans le champ Délimiteur MultiValue, entrez le délimiteur de multivaleur utilisé dans le fichier plat. La valeur par défaut est ;.
  12. Dans le champ Qualificatif de texte, entrez le caractère utilisé dans le fichier plat en tant que qualificatif de texte. La valeur par défaut est ".
  13. Dans le champ Format de date, entrez le format de données Java dans lequel les champs de type date sont inclus dans le fichier plat, par exemple dd/MM/yyyy. Si aucun format de date n'est spécifié, le champ de date sera supposé être de type Long.
  14. Pour vérifier la connectivité à votre fichier plat, cliquez sur le bouton Tester l'intégration.
  15. Cliquez sur Ajouter pour créer le système orchestré.

Terminer

Enfin, si vous avez activé Virtual Systems, vous devez d'abord définir et charger le fichier CSV des sous-systèmes, puis activer le système orchestré. Sélectionnez I'm done (J'ai terminé).

Si les systèmes virtuels sont désactivés, vous pouvez activer le système orchestré ou l'enregistrer en tant que brouillon uniquement.

Charger le fichier CSV

Si vous avez activé les systèmes virtuels, chargez un fichier CSV avec l'ID et le nom des systèmes. Vous pouvez ajouter jusqu'à 100 systèmes virtuels.

Par exemple :

ID Nom
virtual_ad_123 Alpha
virtual_ad_456 Bêta
virtual_ad_789 Gamma
  • Le nom du système virtuel ne doit pas contenir les caractères spéciaux suivants `~!@#$%^&*><".
  • Les caractères spéciaux ne sont pas autorisés pour l'ID ou le nom.
  • Le nom des systèmes virtuels doit être unique dans tous les systèmes orchestrés.
  • Les ID doivent être uniques pour ce système orchestré.

Sélectionnez le bouton Mettre à jour pour ajouter une dernière version des systèmes virtuels.

Les systèmes virtuels existants ne peuvent pas être supprimés, mais peuvent être mis à jour. Pour gérer les systèmes virtuels après leur création, voir Gérer les systèmes virtuels.

Post-configuration

Vérifier la structure du dossier de tranche

Après la création du système orchestré, la structure de dossiers suivante doit être créée dans le seau défini.

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

Les sous-dossiers tels que virtual-sys-1, virtual-sys-2, etc. ne sont créés que lorsque les systèmes virtuels sont activés.
Ces dossiers remplissent les objectifs suivants :
  • failed : Les fichiers présentant tout type de problème de données seront déplacés vers ce dossier dans le dossier de l'entité concernée, en cas d'échec d'une opération de chargement de données.
  • inbox : Contient des dossiers IDENTITY, PERMISSION et TARGETACCOUNT, chacun contenant des dossiers de systèmes virtuels, référencés par ID. Placez les fichiers CSV dans le dossier des systèmes virtuels à inclure dans l'opération de chargement de données. Si vous n'avez pas sélectionné de systèmes virtuels lors de la configuration, placez directement vos fichiers de données dans les dossiers IDENTITY, PERMISSION et TARGETACCOUNT.
  • outbox : Événements de provisionnement pour chaque entité du système orchestré.
  • sample : Contient des exemples de fichier CSV avec l'en-tête attendu. Ceux-ci peuvent être utilisés comme référence pour générer des données et mettre dans la boîte de réception pour le chargement des données. Ces fichiers ne doivent pas être modifiés.
  • schema : Contient la représentation JSON du schéma de chaque entité. Vous pouvez vous y référer pour comprendre les détails suivants :
    • dataType
    • Attributs obligatoires
    • Indique si un attribut est multivaleur ou non
    • Si l'attribut est complexe et comporte des attributs imbriqués (dataType sera CUSTOM)
    • dataTypes pris en charge :
      • TEXT
      • NUMBER
      • DECIMAL_NUMBER
      • DATE
      • FLEUR
      • PERSONNALISÉ

Définir les attributs personnalisés

Les attributs personnalisés sont pris en charge pour l'entité IDENTITY. Si vous voulez inclure des attributs personnalisés dans votre chargement de données, vous devez les ajouter dans le fichier <ServiceInstanceName>/<OrchestratedSystemName>/schema/IDENTITY.json.

Les noms d'attribut personnalisé doivent répondre aux exigences suivantes :
  • commencer par un caractère : A-Z ou a-z
  • contiennent uniquement des caractères ou des chiffres : A-Z ou a-z ou 0-9
  • Pour l'attribut de type DATE, seule la valeur longue est prise en charge
  • Les attributs personnalisés peuvent uniquement être ajoutés, ils ne peuvent pas être supprimés
  • Impossible d'ajouter un attribut personnalisé de type CUSTOM

Une fois que vous avez ajouté des attributs personnalisés dans le fichier IDENTITY.json, vous devez les inclure dans Oracle Access Governance, comme décrit sous Extraire les derniers attributs personnalisés. Une fois cette opération terminée, l'exemple de fichier CSV sera mis à jour avec les attributs personnalisés nouvellement ajoutés. Mettez à jour les fichiers de données dans inbox pour inclure les attributs personnalisés dans votre prochain chargement de données.

Exécuter le chargement de données

Le chargement des données est sur demande. Exécutez toujours le chargement de données après avoir défini des attributs personnalisés ou ajouté les fichiers de données CSV pertinents dans le dossier inbox. Chaque fois que vous exécutez un chargement de données, il s'agit d'un chargement de données complet, il n'y a pas de chargement incrémentiel. L'encodage UTF-8-BOM n'est pas pris en charge.

En cas d'échec (un seul enregistrement ou échec complet du fichier), l'opération de chargement des données est marquée comme ayant échoué. Les fichiers qui ont été traités avec succès resteront dans inbox pendant que les fichiers en échec seront déplacés vers le dossier failed. Corrigez le problème de données et placez à nouveau les fichiers dans le dossier inbox.

Les problèmes d'intégrité des données, tels qu'une autorisation affectée à un compte manquant dans le fichier CSV, peuvent également entraîner l'échec de l'opération de chargement des données. Toutefois, dans ce cas, les fichiers CSV ne sont pas déplacés vers le dossier failed. Les fichiers sont déplacés vers le dossier failed uniquement en cas de problème lors de la lecture des données elles-mêmes, par exemple des données obligatoires manquantes.

Extension de schéma - Ajout d'attributs de compte personnalisés

Vous pouvez configurer les attributs de compte pour votre système orchestré avec fichier plat en plus des attributs de compte par défaut pris en charge prêts à l'emploi. Les détails des attributs de compte et leur gestion se trouvent dans Attributs de compte et Configurer les attributs de compte.

Extension de schéma - Exemple d'attribut simple

Pour montrer comment ajouter un attribut de compte simple, examinons l'exemple de l'ajout d'un attribut de numéro de téléphone à votre schéma de fichier plat.

Supposons que vous ayez une configuration Jour 0 de votre système orchestré de fichiers plats qui a les attributs suivants par défaut :
  • commonName
  • displayName
  • courriel
  • firstName
  • lastName
  • middleName
  • __NAME__
  • autorisations
  • __ACTIVER__
  • titre
  • __UID__
Un exemple TARGETACCOUNT.csv serait :
__NAME__,firstName,lastName,middleName,displayName,commonName,title,__ENABLE__,email,permissions
Un exemple TARGETACCOUNT.json serait :
[
    {
        "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
    }
]
Pour ajouter un attribut de compte personnalisé, phoneNumber, effectuez les étapes détaillées sous Configurer les attributs de compte, par exemple :
  1. Créez un attribut fourni par le système, phoneNumber, et sélectionnez les options telles que les données entrantes et sortantes, et prenez en charge plusieurs valeurs.
  2. Ajoutez le nouvel attribut à TARGETACCOUNT.csv et à 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. Déclencher un chargement de données complet à partir de la console Oracle Access Governance. Le nouvel attribut personnalisé doit être chargé et est visible dans Enterprise Wide Browser.

Extension de schéma - Exemple d'attribut complexe

Pour montrer comment ajouter un attribut de compte complexe, examinons l'exemple de l'ajout d'un autre attribut de détails de contact à votre schéma de fichier plat.

Supposons que vous ayez une configuration Jour 0 de votre système orchestré de fichiers plats qui a les attributs suivants par défaut :
  • commonName
  • displayName
  • courriel
  • firstName
  • lastName
  • middleName
  • __NAME__
  • autorisations
  • __ACTIVER__
  • titre
  • __UID__
Un exemple TARGETACCOUNT.csv serait :
__NAME__,firstName,lastName,middleName,displayName,commonName,title,__ENABLE__,email,permissions
Un exemple TARGETACCOUNT.json serait :
[
    {
        "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
    }
]
Pour ajouter un attribut de compte personnalisé, otherContactDetails avec , suivez les étapes décrites dans Configurer les attributs de compte, par exemple :
  1. Créez un attribut fourni par le système, otherContactDetails, avec les attributs enfants suivants :
    • contactDetailsId
    • faxNumber
    • site Web
    et sélectionnez les options qui incluent les données entrantes et sortantes, et qui prennent en charge plusieurs valeurs.
  2. Ajoutez le nouvel attribut à TARGETACCOUNT.csv et à 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. Déclencher un chargement de données complet à partir de la console Oracle Access Governance. Le nouvel attribut personnalisé doit être chargé et est visible dans Enterprise Wide Browser.

Prise en charge des affiliations avec l'extension de schéma d'identité - Ajout d'attributs d'identité complexes personnalisés

Vous pouvez configurer des attributs d'identité pour votre système orchestré de fichiers plats en plus des attributs d'identité par défaut. Pour en savoir plus sur les sociétés affiliées, voir Gestion des personnes d'identité avec sociétés affiliées.

Au jour 0, pour IDENTITY.csv, toutes les entités configurées à partir du stockage d'objets incluent les attributs simples. Pour le jour N, vous pouvez étendre le schéma existant et ajouter un attribut simple supplémentaire.

Extension de schéma - Exemple d'attribut complexe

Inclure un attribut personnalisé, qui est un attribut de type objet contenant un ou plusieurs sous-attributs, vous devez apporter des modifications supplémentaires au schéma d'identité. Pour montrer comment ajouter un attribut d'identité complexe, prenons l'exemple de l'ajout d'un attribut d'adresse à votre schéma de fichier plat.

Supposons que vous ayez une configuration Day 0 de votre système orchestré de fichiers plats qui a les attributs suivants par défaut :

Un exemple IDENTITY.csv serait :
__UID__, __NAME__,firstName,lastName,middleName,displayName,title,__ENABLE__,email,empNo,employeeType.... other columns
Dans le dossier Schema, l'exemple IDENTITY.json contient les éléments suivants :
[
  {
    "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
  }
]

Pour ajouter un attribut complexe personnalisé :

  1. Étendez le schéma dans le fichier 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. Après avoir apporté les modifications ci-dessus à IDENTITY.json,
  3. Confirmez les en-têtes CSV IDENTITY.csv
    __UID__,__NAME__,firstName,lastName,.... other columns
                    .....,userAddresses.addressId,userAddresses.postalCode,userAddresses.addressTwo,userAddresses.landmark,userAddresses.city,userAddresses.houseNo,userAddresses.addressOne

    Les attributs simples apparaissent sous forme de colonnes séparées par des virgules dans l'en-tête CSV. Les attributs complexes personnalisés utilisent une structure plate : chaque sous-attribut est inclus dans l'en-tête avec son attribut parent, séparé par une notation avec point (.).

Entrée de valeur unique pour un attribut personnalisé complexe

L'entrée de données pour un attribut complexe doit être effectuée de la manière suivante dans un fichier 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
  • Assurez-vous d'inclure les en-têtes de colonne corrects.
  • Pour les champs vides (tels que addressTwo), incluez une valeur vide entre des virgules.
Données utilisateur résultantes
[
    {
        "addressId": "101",
        "postalCode": "200200",
        "addressTwo": null,
        "landmark": "Near St. Thomas Church",
        "city": "Boston",
        "houseNo": "23/78",
        "addressOne": "The Galaxy Garden"
    }
]

Entrée multivaleur pour un attribut personnalisé complexe

Lorsque vous traitez des entrées multivaleurs, utilisez un point-virgule (;) pour séparer plusieurs valeurs pour chaque sous-attribut. Le fichier CSV suivant affiche la représentation correcte pour l'adresse multivaleur. Chaque rangée du fichier CSV représente un utilisateur avec des entrées d'adresse potentiellement multiples

                            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
  • Pour les données manquantes, laissez la valeur entre les délimiteurs vide. Pour la première adresse, addressTwo est vide)
  • Les valeurs de chaque attribut correspondent par position : la première valeur de chaque attribut forme la première adresse, la deuxième valeur forme la deuxième adresse, etc.
Données utilisateur résultantes
[
    {
        "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"
    }
]