18.6 Déploiement de conteneurs sur un seul serveur

Dans cet exemple, tous les conteneurs d'Identity Manager sont déployés sur un seul hôte Docker à l'aide du mode réseau hôte.

18.6.1 Conditions préalables

  • Vérifiez que le nom d'hôte utilise le format de nom de domaine complet comme ci-dessous :

    <Adresse IP hôte> <nom de domaine complet> <nom_abrégé>

    Par exemple :

    172.120.0.1     identitymanager.example.com      identitymanager
    
  • Vous devez générer le fichier de propriétés silencieuses avant de déployer les conteneurs. Pour plus d'informations sur la génération du fichier de propriétés silencieuses, reportez-vous à la section Création d'un fichier de propriétés silencieuses.

Les conteneurs doivent être déployés dans l'ordre suivant :

18.6.2 Déploiement du conteneur du moteur Identity Manager

  1. Générez le fichier des propriétés silencieuses. Pour plus d'informations, reportez-vous à la section Création d'un fichier de propriétés silencieuses.

  2. À partir de l'emplacement où vous avez extrait le fichier Identity_Manager_4.9.0_Containers.tar.gz file, accédez au répertoire Identity_Manager_4.9.0_Containers.

  3. Exécutez la commande suivante pour charger l'image :

    docker load --input IDM_490_identityengine.tar.gz
  4. Pour déployer le conteneur, exécutez la commande suivante :

    docker run --restart unless-stopped -d --network=host --name=engine-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 identityengine:idm-4.9.0-580
  5. Pour vérifier si le conteneur a bien été déployé, consultez les fichiers journaux en exécutant la commande suivante :

    tail -f /data/idm/log/idmconfigure.log
  6. Pour vous connecter au conteneur, exécutez la commande suivante :

    docker exec -it <conteneur> <commande>

    Exemples :

    docker exec -it engine-container bash

REMARQUE :pour exécuter les utilitaires du coffre-fort d'identité (par exemple, ndstrace ou ndsrepair, connectez-vous au conteneur en tant qu'utilisateur non-root appelé nds. Ces utilitaires ne peuvent pas être exécutés si vous êtes connecté en tant qu'utilisateur root. Pour vous connecter au conteneur en tant qu'utilisateur nds, exécutez la commande docker exec -it engine-container sudo nds.

18.6.3 Déploiement du conteneur Chargeur distant

  1. À partir de l'emplacement où vous avez extrait le fichier Identity_Manager_4.9.0_Containers.tar.gz file, accédez au répertoire Identity_Manager_4.9.0_Containers.

  2. Exécutez la commande suivante pour charger l'image :

    docker load --input IDM_490_remoteloader.tar.gz
  3. Pour déployer le conteneur, exécutez la commande suivante :

    docker run -d --network=host --name=rl-container -v /data:/config remoteloader:idm-4.9.0-580

    Cette commande déploie les versions 64 et 32 bits du chargeur distant. Les fichiers du pilote se trouvent dans le répertoire /opt/novell/eDirectory/lib/dirxml/classes/ du conteneur.

  4. (Conditionnel) Si vous ne souhaitez pas utiliser les fichiers de configuration lors du déploiement du conteneur, déployez ce dernier à l'aide de la commande suivante :

    docker run --restart unless-stopped -d --network=host --name=rl-container -v /data:/config --stop-timeout 100 remoteloader:idm-4.9.0-580
  5. Pour vous connecter au conteneur, exécutez la commande suivante :

    docker exec -it <conteneur> <commande>

    Exemples :

    docker exec -it rl-container bash

  6. Configurez le chargeur distant. Pour plus d'informations, reportez-vous à la section Configuring the Remote Loader and Drivers (Configuration du chargeur distant et des pilotes) du manuel NetIQ Identity Manager Driver Administration Guide (Guide d'administration des pilotes NetIQ Identity Manager).

  7. Assurez-vous que les fichiers de configuration sont disponibles dans le volume partagé.

18.6.4 Déploiement du conteneur de l'agent Fan-out

  1. À partir de l'emplacement où vous avez extrait le fichier Identity_Manager_4.9.0_Containers.tar.gz file, accédez au répertoire Identity_Manager_4.9.0_Containers.

  2. Exécutez la commande suivante pour charger l'image :

    docker load --input IDM_490_fanoutagent.tar.gz
  3. Pour déployer le conteneur, exécutez la commande suivante :

    docker run --restart unless-stopped -d --network=host --name=foa-container -v /data:/config --stop-timeout 100 fanoutagent:idm-4.9.0-580
  4. Pour vous connecter au conteneur, exécutez la commande suivante :

    docker exec -it <conteneur> <commande>

    Exemples :

    docker exec -it foa-container bash

  5. Configurez l'agent de dissémination (Fan-out). Pour plus d'informations, reportez-vous à la section Configuring the Fanout Agent (Configuration de l'agent de dissémination [Fan-out]) du manuel NetIQ Identity Manager Driver for JDBC Fanout Implementation Guide (Guide d'implémentation du pilote Fan-out JDBC de NetIQ Identity Manager).

