18.6 Bereitstellen von Containern auf einem einzigen Server

In diesem Beispiel werden alle Identity Manager-Container auf einem einzigen Docker-Host im Host-Netzwerkmodus bereitgestellt.

18.6.1 Voraussetzungen

  • Stellen Sie sicher, dass der Hostname dem FQDN-Format entspricht, wie unten dargestellt:

    <IP des Hosts> <FQDN> <Kurzbezeichnung>

    Beispiel:

    172.120.0.1     identitymanager.example.com      identitymanager
    
  • Sie müssen die Eigenschaftsdatei für die automatische Installation generieren, bevor Sie die Container bereitstellen. Weitere Informationen zum Generieren einer Eigenschaftendatei für die automatische Installation finden Sie in Erstellen der Eigenschaftendatei für die automatische Installation.

Die Container müssen in der folgenden Reihenfolge bereitgestellt werden:

18.6.2 Bereitstellen eines Identity Manager-Engine-Containers

  1. Generieren Sie die Eigenschaftendatei für die automatische Installation. Weitere Informationen finden Sie unter Erstellen der Eigenschaftendatei für die automatische Installation.

  2. Navigieren Sie vom Speicherort, an dem Sie die Datei Identity_Manager_4.9.0_Containers.tar.gz extrahiert haben, zum Verzeichnis Identity_Manager_4.9.0_Containers.

  3. Führen Sie den folgenden Befehl aus, um das Image zu laden:

    docker load --input IDM_490_identityengine.tar.gz
  4. Stellen Sie den Container mit dem folgenden Befehl bereit:

    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. Um zu überprüfen, ob der Container erfolgreich bereitgestellt wurde, sehen Sie in den Protokolldateien nach. Führen Sie dazu folgendes Kommando aus:

    tail -f /data/idm/log/idmconfigure.log
  6. Führen Sie zur Anmeldung am Container das folgende Kommando aus:

    docker exec -it <Container> <Kommando>

    Beispiel:

    docker exec -it engine-container bash

HINWEIS:Um die Identitätsdepot-Dienstprogramme wie ndstrace oder ndsrepair auszuführen, melden Sie sich beim Container als Nicht-Root-Benutzer mit dem Namen nds an. Diese Dienstprogramme können nicht ausgeführt werden, wenn Sie als Root-Benutzer angemeldet sind. Um sich beim Container als Benutzer nds anzumelden, führen Sie das Kommando docker exec ‑it engine-container sudo nds aus.

18.6.3 Bereitstellen eines Remote Loader-Containers

  1. Navigieren Sie vom Speicherort, an dem Sie die Datei Identity_Manager_4.9.0_Containers.tar.gz extrahiert haben, zum Verzeichnis Identity_Manager_4.9.0_Containers.

  2. Führen Sie den folgenden Befehl aus, um das Image zu laden:

    docker load --input IDM_490_remoteloader.tar.gz
  3. Stellen Sie den Container mit dem folgenden Befehl bereit:

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

    Dadurch wird die 64-Bit- und 32-Bit-Version von Remote Loader bereitgestellt. Die Treiberdateien befinden sich im Verzeichnis /opt/novell/eDirectory/lib/dirxml/classes/ des Containers.

  4. (Bedingt) Wenn Sie bei der Bereitstellung des Containers keine Konfigurationsdateien verwenden möchten, stellen Sie den Container mit dem folgenden Befehl bereit:

    docker run --restart unless-stopped -d --network=host --name=rl-container -v /data:/config --stop-timeout 100 remoteloader:idm-4.9.0-580
  5. Führen Sie zur Anmeldung am Container das folgende Kommando aus:

    docker exec -it <Container> <Kommando>

    Beispiel:

    docker exec -it rl-container bash

  6. Konfigurieren Sie Remote Loader. Weitere Informationen finden Sie unter Konfigurieren des Remote Loader und der Treiber im Verwaltungshandbuch zu NetIQ Identity Manager.

  7. Vergewissern Sie sich, dass die Konfigurationsdateien auf dem gemeinsamen Volume verfügbar sind.

