Gérer l'agent de gouvernance Oracle Access pour les intégrations indirectes

Dans certains cas, un système orchestré ne dispose pas de connexion directe à Oracle Access Governance, et un agent est requis afin de permettre la transmission de données entre Oracle Access Governance et le système orchestré.

Inscription et téléchargement de l'agent Oracle Access Governance

Pour permettre à un système orchestré de se connecter à Oracle Access Governance, vous devez entrer les détails d'intégration et les données d'identification du système, et créer un agent propre à votre environnement.

  1. Dans un navigateur, accédez à la page d'accueil de service Oracle Access Governance et connectez-vous en tant qu'utilisateur doté du rôle d'application Administrateur.
  2. Sur la page d'accueil d'Oracle Access Governance, cliquez sur l'icône Menu de navigation et sélectionnez Administration des service, puis Systèmes orchestrés.
  3. Cliquez sur le bouton Ajouter un système connecté pour accéder à la page Ajouter un système orchestré afin de commencer la configuration.
  4. A l'étape Sélectionner un système, sélectionnez le système à intégrer à Oracle Access Governance, puis cliquez sur Suivant.
  5. A l'étape Entrer les détails, entrez les détails de base, tels que le nom et la description, de votre système orchestré, puis cliquez sur Suivant.
  6. A l'étape Configurer, entrez les détails de connexion du système orchestré :
    Remarque

    Les détails de l'intégration varient en fonction du type de système orchestré. Pour obtenir des détails spécifiques sur chaque système orchestré, reportez-vous à l'article Intégrations prises en charge avec Oracle Access Governance.
  7. Cliquez sur Suivant. Un message s'affiche pour télécharger l'agent. Sélectionnez le lien Télécharger, puis téléchargez le fichier ZIP d'agent vers l'environnement dans lequel l'agent sera exécuté.
  8. Vérifiez le contenu du package du fichier ZIP téléchargé.

    Le contenu du package d'agent ressemblera à ce qui suit :

    agent-package-<version>.zip
        - config.json
        - wallet
            - cwallet.sso
            - cwallet.sso.lck
       - agent-lcm
            - idm-agcs-agent-lcm

    Le package d'agent ne contient pas la configuration d'intégration système orchestrée. Il se connecte à l'instance de service Oracle Access Governance et extrait les informations selon les besoins. Cela signifie qu'il n'est pas nécessaire de télécharger ou de réinstaller l'agent pour les modifications ultérieures de la configuration de l'intégration.

Prérequis

Prérequis pour l'installation et l'exécution d'un agent.

Les prérequis suivants doivent être respectés pour installer et exécuter une instance d'agent.

  1. Le script de gestion d'agent prend en charge docker et podman en tant qu'exécution de conteneur. Le script de gestion de l'agent détecte automatiquement le programme d'exécution du conteneur. Si les deux sont présents, podman est sélectionné.
  2. L'exécution de conteneur (docker/podman) doit être configurée pour être exécutée en tant qu'utilisateur non root, de la même manière que celle utilisée pour installer l'agent.
  3. Utilitaires :
    L'agent requiert les utilitaires du système d'exploitation suivants :
    • décompresser
    • séd
    • erreur
    • crontab
    Remarque

    L'utilisateur d'installation d'agent doit être autorisé à utiliser chacun de ces utilitaires.
  4. JDK : l'agent requiert JDK 11.0.x.
  5. Activez les processus pour l'utilisateur du système d'exploitation qui démarre l'agent sur "linger" une fois la session de l'utilisateur terminée. Si cette option n'est pas activée, lorsque vous mettez fin à la session de l'utilisateur, le processus d'agent s'arrête et des erreurs apparaissent lors de la tentative de communication entre Oracle Access Governance, l'agent et votre système orchestré.
    • Pour vérifier si la persistance est activée pour l'utilisateur du système d'exploitation, recherchez un fichier portant le même nom que l'utilisateur dans le répertoire /var/lib/systemd/linger. Si le fichier existe, cette option est activée :
      ls /var/lib/systemd/linger/oracle/<myuser>
    • Pour activer la persistance pour l'utilisateur du système d'exploitation, activez le comportement de persistance systemd :
      loginctl enable-linger <myuser>
  6. L'espace disque minimal requis pour l'agent doit être :
    • Espace libre de 4 Go pour le répertoire configuré en tant que volume pour l'agent.
    • Espace libre de 5 Go pour le répertoire de base docker/podman.

    Les valeurs minimales ci-dessus incluent l'espace disque consommé lors de la mise à niveau, au cours duquel une sauvegarde est créée et une nouvelle image d'agent est téléchargée et chargée.

  7. Si SELinux est activé sur le système hôte, définissez le contexte de sécurité du volume persistant utilisé par l'agent en exécutant la commande suivante :
    chcon -Rt svirt_sandbox_file_t <PV_Directory>

