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

Dans certains cas, un système orchestré n'a pas de connexion directe à Oracle Access Governance et un agent est nécessaire pour permettre le transfert de données entre Oracle Access Governance et le système orchestré.

Enregistrer et télécharger l'agent Oracle Access Governance

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

  1. Dans un navigateur, accédez à la page d'accueil du service Oracle Access Governance et connectez-vous en tant qu'utilisateur avec le rôle d'application Administrateur.
  2. Dans la page d'accueil du service Oracle Access Governance, cliquez sur l'icône Menu de navigation et sélectionnez Administration du service, puis Systèmes orchestrés.
  3. Sélectionnez le bouton Ajouter un système connecté pour naviguer jusqu'à la page Ajouter un système orchestré n pour commencer la configuration.
  4. À l'étape Sélectionner un système, sélectionnez le système à intégrer à Oracle Access Governance, puis cliquez sur Suivant.
  5. À 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. À l'étape Configurer, entrez les détails de connexion du système orchestré :
    Note

    Les détails de l'intégration varient selon le type de système orchestré. Pour des détails spécifiques relatifs à chaque système orchestré, consultez l'article Intégrations prises en charge avec Oracle Access Governance.
  7. Cliquez sur Next (Suivant). Un message s'affiche pour télécharger l'agent. Sélectionnez le lien Télécharger et téléchargez le fichier zip de l'agent dans l'environnement dans lequel l'agent sera exécuté.
  8. Vérifiez le contenu de l'ensemble du fichier zip téléchargé.

    Le contenu de l'ensemble de l'agent se présente de la façon suivante :

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

    L'ensemble d'agents ne contient pas la configuration de l'intégration du système orchestré. Il se connecte à l'instance du service Oracle Access Governance et extrait les informations requises. Cela signifie qu'il n'est pas nécessaire de télécharger ou de réinstaller l'agent pour les modifications de configuration d'intégration suivantes.

Préalables

Préalables à l'installation et à l'exécution d'un agent.

Les préalables suivants doivent être respectés pour installer et exécuter un agent.

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

    L'utilisateur d'installation de l'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 à "linger" après l'arrêt de la session de l'utilisateur. Si cette option n'est pas activée, lorsque vous mettez fin à la session de l'utilisateur, le processus de l'agent s'arrête et vous verrez des erreurs lors de la tentative de communication entre Oracle Access Governance, l'agent et votre système orchestré.
    • Pour vérifier si l'attachement est activé 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 l'attachement pour l'utilisateur du système d'exploitation, activez le comportement d'attachement système :
      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 la maison docker / podman.

    Les valeurs minimales ci-dessus incluent l'espace disque consommé lors de la mise à niveau, au cours de laquelle 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 machine virtuelle/d'hôte

Le tableau ci-dessous suggère des valeurs de dimensionnement pour votre machine virtuelle ou hôte d'agent de système orchestré, pour les mises en oeuvre à petite, moyenne et grande échelle.

Paramètre Description Petite échelle Moyenne échelle Grande échelle

Coeurs d'UC

Nombre de coeurs d'UC.

2

4

8

Mémoire

Quantité de mémoire (Go)

16

32

64

Installer l'agent Oracle Access Governance

Processus étape par étape permettant d'installer l'agent Oracle Access Governance avec des exemples de commande à exécuter :

Pour installer l'agent téléchargé dans le système local :
  1. Décompressez l'agent téléchargé dans l'emplacement local.

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

    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 de 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 quelques exemples de 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 constatez des problèmes lors de la copie-collage ou une erreur lors de l'exécution d'un script, par exemple 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 à 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> \
    --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érifier l'agent

Explique comment vérifier l'installation et le fonctionnement de l'agent de système orchestré.

Pour vérifier l'installation de l'agent de système orchestré, effectuez les étapes suivantes :
  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 du service → Systèmes orchestrés dans le menu de navigation.
  3. Dans 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 vérification de diagnostic.
  4. Dans le journal d'activité au bas de la page, le statut de l'opération de validation est En attente jusqu'à ce que l'agent apparaisse. S'il n'apparaît pas, vérifiez si des problèmes sont survenus dans les journaux d'installation et d'opérations de l'agent.
  5. Lorsque l'agent apparaît, le statut de l'opération de validation est Succès.

Exemple d'utilisation de l'agent

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

Une fois que vous avez installé et vérifié votre agent, 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émarrer l'agent

Vous démarrez l'agent à 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> \
--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êter l'agent

Vous arrêtez l'agent à 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> \
--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émarrer l'agent

Vous redémarrez l'agent à 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> \
--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ésinstaller l'agent

Vous désinstallez l'agent à 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> \
--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

Mettre à niveau l'agent