18.6.4 Bereitstellen eines Fan-out-Agent-Containers

  1. Navigieren Sie vom Speicherort, an dem Sie die Datei Identity_Manager_4.9.0_Containers.tar.gz extrahiert haben, zum Verzeichnis Identity_Manager_4.9.0_Containers.

  2. Führen Sie den folgenden Befehl aus, um das Image zu laden:

    docker load --input IDM_490_fanoutagent.tar.gz
  3. Stellen Sie den Container mit dem folgenden Befehl bereit:

    docker run --restart unless-stopped -d --network=host --name=foa-container -v /data:/config --stop-timeout 100 fanoutagent:idm-4.9.0-580
  4. Führen Sie zur Anmeldung am Container das folgende Kommando aus:

    docker exec -it <Container> <Kommando>

    Beispiel:

    docker exec -it foa-container bash

  5. Konfigurieren Sie den Fan-out-Agenten. Weitere Informationen finden Sie unter Konfigurieren des Fan-out-Agenten in NetIQ Identity Manager-Treiber für JDBC-Fan-out – Implementierungshandbuch.

18.6.5 Generieren eines Zertifikats mit der Identitätsdepot-Zertifizierungsstelle

(Bedingt) Dieser Abschnitt ist nur relevant, wenn Sie das Identitätsdepot als Zertifizierungsstelle verwenden.

Für die folgenden Komponenten müssen Sie ein Zertifikat generieren, damit diese bereitgestellt werden können. Bevor Sie die Zertifikate für die folgenden Komponenten generieren, müssen Sie die Container von Identity Manager Engine und der Identity Console bereitstellen.

  • OSP

  • Identity Applications

  • Identity Reporting

Gehen Sie zum Generieren des Zertifikats folgendermaßen vor:

  1. Stellen Sie sicher, dass die installierte Java-Version Azul Zulu 1.8.0_392 oder höher ist.

  2. Stellen Sie sicher, dass Sie den Java-Pfad festlegen. Führen Sie beispielsweise das folgende Kommando aus:

    export PATH=<java installed location>/bin:$PATH

    Beispiel:

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

  3. Generieren Sie den PKCS-Keystore:

    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. Generieren Sie eine Anforderung zur Zertifikatunterzeichnung:

    keytool -certreq -v -alias idm -file /config/idm.csr -keypass <password> -keystore /config/tomcat.ks -storepass <password>
  5. Erzeugen Sie ein selbstsigniertes Zertifikat:

    1. Starten Sie die Identity Console und melden Sie sich an.

    2. Navigieren Sie zu Zertifikatsverwaltung > Zertifikat ausstellen.

    3. Navigieren Sie zur .csr-Datei, die Sie in Schritt 3 erstellt haben. Beispiel: idm.csr.

    4. Klicken Sie auf Öffnen.

    5. Geben Sie in der Dropdown-Liste Schlüsselverwendungsspezifikationen den Schlüsseltyp an.

    6. Geben Sie in der Dropdown-Liste Erweiterte Schlüsselverwendungsspezifikationen den erweiterten Schlüsseltyp an.

    7. Wählen Sie in der Dropdown-Liste Grundlegende Beschränkungen für den Zertifikatstyp die Option Nicht angegeben.

    8. Geben Sie im Dropdown-Menü Zertifikatsparameter die Gültigkeit des Zertifikats an.

    9. Wählen Sie in der Dropdown-Liste Zertifikatsformat die Option Datei im binären DER-Format.

    10. Klicken Sie auf Weiter.

    11. Klicken Sie auf OK.

    12. Laden Sie das Zertifikat herunter und kopieren Sie es in das Verzeichnis /data.

  6. Exportieren Sie das Root-Zertifikat im .der-Format:

    1. Starten Sie die Identity Console und melden Sie sich an.

    2. Navigieren Sie zu Zertifikatsverwaltung > Server-Zertifikatsverwaltung.

    3. Aktivieren Sie das Kontrollkästchen SSL CertificateDNS und klicken Sie auf Exportieren.

    4. Wählen Sie in der Zertifikate-Dropdown-Liste die Zertifizierungsstelle der Organisation aus.

    5. Wählen Sie in der Dropdown-Liste der Exportformate die Option DER aus.

    6. Klicken Sie auf OK.

    7. Laden Sie das Zertifikat herunter und kopieren Sie es in das Verzeichnis /data.

  7. Importieren Sie die Zertifikate in den PKCS-Keystore, den Sie in Schritt 2 erstellt haben:

    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

HINWEIS:Stellen Sie sicher, dass der Keystore unter dem Pfad verfügbar ist, der als Eingabepfad für die Bereitstellung festgelegt wurde.