Dimensionnement de la machine virtuelle/de l'hôte

Le tableau ci-dessous suggère une valeur pour le dimensionnement de la machine virtuelle ou de l'hôte de l'agent de système orchestré pour l'implémentation à petite, moyenne et grande échelle.

Paramètre Description Petite échelle Échelle moyenne Grande échelle

Coeurs de processeur

Nombre de coeurs de processeur

2

4

8

Mémoire

Quantité de mémoire (Go)

16

32

64

Installer l'agent de gouvernance Oracle Access

Processus étape par étape d'installation de l'agent Oracle Access Governance avec des exemples de commandes à exécuter :

Pour installer l'agent téléchargé sur le système local, procédez comme suit :
  1. Décompressez l'agent téléchargé vers l'emplacement local.

    Le contenu de l'agent décompressé doit être le suivant :

    agent-package-<version>.zip
      - config.json
      - wallet
          - cwallet.sso
          - cwallet.sso.lck
      - container-image
          - agent.tar.gz
  2. Exécutez le script de gestion avec les paramètres suivants :
    curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
    --volume <PERSISTENT_VOLUME_LOCATION> \
    --agentpackage <PACKAGE_FULL_PATH> \
    --install

    Voici un exemple avec la configuration par défaut :

    curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
    --volume /access-governance/agent-management/volume \
    --agentpackage /access-governance/agent-management/agent-package-<version>.zip \
    --agentid myagent \
    –-install
    

    Voici une exemple avec une configuration personnalisée :

    curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
    --volume /access-governance/agent-management/volume \
    --agentpackage /access-governance/agent-management/agent-package-<version>.zip \
    --agentid myagent \
    --config /access-governance/agent-management/config.properties \
    –-install
    
    Conseil

    Si vous rencontrez des problèmes lors du copier-coller ou une erreur lors de l'exécution d'un script, telle qu'une erreur de format non valide, vous pouvez essayer d'insérer manuellement un double trait d'union ("-", la valeur ASCII pour le trait d'union est 45).
  3. Démarrez l'agent avec la commande suivante :
    curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
    --volume <PERSISTENT_VOLUME_LOCATION> \
    --start

    Par exemple :

    curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
    --volume /access-governance/agent-management/volume \
    --start

Vérification de l'agent

Indique comment vérifier l'installation et l'opération de l'agent système orchestré.

Pour vérifier l'installation de l'agent système orchestré, procédez comme suit :
  1. Dans la console Oracle Access Governance, sélectionnez l'icône Menu de navigation pour afficher le menu de navigation.
  2. Dans la console Oracle Access Governance, sélectionnez Administration des service → Systèmes orchestrés dans le menu de navigation.
  3. Sur l'écran Systèmes orchestrés, le système orchestré affiche le statut En attente de l'intégration initiale. Cliquez sur Gérer → Liste de contrôle de dépannage.
  4. Le journal des actions au bas de la page affiche le statut de l'opération de validation, En attente, pendant que l'agent démarre. Si l'agent n'apparaît pas, recherchez les problèmes éventuels dans les journaux d'installation et d'opération de l'agent.
  5. Une fois l'agent démarré, le statut de l'opération de validation sera Succès.

Exemple d'utilisation d'agent

Présente des exemples d'utilisation du script de gestion de l'agent.