Vous mettez à niveau l'agent à 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> \
--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 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> \
--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 Mettre à niveau 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 des fichiers JAR personnalisés

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 correspondant est nécessaire. Pour charger le fichier JAR personnalisé, procédez comme suit :
  1. Téléchargez le fichier JAR du pilote et placez-le dans le chemin customJarsDirectory tel que spécifié dans config.json. Par exemple, config.json peut contenir une entrée, customJarsDirectory : /app/data/customJars, où /app est le volume de l'agent.
  2. Calculez la somme de contrôle du fichier JAR du pilote téléchargé à l'aide de SHA-512.
  3. Dans la console Oracle Access Governance, allez à Administration du service, puis à Systèmes orchestrés.
  4. Dans la page Systèmes connectés, sélectionnez Gérer l'intégration pour votre système orchestré.
  5. Sous Configurations, sélectionnez le bouton Gérer dans la vignette Paramètres d'intégration.
  6. Mettez à jour la configuration du système orchestré dans le champ Détails du fichier JAR personnalisé. Indiquez le nom du fichier JAR du pilote et la somme de contrôle dans le 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 d'agent

Liste les détails des opérations que l'agent peut effectuer et les descriptions des paramètres associés.

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 le module d'exécution de conteneurs disponible. Si les deux sont disponibles, le script utilise podman.

Opérations

Opération Description Informations supplémentaires

--install

  • Installe l'ensemble de l'agent téléchargé dans le volume spécifié.
  • Charge l'image de conteneur.

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

--start

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

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

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

--stop

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

--restart

  • Arrête le démon de l'agent.
  • Arrête le conteneur de l'agent.
  • Supprimez le conteneur de l'agent si l'indicateur newcontainer est réglé à true.
  • Démarre le conteneur de l'agent.
  • Démarre le démon de l'agent.

--uninstall

  • Arrête le démon de l'agent.
  • Supprimez le conteneur de l'agent.
  • Nettoyez le volume.

--upgrade

  • Décompresse le nouveau fichier agent-package.zip dans un emplacement temporaire.
  • Valide le contenu de l'ensemble.
  • Charge l'image issue 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êtez-le.
  • Arrêtez le conteneur existant.
  • Copiez la nouvelle configuration de l'emplacement temporaire vers l'emplacement courant. Les personnalisations sont ainsi conservées.
  • Démarre l'agent avec la nouvelle image et la nouvelle configuration.
  • Démarre le démon de l'agent.

Les modifications suivantes nécessitent une mise à niveau.

  • Modification de la configuration config.json)
  • Modification d'ensemble 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 structure d'agents.

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

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

--status

Liste les détails suivants de l'agent :
  • ID agent
  • Module d'exécution de conteneurs et version
  • Ensemble de l'agent
  • Version de l'agent
  • Emplacement d'installation
  • État de l'agent

--enableautoupgrade

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

  • Configure une tâche cron pour détecter les mises à niveau pour toute modification des paramètres de connectivité cible ou du code d'ensemble de connecteurs.
  • La tâche 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 la tâche de mise à niveau automatique cron.

Paramètres d'agent

Paramètres

Nom du paramètre Description Obligatoire Valeur par défaut Argument Argument abrégé

__AGENT_ID__

ID agent avec lequel le conteneur de l'agent serait exécuté.

Non

agent-<hostname>-<timestamp>

--agentid

-ai

Emplacement de l'ensemble de l'agent Emplacement local de l'ensemble de l'agent avec le nom de l'ensemble.

Oui

--agentpackage

-ap

Volume

Répertoire où sont stockées 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

Créez un conteneur. Ce paramètre n'a pas besoin de valeur.

Non

--newcontainer

-nc

Configuration personnalisée

Fournissez des configurations personnalisées à l'aide d'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.

Nombre

true

--autoupgrade

-au

Une configuration personnalisée est fournie au script au moyen du fichier config.properties qui a le format suivant :

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 de l'exécution

Le tableau suivant répertorie les paramètres permettant d'ajuster la configuration de l'exécution de l'agent de système orchestré et suggère des valeurs spécifiques pour les mises en oeuvre à petite, moyenne et grande échelle.

Vous trouverez des détails sur la configuration de ces paramètres dans Paramètres d'agent.

Note

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

idoConfig.sparkMaxResultSizeInGB

Limite de la taille totale des résultats sérialisés de toutes les partitions pour chaque action (par exemple, collecter) en octets. Elle doit être égale à au moins 1 Mo ou à 0 si la taille totale est illimitée. Les travaux sont annulés si la taille totale dépasse cette limite. Une limite élevée peut entraîner des erreurs de mémoire insuffisante dans le pilote (dépend de spark.driver.memory et de la surcharge de la mémoire des objets de la JVM). La définition d'une limite appropriée peut éviter les erreurs de mémoire insuffisante du pilote.

2

5

7

idoConfig.sparkExecutorMemoryInGB

Quantité de mémoire supplémentaire à affecter par processus d'exécuteur, en Mio sauf indication contraire. Cette mémoire est utilisée pour les surcharges de machine virtuelle, les chaînes internées, d'autres surcharges natives, etc.

2

5

7

idoConfig.numberOfPartition

Nombre de partitions.

3

5

7

Dépannage d'Oracle Access Governance Agent

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

Rubriques :

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 corrigé le problème sous-jacent.

Solution : Redémarrez l'agent à l'aide de la commande restart pour corriger 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