18.6.6 Bereitstellen eines OSP-Containers

  1. Generieren Sie die Eigenschaftendatei für die automatische Installation. Weitere Informationen finden Sie unter Erstellen der Eigenschaftendatei für die automatische Installation.

  2. Stellen Sie sicher, dass für die Eigenschaft SSO_SERVER_SSL_PORT ein eindeutiger Port festgelegt ist.

  3. Navigieren Sie vom Speicherort, an dem Sie die Datei Identity_Manager_4.9.0_Containers.tar.gz extrahiert haben, zum Verzeichnis Identity_Manager_4.9.0_Containers.

  4. Führen Sie den folgenden Befehl aus, um das Image zu laden:

    docker load --input IDM_490_osp.tar.gz
  5. Stellen Sie den Container mit dem folgenden Befehl bereit:

    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. Um zu überprüfen, ob der Container erfolgreich bereitgestellt wurde, sehen Sie in den Protokolldateien nach. Führen Sie dazu folgendes Kommando aus:

    tail -f /data/osp/log/idmconfigure.log
  7. Beenden Sie den Container mit dem folgenden Kommando:

    docker stop osp-container
  8. Führen Sie das folgende Kommando aus, um den Port zum Herunterfahren von Tomcat in der Datei server.xml zu ändern. Im folgenden Beispiel wird Port 8005 zu 18005 geändert:

    sed -i "s~8005~18005~g" /data/osp/tomcat/conf/server.xml
  9. Starten Sie den Container mit folgendem Befehl:

    docker start osp-container
  10. Führen Sie zur Anmeldung am Container das folgende Kommando aus:

    docker exec -it <Container> <Kommando>

    Beispiel:

    docker exec -it osp-container bash

18.6.7 Bereitstellen eines PostgreSQL-Containers

  1. Navigieren Sie vom Speicherort, an dem Sie die Datei Identity_Manager_4.9.0_Containers.tar.gz extrahiert haben, zum Verzeichnis Identity_Manager_4.9.0_Containers.

  2. Führen Sie den folgenden Befehl aus, um das Image zu laden:

    docker load --input IDM_490_postgres.tar.gz
  3. Erstellen Sie im freigegebenen Volume /data ein Unterverzeichnis, z. B. postgres.

    mkdir postgres
  4. Stellen Sie den Container mit dem folgenden Befehl bereit:

    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

    Beispiel:

    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. Erstellen Sie den Benutzer idmdamin für Identity Applications.

    docker exec -it postgresql-container psql -U postgres -c "CREATE USER idmadmin WITH ENCRYPTED PASSWORD '<password>'"
  6. Erstellen Sie die Identity Applications-, Workflow- und Identity Reporting-Datenbanken.

    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"

    HINWEIS:Diese Datenbanken werden verwendet, wenn Sie die Identity Applications- und Identity Reporting-Container konfigurieren.

  7. Erteilen Sie dem Benutzer idmadmin alle Berechtigungen für die Datenbanken:

    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. Führen Sie zur Anmeldung am Container das folgende Kommando aus:

    docker exec -it <Container> <Kommando>

    Beispiel:

    docker exec -it postgresql-container bash

18.6.8 Bereitstellen eines Identity Applications-Containers

  1. Navigieren Sie vom Speicherort, an dem Sie die Datei Identity_Manager_4.9.0_Containers.tar.gz extrahiert haben, zum Verzeichnis Identity_Manager_4.9.0_Containers.

  2. Führen Sie den folgenden Befehl aus, um das Image zu laden:

    docker load --input IDM_490_identityapplication.tar.gz

  3. Stellen Sie den Container mit dem folgenden Befehl bereit:

    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. Um zu überprüfen, ob der Container erfolgreich bereitgestellt wurde, sehen Sie in den Protokolldateien nach. Führen Sie dazu folgendes Kommando aus:

    tail -f /data/userapp/log/idmconfigure.log
  5. Führen Sie die folgenden Kommandos aus, um den Keystore zu importieren:

    HINWEIS:Bevor Sie diesen Schritt ausführen, vergewissern Sie sich, dass der Container erfolgreich bereitgestellt wurde.

    /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. Eine Eingabeaufforderung zum Überschreiben des vorhandenen Eintrags für das idm-Alias wird angezeigt. Geben Sie zum Überschreiben yes ein.

  7. Eine Eingabeaufforderung zum Überschreiben des vorhandenen Eintrags für das root-Alias wird angezeigt. Geben Sie zum Überschreiben yes ein.

  8. Beenden Sie den Container mit dem folgenden Kommando:

    docker stop idapps-container
  9. Führen Sie das folgende Kommando aus, um den Port zum Herunterfahren von Tomcat in der Datei server.xml zu ändern. Im folgenden Beispiel wird Port 8005 zu 28005 geändert:

    sed -i "s~8005~28005~g" /data/userapp/tomcat/conf/server.xml
  10. Starten Sie den Docker-Container mit folgendem Befehl:

    docker start idapps-container
  11. Führen Sie zur Anmeldung am Container das folgende Kommando aus:

    docker exec -it <Container> <Kommando>

    Beispiel:

    docker exec -it idapps-container bash