Une fois l'agent installé et vérifié, vous pouvez commencer à gérer le cycle de vie. Le script agentManagement.sh prend en charge les opérations de démarrage, d'arrêt, de redémarrage, de désinstallation et de mise à niveau.

Démarrage de l'agent

Utilisez la commande suivante pour démarrer l'agent :

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume <PERSISTENT_VOLUME_LOCATION> \
--start

Par exemple :

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume /access-governance/agent-management/volume \
--start

Arrêt de l'agent

Utilisez la commande suivante pour arrêter l'agent :

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume <PERSISTENT_VOLUME_LOCATION> \
--stop

Par exemple :

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume /access-governance/agent-management/volume \
--stop

Redémarrage de l'agent

Utilisez la commande suivante pour redémarrer l'agent :

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume <PERSISTENT_VOLUME_LOCATION> \
--restart

Par exemple :

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume /access-governance/agent-management/volume \
--restart

Désinstallation de l'agent

Utilisez la commande suivante pour désinstaller l'agent :

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume <PERSISTENT_VOLUME_LOCATION> \
--uninstall

Par exemple :

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume /access-governance/agent-management/volume \
--uninstall

Mise à niveau de l'agent

Utilisez la commande suivante pour mettre à niveau l'agent :

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume <PERSISTENT_VOLUME_LOCATION> \
--upgrade

Par exemple :

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume /access-governance/agent-management/volume \
--upgrade

Activer la mise à niveau automatique

Activez la mise à niveau automatique à l'aide de la commande suivante :

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh;  sh agentManagement.sh \
--volume <PERSISTENT_VOLUME_LOCATION> \
--enableautoupgrade

Par exemple :

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh;  sh agentManagement.sh \
--volume /access-governance/agent-management/volume \
--enableautoupgrade

Désactiver la mise à niveau automatique

Effectuez cette étape uniquement si cela est absolument nécessaire, car cela peut entraîner des échecs dans la communication entre l'agent et le service Oracle Access Governance. Si vous effectuez cette étape et que vous constatez des échecs, mettez immédiatement à niveau l'agent en suivant les étapes mentionnées dans l'exemple de mise à niveau de l'agent dans Exemple d'utilisation d'agent.

Désactivez la mise à niveau automatique à l'aide de la commande suivante :

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh;  sh agentManagement.sh \
--volume <PERSISTENT_VOLUME_LOCATION> \
--disableautoupgrade

Par exemple :

curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh;  sh agentManagement.sh \
--volume /access-governance/agent-management/volume \
--disableautoupgrade

Prise en charge personnalisée des fichiers JAR

Lors de l'intégration à Oracle Access Governance, certains systèmes orchestrés peuvent avoir besoin de fichiers JAR personnalisés. Par exemple, pour communiquer avec la base de données DB2 et MYSQL, le fichier JAR de pilote respectif est nécessaire. Procédez de la façon suivante pour charger le fichier JAR personnalisé.
  1. Téléchargez le fichier JAR du pilote et placez-le dans le chemin customJarsDirectory, comme indiqué dans config.json. Par exemple, config.json peut contenir une entrée, customJarsDirectory : /app/data/customJars, où /app est le volume d'agent.
  2. Calculez le checksum du fichier JAR du pilote téléchargé à l'aide de SHA-512.
  3. Sur la console Oracle Access Governance, accédez à Administration des services, puis à Systèmes orchestrés.
  4. Sur la page Systèmes connectés, sélectionnez Gérer l'intégration pour votre système orchestré.
  5. Sous Configurations, cliquez sur le bouton Gérer dans la mosaïque Paramètres d'intégration.
  6. Mettez à jour la configuration système orchestrée dans le champ Détails du fichier JAR personnalisé. Indiquez le nom du fichier JAR du pilote et la somme de contrôle au format <jarName>::<checksum>.
    Pour le système connecté DB2, exemple de valeur dans Détails du fichier JAR personnalisé
    db2jcc.jar::c8520f145b428b1133b771bb2c70a6f0f546c9f0655f9de5de2e7b64d5ede786911ad50b543846154fe373dead78d38fb6dded560e0de4c4e8ccbbf0a06b6c1e
  7. Cliquez sur Enregistrer.