18.6.5 Génération d'un certificat avec l'autorité de certification du coffre-fort d'identité

(Conditionnel) Cette section s'applique uniquement si vous utilisez le coffre-fort d'identité en tant qu'autorité de certification.

Les composants suivants vous obligent à générer un certificat avant leur déploiement. Avant de générer les certificats pour les composants suivants, veillez à déployer les conteneurs Moteur Identity Manager et Identity Console .

  • OSP

  • Identity Applications

  • Identity Reporting

Effectuez les étapes suivantes pour générer le certificat :

  1. Vérifiez que la version Java installée est Azul Zulu 1.8.0_392 ou une version ultérieure.

  2. Veillez à définir le chemin Java. Par exemple, exécutez la commande suivante :

    export PATH=<emplacement installation Java>/bin:$PATH

    Exemples :

    export PATH=/opt/netiq/common/jre/bin/:$PATH

  3. Générez le keystore PKCS :

    keytool -genkey -alias idm -keyalg RSA -storetype pkcs12 -keystore /data/tomcat.ks -validity 3650 -keysize 2048 -dname "CN=identitymanager.example.com" -keypass <password> -storepass <password>
  4. Générez une requête de signature de certificat :

    keytool -certreq -v -alias idm -file /config/idm.csr -keypass <password> -keystore /config/tomcat.ks -storepass <password>
  5. Générez un certificat auto-signé :

    1. Lancez Identity Console et connectez-vous.

    2. Accédez à Certificate Management (Gestion des certificats) > Issue Certificate (Émettre un certificat).

    3. Recherchez le fichier .csr créé à l'étape 3. Par exemple : idm.csr.

    4. Cliquez sur Ouvrir.

    5. Dans la liste déroulante Key Usage Specifications (Spécifications de l'utilisation de la clé), indiquez le type de clé.

    6. Dans la liste déroulante Extended Key Usage Specifications (Spécifications de l'utilisation de la clé étendue), indiquez le type de clé étendue.

    7. Pour le type de certificat, sélectionnez Unspecified (Non spécifié) dans la liste déroulante Basic Constrains (Contraintes de base).

    8. Spécifiez la validité du certificat dans la liste déroulante Certificate Parameters (Paramètres du certificat).

    9. Sélectionnez la valeur File in binary DER format (Fichier au format DER binaire) sous la liste déroulante Certificate format (Format de certificat).

    10. Cliquez sur Suivant.

    11. Cliquez sur OK.

    12. Téléchargez le certificat et copiez le certificat téléchargé dans le répertoire /data.

  6. Exportez le certificat racine au format .der :

    1. Lancez Identity Console et connectez-vous.

    2. Accédez à Certificate Management (Gestion des certificats) > Server Certificate Management (Gestion des certificats de serveur).

    3. Cochez la case DNS du certificat SSL, puis cliquez sur Exporter.

    4. Dans la liste déroulante Certificats, sélectionnez l'autorité de certification organisationnelle.

    5. Dans la liste déroulante Format d'exportation, sélectionnez DER.

    6. Cliquez sur OK.

    7. Téléchargez le certificat et copiez le certificat téléchargé dans le répertoire /data.

  7. Importez les certificats dans le keystore PKCS que vous avez créé à l'étape 2 :

    keytool -import -trustcacerts -alias root -keystore /config/tomcat.ks -file /config/cert.der -storepass <password> -noprompt
    keytool -import -alias idm -keystore /config/tomcat.ks -file /config/idm.der -storepass <password> -noprompt

REMARQUE :vérifiez que le keystore est disponible dans le chemin spécifié comme entrée pour le déploiement.

18.6.6 Déploiement du conteneur OSP

  1. Générez le fichier des propriétés silencieuses. Pour plus d'informations, reportez-vous à la section Création d'un fichier de propriétés silencieuses.

  2. Assurez-vous que la propriété SSO_SERVER_SSL_PORT est définie sur un port unique.

  3. À partir de l'emplacement où vous avez extrait le fichier Identity_Manager_4.9.0_Containers.tar.gz file, accédez au répertoire Identity_Manager_4.9.0_Containers.

  4. Exécutez la commande suivante pour charger l'image :

    docker load --input IDM_490_osp.tar.gz
  5. Pour déployer le conteneur, exécutez la commande suivante :

    docker run --restart unless-stopped -d --network=host --name=osp-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 osp:idm-4.9.0-580
  6. Pour vérifier si le conteneur a bien été déployé, consultez les fichiers journaux en exécutant la commande suivante :

    tail -f /data/osp/log/idmconfigure.log
  7. Arrêtez le conteneur à l'aide de la commande suivante :

    docker stop osp-container
  8. Exécutez la commande suivante pour modifier le port d'arrêt de Tomcat dans le fichier server.xml. Dans l'exemple suivant, le port 8005 sera remplacé par le port 18005 :

    sed -i "s~8005~18005~g" /data/osp/tomcat/conf/server.xml
  9. Démarrez le conteneur à l'aide de la commande suivante :

    docker start osp-container
  10. Pour vous connecter au conteneur, exécutez la commande suivante :

    docker exec -it <conteneur> <commande>

    Exemples :

    docker exec -it osp-container bash

18.6.7 Déploiement du conteneur PostgreSQL

  1. À partir de l'emplacement où vous avez extrait le fichier Identity_Manager_4.9.0_Containers.tar.gz file, accédez au répertoire Identity_Manager_4.9.0_Containers.

  2. Exécutez la commande suivante pour charger l'image :

    docker load --input IDM_490_postgres.tar.gz
  3. Sous le volume partagé /data, créez un sous-répertoire, par exemple, postgres.

    mkdir postgres
  4. Pour déployer le conteneur, exécutez la commande suivante :

    docker run --restart unless-stopped -d --network=host --name=postgresql-container -e POSTGRES_PASSWORD=<password> -v /data/postgres:/var/lib/postgresql/data --stop-timeout 100 postgres:12.18

    Par exemple :

    docker run --restart unless-stopped -d --network=host --name=postgresql-container -e POSTGRES_PASSWORD=novell -v /data/postgres:/var/lib/postgresql/data --stop-timeout 100 postgres:12.18

  5. Créez l'utilisateur idmdamin pour Identity Applications.

    docker exec -it postgresql-container psql -U postgres -c "CREATE USER idmadmin WITH ENCRYPTED PASSWORD '<password>'"
  6. Créez les bases de données d'Identity Applications, du workflow et d'Identity Reporting.

    docker exec -it postgresql-container psql -U postgres -c "CREATE DATABASE idmuserappdb"
    docker exec -it postgresql-container psql -U postgres -c "CREATE DATABASE igaworkflowdb"
    docker exec -it postgresql-container psql -U postgres -c "CREATE DATABASE idmrptdb"

    REMARQUE :ces bases de données sont utilisées lors de la configuration des conteneurs d'Identity Applications et d'Identity Reporting.

  7. Accordez tous les privilèges pour les bases de données à l'utilisateur idmadmin :

    docker exec -it postgresql-container psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE idmuserappdb TO idmadmin"
    docker exec -it postgresql-container psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE igaworkflowdb TO idmadmin"
  8. Pour vous connecter au conteneur, exécutez la commande suivante :

    docker exec -it <conteneur> <commande>

    Exemples :

    docker exec -it postgresql-container bash

18.6.8 Déploiement du conteneur d'Identity Applications

  1. À partir de l'emplacement où vous avez extrait le fichier Identity_Manager_4.9.0_Containers.tar.gz file, accédez au répertoire Identity_Manager_4.9.0_Containers.

  2. Exécutez la commande suivante pour charger l'image :

    docker load --input IDM_490_identityapplication.tar.gz

  3. Pour déployer le conteneur, exécutez la commande suivante :

    docker run --restart unless-stopped -d --network=host --name=idapps-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 identityapplication:idm-4.9.0-580
  4. Pour vérifier si le conteneur a bien été déployé, consultez les fichiers journaux en exécutant la commande suivante :

    tail -f /data/userapp/log/idmconfigure.log
  5. Exécutez la commande suivante pour importer le keystore :

    REMARQUE :avant d'effectuer cette étape, assurez-vous que le conteneur a bien été déployé.

    /opt/netiq/common/jre/bin/keytool -importkeystore -srckeystore /config/tomcat.ks -srcstorepass <password> -destkeystore /opt/netiq/idm/apps/tomcat/conf/idm.jks -deststorepass <password>
  6. Une invite demandant de remplacer l'entrée existante pour l'alias idm s'affiche. Pour accepter, entrez yes (oui).

  7. Une invite demandant de remplacer l'entrée existante pour l'alias root s'affiche. Pour accepter, entrez yes (oui).

  8. Arrêtez le conteneur à l'aide de la commande suivante :

    docker stop idapps-container
  9. Exécutez la commande suivante pour modifier le port d'arrêt de Tomcat dans le fichier server.xml. Dans l'exemple suivant, le port 8005 sera remplacé par le port 28005 :

    sed -i "s~8005~28005~g" /data/userapp/tomcat/conf/server.xml
  10. Démarrez le conteneur Docker à l'aide de la commande suivante :

    docker start idapps-container
  11. Pour vous connecter au conteneur, exécutez la commande suivante :

    docker exec -it <conteneur> <commande>

    Exemples :

    docker exec -it idapps-container bash

REMARQUE :pour modifier des paramètres dans l'utilitaire de mise à jour de la configuration, lancez configupdate.sh à partir du répertoire /opt/netiq/idm/apps/configupdate/ du conteneur d'Identity Applications. L'utilitaire de mise à jour de la configuration ne peut être lancé qu'en mode console.

18.6.9 Déploiement du conteneur du moteur de rendu de formulaire

  1. Générez le fichier des propriétés silencieuses. Sélectionnez Identity Applications lors de la génération du fichier de propriétés silencieuses. Pour plus d'informations, reportez-vous à la section Création d'un fichier de propriétés silencieuses.

  2. À partir de l'emplacement où vous avez extrait le fichier Identity_Manager_4.9.0_Containers.tar.gz file, accédez au répertoire Identity_Manager_4.9.0_Containers.

  3. Exécutez la commande suivante pour charger l'image :

    docker load --input IDM_490_formrenderer.tar.gz
  4. Pour déployer le conteneur, exécutez la commande suivante :

    docker run --restart unless-stopped -d --network=host --name=fr-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 formrenderer:idm-4.9.0-580
  5. Pour vous connecter au conteneur, exécutez la commande suivante :

    docker exec -it <conteneur> <commande>

    Exemples :

    docker exec -it fr-container bash

18.6.10 Déploiement du conteneur ActiveMQ

  1. À partir de l'emplacement où vous avez extrait le fichier Identity_Manager_4.9.0_Containers.tar.gz file, accédez au répertoire Identity_Manager_4.9.0_Containers.

  2. Exécutez la commande suivante pour charger l'image :

    docker load --input IDM_490_activemq.tar.gz
  3. Pour déployer le conteneur, exécutez la commande suivante :

    docker run --restart unless-stopped -d --network=host --name=amq-container -v /data:/config --env-file /data/silent.properties --stop-timeout 100 activemq:idm-4.9.0-580
  4. Pour vous connecter au conteneur, exécutez la commande suivante :

    docker exec -it <conteneur> <commande>

    Exemples :

    docker exec -it amq-container bash

  5. Configurez ActiveMQ. Pour plus d'informations, reportez-vous à la section Setting Up ActiveMQ Startup Service (Configuration du service de démarrage ActiveMQ) du manuel NetIQ Identity Manager Driver for JDBC Fanout Implementation Guide (Guide d'implémentation du pilote Fan-out JDBC de NetIQ Identity Manager).

18.6.11 Déploiement du conteneur Identity Reporting

  1. À partir de l'emplacement où vous avez extrait le fichier Identity_Manager_4.9.0_Containers.tar.gz file, accédez au répertoire Identity_Manager_4.9.0_Containers.

  2. Exécutez la commande suivante pour charger l'image :

    docker load --input IDM_490_identityreporting.tar.gz
  3. Pour déployer le conteneur, exécutez la commande suivante :

    docker run --restart unless-stopped -d --network=host --name=rpt-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 identityreporting:idm-4.9.0-580
  4. Pour vérifier si le conteneur a bien été déployé, consultez les fichiers journaux en exécutant la commande suivante :

    tail -f /data/reporting/log/idmconfigure.log
  5. Exécutez la commande suivante pour importer le keystore :

    REMARQUE :avant d'effectuer cette étape, assurez-vous que le conteneur a bien été déployé.

    /opt/netiq/common/jre/bin/keytool -importkeystore -srckeystore /config/tomcat.ks -srcstorepass <password> -destkeystore /opt/netiq/idm/apps/tomcat/conf/idm.jks -deststorepass <password>
  6. Une invite demandant d'écraser l'entrée existante pour l'alias idm s'affiche. Pour accepter, entrez yes (oui).

  7. Une invite demandant d'écraser l'entrée existante pour l'alias root s'affiche. Pour accepter, entrez yes (oui).

  8. Arrêtez le conteneur à l'aide de la commande suivante :

    docker stop rpt-container
  9. Exécutez la commande suivante pour modifier le port d'arrêt de Tomcat dans le fichier server.xml. Dans l'exemple suivant, le port 8005 sera remplacé par le port 38005 :

    sed -i "s~8005~38005~g" /data/reporting/tomcat/conf/server.xml
  10. (Conditionnel) S'applique uniquement si vous utilisez le coffre-fort d'identité en tant qu'autorité de certification.

    Ajoutez le paramètre -Dcom.sun.net.ssl.checkRevocation=false dans l'entrée export CATALINA_OPTS du fichier setenv.sh. Dans cet exemple, le fichier setenv.sh se trouve dans le répertoire /data/reporting/tomcat/bin/.

  11. Démarrez le conteneur Docker à l'aide de la commande suivante :

    docker start rpt-container
  12. Pour vous connecter au conteneur, exécutez la commande suivante :

    docker exec -it <conteneur> <commande>

    Exemples :

    docker exec -it rpt-container bash

18.6.12 Déploiement du conteneur SSPR

Effectuer les tâches suivantes pour déployer le conteneur SSPR :

  1. Générez le fichier de propriétés silencieuses pour SSPR. Pour plus d'informations, reportez-vous à la section Création d'un fichier de propriétés silencieuses.

  2. Sous le volume partagé /data, créez un sous-répertoire, par exemple, sspr.

    mkdir sspr

  3. À partir de l'emplacement où vous avez extrait le fichier Identity_Manager_4.9.0_Containers.tar.gz file, accédez au répertoire Identity_Manager_4.9.0_Containers.

  4. Exécutez la commande suivante pour charger l'image :

    docker load --input IDM_490_sspr.tar.gz

  5. Pour déployer le conteneur, exécutez l'exemple de commande suivant :

    docker run --restart unless-stopped -d --network=host --name=sspr-container -v /data/sspr:/config --stop-timeout 100 sspr/sspr-webapp:4.7.0.1-580
  6. Exécutez la commande suivante à partir de l'hôte Docker pour copier le fichier silent.properties depuis cet hôte vers le conteneur SSPR :

    docker cp /data/silent.properties sspr-container:/tmp

  7. Chargez le fichier de propriétés silencieuses sur le conteneur SSPR.

    docker exec -it sspr-container /app/command.sh ImportPropertyConfig /tmp/silent.properties

    REMARQUE :vérifiez si le fichier SSPRConfiguration.xml a été créé sous le répertoire /config du conteneur SSPR et contrôlez son contenu.

  8. Importez le certificat OAuth dans SSPR :

    1. À partir de l'hôte Docker, modifiez le fichier SSPRConfiguration.xml situé dans le répertoire /data/sspr/ , puis définissez la valeur du drapeau configIsEditable sur true (vrai) et enregistrez les modifications.

    2. Lancez un navigateur, puis entrez l'URL https://identitymanager.example.com:8443/sspr.

    3. Connectez-vous à l'aide d'informations d'identification d'administrateur, par exemple, uaadmin.

    4. Cliquez sur l'utilisateur, par exemple, uaadmin, dans le coin supérieur droit, puis cliquez sur Configuration Editor (Éditeur de configuration).

    5. Spécifiez le mot de passe de configuration et cliquez sur Sign In (Se connecter).

    6. Cliquez sur Settings (Paramètres) > Single Sign On (SSO) Client (Client SSO [Single Sign-on]) > OAuth et vérifiez que toutes les URL utilisent le protocole HTTPS et les bons ports.

    7. Sous OAuth Server Certificate (Certificat du serveur OAuth), cliquez sur Import from Server (Importer à partir du serveur) pour importer un nouveau certificat, puis cliquez sur OK.

    8. Cliquez sur dans le coin supérieur droit pour enregistrer le certificat.

    9. Passez les modifications en revue, puis cliquez sur OK.

    10. Une fois l'application SSPR redémarrée, modifiez le fichier SSPRConfiguration.xml, définissez la valeur du drapeau configIsEditable sur false et enregistrer les modifications.

18.6.13 Déploiement du conteneur Identity console

Pour plus d'informations sur le déploiement du conteneur Identity Console, reportez-vous au document Deploying Identity Console as Docker Container (Déploiement d'Identity Console en tant que conteneur Docker).