HINWEIS:Um Einstellungen im Konfigurationsaktualisierungsprogramm zu ändern, starten Sie configupdate.sh im Verzeichnis /opt/netiq/idm/apps/configupdate/ des Identity Applications-Containers. Das Konfigurationsaktualisierungsprogramm kann nur im Konsolenmodus gestartet werden.

18.6.9 Bereitstellen des Formular-Renderer-Containers

  1. Generieren Sie die Eigenschaftendatei für die automatische Installation. Wählen Sie beim Generieren der Eigenschaftendatei für die automatische Installation die Option Identity Applications aus. Weitere Informationen finden Sie unter Erstellen der Eigenschaftendatei für die automatische Installation.

  2. Navigieren Sie vom Speicherort, an dem Sie die Datei Identity_Manager_4.9.0_Containers.tar.gz extrahiert haben, zum Verzeichnis Identity_Manager_4.9.0_Containers.

  3. Führen Sie den folgenden Befehl aus, um das Image zu laden:

    docker load --input IDM_490_formrenderer.tar.gz
  4. Stellen Sie den Container mit dem folgenden Befehl bereit:

    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. Führen Sie zur Anmeldung am Container das folgende Kommando aus:

    docker exec -it <Container> <Kommando>

    Beispiel:

    docker exec -it fr-container bash

18.6.10 Bereitstellen eines ActiveMQ-Containers

  1. Navigieren Sie vom Speicherort, an dem Sie die Datei Identity_Manager_4.9.0_Containers.tar.gz extrahiert haben, zum Verzeichnis Identity_Manager_4.9.0_Containers.

  2. Führen Sie den folgenden Befehl aus, um das Image zu laden:

    docker load --input IDM_490_activemq.tar.gz
  3. Stellen Sie den Container mit dem folgenden Befehl bereit:

    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. Führen Sie zur Anmeldung am Container das folgende Kommando aus:

    docker exec -it <Container> <Kommando>

    Beispiel:

    docker exec -it amq-container bash

  5. Konfigurieren Sie ActiveMQ. Weitere Informationen finden Sie unter Setting Up ActiveMQ Startup Service (Einrichten des ActiveMQ-Startdiensts) im NetIQ Identity Manager Driver for JDBC Fanout Implementation Guide (NetIQ Identity Manager-Treiber für JDBC-Fan-out – Implementierungshandbuch).

18.6.11 Bereitstellen eines Identity Reporting-Containers

  1. Navigieren Sie vom Speicherort, an dem Sie die Datei Identity_Manager_4.9.0_Containers.tar.gz extrahiert haben, zum Verzeichnis Identity_Manager_4.9.0_Containers.

  2. Führen Sie den folgenden Befehl aus, um das Image zu laden:

    docker load --input IDM_490_identityreporting.tar.gz
  3. Stellen Sie den Container mit dem folgenden Befehl bereit:

    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. Um zu überprüfen, ob der Container erfolgreich bereitgestellt wurde, sehen Sie in den Protokolldateien nach. Führen Sie dazu folgendes Kommando aus:

    tail -f /data/reporting/log/idmconfigure.log
  5. Führen Sie die folgenden Kommandos aus, um den Keystore zu importieren:

    HINWEIS:Bevor Sie diesen Schritt ausführen, vergewissern Sie sich, dass der Container erfolgreich bereitgestellt wurde.

    /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. Eine Eingabeaufforderung zum Überschreiben des vorhandenen Eintrags für das idm-Alias wird angezeigt. Geben Sie zum Überschreiben yes ein.

  7. Eine Eingabeaufforderung zum Überschreiben des vorhandenen Eintrags für das root-Alias wird angezeigt. Geben Sie zum Überschreiben yes ein.

  8. Beenden Sie den Container mit dem folgenden Kommando:

    docker stop rpt-container
  9. Führen Sie das folgende Kommando aus, um den Port zum Herunterfahren von Tomcat in der Datei server.xml zu ändern. Im folgenden Beispiel wird Port 8005 zu 38005 geändert:

    sed -i "s~8005~38005~g" /data/reporting/tomcat/conf/server.xml
  10. (Bedingt) Gilt nur, wenn Sie das Identitätsdepot als Zertifizierungsstelle verwenden.

    Fügen Sie den Parameter -Dcom.sun.net.ssl.checkRevocation=false dem Eintrag export CATALINA_OPTS der Datei setenv.sh hinzu. In diesem Beispiel befindet sich die Datei setenv.sh im Verzeichnis /data/reporting/tomcat/bin/.

  11. Starten Sie den Docker-Container mit folgendem Befehl:

    docker start rpt-container
  12. Führen Sie zur Anmeldung am Container das folgende Kommando aus:

    docker exec -it <Container> <Kommando>

    Beispiel:

    docker exec -it rpt-container bash