Opérations de gestion de l'agent

Répertorie les détails des opérations que l'agent peut effectuer et les descriptions de paramètre associées.

L'agent de système orchestré peut être géré à l'aide du script agentManagement.sh. Ce script peut être téléchargé à partir de GitHub. Le script prend en charge Docker et Podman. Il détecte automatiquement l'exécution de conteneur disponible. Si les deux sont disponibles, le script utilise Podman.

Opérations

Opération Description Informations supplémentaires

--install

  • Installe le package d'agent téléchargé vers le volume spécifié.
  • Charge l'image de conteneur.

Utilisez --config pour utiliser une configuration personnalisée.

--start

  • Démarre le conteneur d'agent.
  • Démarre le démon d'agent.

Utilisez --newcontainer pour démarrer un nouveau conteneur.

Utilisez --config pour utiliser une configuration personnalisée.

--stop

  • Arrête le démon d'agent.
  • Arrête le conteneur d'agent.

--restart

  • Arrête le démon d'agent.
  • Arrête le conteneur d'agent.
  • Enlevez le conteneur d'agent si l'indicateur newcontainer est défini sur true.
  • Démarre le conteneur d'agent.
  • Démarre le démon d'agent.

--uninstall

  • Arrête le démon d'agent.
  • Enlève le conteneur d'agent.
  • Nettoie le volume.

--upgrade

  • Décompresse le nouveau fichier agent-package.zip dans un emplacement temporaire.
  • Valide le contenu du package.
  • Charge l'image à partir du nouveau fichier ZIP.
  • Démarre un conteneur temporaire à l'aide de la nouvelle image et de la nouvelle configuration.
  • Si le conteneur temporaire ne présente aucun problème, arrête le conteneur.
  • Arrête le conteneur existant.
  • Copie la nouvelle configuration de l'emplacement temporaire vers l'emplacement en cours. Les personnalisations sont ainsi conservées.
  • Démarre l'agent avec la nouvelle image et la nouvelle configuration.
  • Démarre le démon d'agent.

Les modifications suivantes nécessitent une mise à niveau.

  • Modification de la configuration config.json)
  • Modification du groupe de connecteurs
  • Modification du portefeuille
  • Modification de l'image de l'agent

Les modifications suivantes déclenchent une opération de reconfiguration gérée par la structures d'agent.

  • Connecteur (même version de modèle)
  • Connecteur (version de modèle différente)

Pour plus d'informations, voir Mettre à niveau un agent.

--status

Répertorie les détails suivants de l'agent :
  • ID de l'agent
  • Programme d'exécution et version de conteneur
  • Package de l'agent
  • Version de l'agent
  • Emplacement d'installation
  • Etat de l'agent

--enableautoupgrade

Active la mise à niveau automatique en effectuant les tâches suivantes :

  • Configure un travail cron pour détecter les mises à niveau en cas de modification des paramètres de connectivité cible ou du code de groupe de connecteurs.
  • Le travail cron s'exécute toutes les 30 minutes et met à niveau l'agent automatiquement si nécessaire.

--disableautoupgrade

Désactive les mises à niveau automatiques en supprimant le travail de mise à niveau automatique cron.

Paramètres de l'agent

Paramètres

Nom du paramètre Description Obligatoire Valeur par défaut Argument Version abrégée de l'argument

__AGENT_ID__

ID d'agent avec lequel le conteneur d'agent sera exécuté.

Non

agent-<hostname>-<timestamp>

--agentid

-ai

Emplacement du package d'agent Emplacement du package d'agent local avec le nom du package.

Oui

--agentpackage

-ap

Volume

Répertoire permettant de rendre persistantes les données d'agent, telles que la configuration, le portefeuille et les journaux.

Oui

--volume

-pv

Nouveau conteneur avec démarrage et redémarrage

Permet de créer un conteneur. Ce paramètre ne nécessite pas de valeur.

No

--newcontainer

-nc

Configuration personnalisée

Fournissez des configurations personnalisées via un fichier de propriétés.

Non

--config

-c

Mise à niveau automatique

Utilisez ce paramètre avec l'opération d'installation pour configurer la mise à niveau automatique de l'agent.

Non

true

--autoupgrade

-au

La configuration personnalisée est fournie au script au format suivant via le fichier config.properties :

idoConfig.httpClientConfiguration.connectionPool.maxPerRoute=15
idoConfig.httpClientConfiguration.connectionPool.maxTotal=15
idoConfig.httpClientConfiguration.connectTimeoutInSeconds=300
idoConfig.httpClientConfiguration.keepAliveTimeoutInSeconds=300
idoConfig.httpClientConfiguration.readResponseTimeoutInSeconds=300
idoConfig.httpClientConfiguration.proxyUri=
idoConfig.httpClientConfiguration.proxyUserName=
idoConfig.httpClientConfiguration.proxyUserPassword=
idoConfig.logLevel=info # Possible values: info, debug, error
idoConfig.maxJobRunningTimeInMinutes=180
idoConfig.numberOfPartition=3
idoConfig.numberOfOperationsPerPoll=5
idoConfig.numberOfOperationsWorkerThread=5
idoConfig.pollPauseTimeInMills=500
idoConfig.heartBeatIntervalInSeconds=30
idoConfig.sparkMaxResultSizeInGB=2
idoConfig.sparkExecutorMemoryInGB=2

Réglage de la configuration d'exécution

Le tableau suivant répertorie les paramètres de réglage affiné de la configuration d'exécution de l'agent de système orchestré, et suggère des valeurs spécifiques pour les implémentations de petite, moyenne et grande échelle.

Pour plus de détails sur la configuration de ces paramètres, reportez-vous à la section Paramètres d'agent.

Remarque

Les limites ajustables pour le dimensionnement sont les suivantes :
  • Petit : identités/comptes 10-20k et données associées
  • Moyen : identités/comptes 40-50k et données associées
  • Large : au-delà des identités/comptes 50k et des données associées
Paramètre Description Petite échelle Échelle moyenne Grande échelle

idoConfig.sparkMaxResultSizeInGB

Limite de la taille totale des résultats sérialisés de toutes les partitions pour chaque action (par exemple, collecte) en octets. Doit être supérieure à 1 million, ou être égale à 0 pour ne pas avoir de limite. Les travaux sont annulés si la taille totale dépasse cette limite. Une limite élevée risque d'entraîner des erreurs de mémoire insuffisantes dans le pilote (selon spark.driver.memory et les surcharges de la mémoire des objets dans JVM). La définition d'une limite adéquate permet de protéger le pilote contre les erreurs de mémoire insuffisante.

2

5

7

idoConfig.sparkExecutorMemoryInGB

Quantité de mémoire supplémentaire à allouer par processus d'exécuteur en Mio, sauf indication contraire. Il s'agit d'une mémoire qui prend en charge le temps système de machine virtuelle, des chaînes internées, d'autres temps système natifs, etc.

2

5

7

idoConfig.numberOfPartition

Nombre de partitions.

3

5

7

Dépannage de l'agent de gouvernance Oracle Access

Découvrez comment résoudre les messages d'erreur et les autres problèmes que vous pouvez rencontrer lors de la configuration ou de l'utilisation de l'agent Oracle Access Governance.

Sujets :

Arrêt inattendu de l'agent en raison de contraintes de ressource

Si vous commencez à atteindre les limites de ressources sur la mémoire, la CPU ou le disque, l'agent peut s'arrêter de manière inattendue. Pour rétablir l'agent correctement, vous devez redémarrer l'agent après avoir rectifié le problème sous-jacent.

Solution : redémarrez l'agent à l'aide de la commande restart qui corrige le problème sous-jacent.
curl https://raw.githubusercontent.com/oracle/docker-images/main/OracleIdentityGovernance/samples/scripts/agentManagement.sh -o agentManagement.sh ; sh agentManagement.sh \
--volume <PERSISTENT_VOLUME_LOCATION> \
--newcontainer \
--restart