18.6.12 Bereitstellen eines SSPR-Containers

Führen Sie zur Bereitstellung des SSPR-Containers die folgenden Aufgaben aus:

  1. Generieren Sie die Eigenschaftendatei für die automatische Installation für SSPR. Weitere Informationen finden Sie unter Erstellen der Eigenschaftendatei für die automatische Installation.

  2. Erstellen Sie im freigegebenen Volume /data ein Unterverzeichnis, z. B. sspr.

    mkdir sspr

  3. Navigieren Sie vom Speicherort, an dem Sie die Datei Identity_Manager_4.9.0_Containers.tar.gz extrahiert haben, zum Verzeichnis Identity_Manager_4.9.0_Containers.

  4. Führen Sie den folgenden Befehl aus, um das Image zu laden:

    docker load --input IDM_490_sspr.tar.gz

  5. Stellen Sie den Container mit dem folgenden Kommandobeispiel bereit:

    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. Führen Sie den folgenden Befehl auf dem Docker-Host aus, um die Datei silent.properties vom Docker-Host in den SSPR-Container zu kopieren:

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

  7. Laden Sie die Eigenschaftendatei für die automatische Installation in den SSPR-Container.

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

    HINWEIS:Überprüfen Sie, ob die Datei SSPRConfiguration.xml im Verzeichnis /config des SSPR-Containers erstellt wurde, und überprüfen Sie den Inhalt der Datei.

  8. Importieren Sie das OAuth-Zertifikat in SSPR:

    1. Bearbeiten Sie auf dem Docker-Host die Datei SSPRConfiguration.xml im Verzeichnis /data/sspr/ und legen Sie den Wert des configIsEditable-Flags auf true fest. Speichern Sie die Änderungen.

    2. Öffnen Sie einen Browser und geben Sie die URL https://identitymanager.example.com:8443/sspr ein.

    3. Melden Sie sich mit Administratorberechtigungen an, z. B. als uaadmin.

    4. Klicken Sie oben rechts auf den Benutzer, z. B. auf uaadmin und klicken Sie dann auf Konfigurationseditor.

    5. Geben Sie das Konfigurationspasswort an und klicken Sie auf Anmelden.

    6. Klicken Sie auf Einstellungen > Single Sign-On(SSO)-Client > OAuth und stellen Sie sicher, dass alle URLs das HTTPS-Protokoll und die korrekten Ports verwenden.

    7. Klicken Sie unter OAuth-Server-Zertifikat auf Vom Server importieren, um ein neues Zertifikat zu importieren. Klicken Sie dann auf OK.

    8. Klicken Sie oben rechts auf , um das Zertifikat zu speichern.

    9. Überprüfen Sie die Änderungen und klicken Sie auf OK.

    10. Bearbeiten Sie – nachdem die SSPR-Anwendung neu gestartet wurde – die Datei SSPRConfiguration.xml und legen Sie den Wert des configIsEditable-Flags auf false fest. Speichern Sie die Änderungen.

18.6.13 Bereitstellen eines Identity Console-Containers

Weitere Informationen zur Bereitstellung eines Identity Console-Containers finden Sie unter Bereitstellen der Identity Console als Docker-Container.