18.6 単一サーバ上へのコンテナの展開

この例では、ホストネットワークモードを使用して、すべてのIdentity Managerコンテナが単一のDockerホスト上に展開されます。

18.6.1 前提条件

  • ホスト名が以下に示されるように、FQDN形式であることを確認します。

    <IP of the host> <FQDN> <short_name>

    例:

    172.120.0.1     identitymanager.example.com      identitymanager
    
  • コンテナを展開する前に、サイレントプロパティファイルを生成する必要があります。サイレントプロパティファイルの生成に関する詳細については、サイレントプロパティファイルの作成を参照してください。

コンテナは次の順序で展開される必要があります。

18.6.2 Identity Managerエンジンコンテナの展開

  1. サイレントプロパティファイルを生成します。詳細については、サイレントプロパティファイルの作成を参照してください。

  2. Identity_Manager_4.9.0_Containers.tar.gz fileを抽出した場所から、Identity_Manager_4.9.0_Containersディレクトリに移動します。

  3. 次のコマンドを実行して、イメージをロードします。

    docker load --input IDM_490_identityengine.tar.gz
  4. 次のコマンドを使用してコンテナを展開します。

    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. コンテナが正常に展開されたかどうかを確認するには、次のコマンドを実行してログファイルを確認します。

    tail -f /data/idm/log/idmconfigure.log
  6. コンテナにログインするには、次のコマンドを実行します。

    docker exec -it <container> <command>

    次に例を示します。

    docker exec -it engine-container bash

メモ:ndstraceやndsrepairなどのアイデンティティボールトユーティリティを実行するには、ndsと呼ばれるルート以外のユーザとしてコンテナにログインします。ルートユーザとしてログインしている場合にはこれらのユーティリティは実行できません。ndsユーザとしてコンテナにログインするには、docker exec -it engine-container sudo ndsコマンドを実行します。

18.6.3 リモートローダコンテナの展開

  1. Identity_Manager_4.9.0_Containers.tar.gz fileを抽出した場所から、Identity_Manager_4.9.0_Containersディレクトリに移動します。

  2. 次のコマンドを実行して、イメージをロードします。

    docker load --input IDM_490_remoteloader.tar.gz
  3. 次のコマンドを使用してコンテナを展開します。

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

    これにより、64ビットバージョンおよび32ビットバージョンのリモートローダが展開されます。ドライバファイルはコンテナの/opt/novell/eDirectory/lib/dirxml/classes/ディレクトリにあります。

  4. (状況によって実行)コンテナの展開時に設定ファイルを使用しない場合は、次のコマンドを使用してコンテナを展開します。

    docker run --restart unless-stopped -d --network=host --name=rl-container -v /data:/config --stop-timeout 100 remoteloader:idm-4.9.0-580
  5. コンテナにログインするには、次のコマンドを実行します。

    docker exec -it <container> <command>

    次に例を示します。

    docker exec -it rl-container bash

  6. リモートローダを設定します。詳細については、『NetIQ Identity Manager Driver Administration Guide』の「Configuring the Remote Loader and Drivers」を参照してください。

  7. 設定ファイルが共有ボリュームで利用できることを確認します。

18.6.4 ファンアウトエージェントコンテナの展開

  1. Identity_Manager_4.9.0_Containers.tar.gz fileを抽出した場所から、Identity_Manager_4.9.0_Containersディレクトリに移動します。

  2. 次のコマンドを実行して、イメージをロードします。

    docker load --input IDM_490_fanoutagent.tar.gz
  3. 次のコマンドを使用してコンテナを展開します。

    docker run --restart unless-stopped -d --network=host --name=foa-container -v /data:/config --stop-timeout 100 fanoutagent:idm-4.9.0-580
  4. コンテナにログインするには、次のコマンドを実行します。

    docker exec -it <container> <command>

    次に例を示します。

    docker exec -it foa-container bash

  5. ファンアウトエージェントを設定します。詳細については、『NetIQ Identity Manager Driver for JDBC Fanout Implementation Guide』の「Configuring the Fanout Agent」を参照してください。

18.6.5 アイデンティティボールト認証局での証明書の生成

(状況によって実行)このセクションは、認証局としてアイデンティティボールトを使用している場合にのみ適用されます。

次のコンポーネントは、証明書を生成してから、展開する必要があります。次のコンポーネントの証明書を生成する前に、Identity ManagerエンジンおよびIdentity Consoleコンテナを展開していることを確認します。

  • OSP

  • 識別情報アプリケーション

  • Identity Reporting

証明書を生成するには、次の手順を実行します。

  1. インストールされているJavaバージョンがAzul Zulu 1.8.0_392以降であることを確認します。

  2. Javaパスを設定していることを確認します。たとえば、次のコマンドを実行します。

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

    次に例を示します。

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

  3. 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. 証明書署名要求を生成します。

    keytool -certreq -v -alias idm -file /config/idm.csr -keypass <password> -keystore /config/tomcat.ks -storepass <password>
  5. 自己署名証明書を生成します。

    1. Identity Consoleを起動してログインします。

    2. Certificate Management (証明書管理) > Issue Certificate (証明書の発行)の順に移動します。

    3. 手順3で作成した.csrファイルを参照します。たとえば、idm.csrです。

    4. 開くをクリックします。

    5. Key Usage Specifications (キーの使用法の指定)ドロップダウンで、キータイプを指定します。

    6. Extended Key Usage Specifications (拡張キーの使用法の指定)ドロップダウンで、拡張キータイプを指定します。

    7. 証明書タイプには、Basic Constrains (基本制約)ドロップダウンでUnspecified (未指定)を選択します。

    8. Certificate Parameters (証明書パラメータ)ドロップダウンで証明書の有効期間を指定します。

    9. Certificate format (証明書形式)ドロップダウンで、File in binary DER format (バイナリDER形式のファイル)を選択します。

    10. 次へをクリックします。

    11. OKをクリックします。

    12. 証明書をダウンロードし、ダウンロードされた証明書を/dataディレクトリにコピーします。

  6. .der形式でroot証明書をエクスポートします。

    1. Identity Consoleを起動してログインします。

    2. Certificate Management (証明書管理) > Server Certificate Management (サーバ証明書管理)に移動します。

    3. SSL CertificateDNS (SSL証明書DNS)チェックボックスをオンにして、エクスポートをクリックします。

    4. 証明書ドロップダウンリストで、組織のCAを選択します。

    5. エクスポート形式ドロップダウンリストで、DERを選択します。

    6. OKをクリックします。

    7. 証明書をダウンロードし、ダウンロードされた証明書を/dataディレクトリにコピーします。

  7. 証明書を手順2で作成したPKCSキーストアにインポートします。

    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

メモ:キーストアが展開用の入力として指定されたパスで使用可能であることを確認します。

18.6.6 OSPコンテナの展開

  1. サイレントプロパティファイルを生成します。詳細については、サイレントプロパティファイルの作成を参照してください。

  2. SSO_SERVER_SSL_PORTプロパティが固有のポートに設定されていることを確認します。

  3. Identity_Manager_4.9.0_Containers.tar.gz fileを抽出した場所から、Identity_Manager_4.9.0_Containersディレクトリに移動します。

  4. 次のコマンドを実行して、イメージをロードします。

    docker load --input IDM_490_osp.tar.gz
  5. 次のコマンドを使用してコンテナを展開します。

    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. コンテナが正常に展開されたかどうかを確認するには、次のコマンドを実行してログファイルを確認します。

    tail -f /data/osp/log/idmconfigure.log
  7. 次のコマンドを使用してコンテナを停止します。

    docker stop osp-container
  8. 次のコマンドを実行して、server.xmlファイルのTomcatシャットダウンポートを変更します。次の例では、ポート8005が18005に変更されます。

    sed -i "s~8005~18005~g" /data/osp/tomcat/conf/server.xml
  9. 次のコマンドを使用してコンテナを起動します。

    docker start osp-container
  10. コンテナにログインするには、次のコマンドを実行します。

    docker exec -it <container> <command>

    次に例を示します。

    docker exec -it osp-container bash

18.6.7 PostgreSQLコンテナの展開

  1. Identity_Manager_4.9.0_Containers.tar.gz fileを抽出した場所から、Identity_Manager_4.9.0_Containersディレクトリに移動します。

  2. 次のコマンドを実行して、イメージをロードします。

    docker load --input IDM_490_postgres.tar.gz
  3. 共有ボリューム/dataの下にサブディレクトリ、たとえば、postgresを作成します。

    mkdir postgres
  4. 次のコマンドを使用してコンテナを展開します。

    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

    次に例を示します。

    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. Identity Applications用のidmdaminユーザを作成します。

    docker exec -it postgresql-container psql -U postgres -c "CREATE USER idmadmin WITH ENCRYPTED PASSWORD '<password>'"
  6. Identity Applications、ワークフロー、および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"

    メモ:これらのデータベースは、Identity ApplicationsおよびIdentity Reportingコンテナの設定中に使用されます。

  7. 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. コンテナにログインするには、次のコマンドを実行します。

    docker exec -it <container> <command>

    次に例を示します。

    docker exec -it postgresql-container bash

18.6.8 Identity Applicationsコンテナの展開

  1. Identity_Manager_4.9.0_Containers.tar.gz fileを抽出した場所から、Identity_Manager_4.9.0_Containersディレクトリに移動します。

  2. 次のコマンドを実行して、イメージをロードします。

    docker load --input IDM_490_identityapplication.tar.gz

  3. 次のコマンドを使用してコンテナを展開します。

    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. コンテナが正常に展開されたかどうかを確認するには、次のコマンドを実行してログファイルを確認します。

    tail -f /data/userapp/log/idmconfigure.log
  5. 次のコマンドを実行してキーストアをインポートします。

    メモ:この手順を実行する前に、コンテナが正常に展開されていることを確認します。

    /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. エイリアスidmの既存のエントリを上書きするかどうかを尋ねるプロンプトが表示されます。上書きするには、「yes」と入力します。

  7. エイリアスrootの既存のエントリを上書きするかどうかを尋ねるプロンプトが表示されます。上書きするには、「yes」と入力します。

  8. 次のコマンドを使用してコンテナを停止します。

    docker stop idapps-container
  9. 次のコマンドを実行して、server.xmlファイルのTomcatシャットダウンポートを変更します。次の例では、ポート8005が28005に変更されます。

    sed -i "s~8005~28005~g" /data/userapp/tomcat/conf/server.xml
  10. 次のコマンドで、Dockerコンテナを起動します。

    docker start idapps-container
  11. コンテナにログインするには、次のコマンドを実行します。

    docker exec -it <container> <command>

    次に例を示します。

    docker exec -it idapps-container bash

メモ:設定更新ユーティリティの設定を変更するには、Identity Applicationsコンテナの/opt/netiq/idm/apps/configupdate/ディレクトリからconfigupdate.shを起動します。設定更新ユーティリティはコンソールモードでのみ起動できます。

18.6.9 フォームレンダラコンテナの展開

  1. サイレントプロパティファイルを生成します。サイレントプロパティファイルの生成中にIdentity Applicationsを選択します。詳細については、サイレントプロパティファイルの作成を参照してください。

  2. Identity_Manager_4.9.0_Containers.tar.gz fileを抽出した場所から、Identity_Manager_4.9.0_Containersディレクトリに移動します。

  3. 次のコマンドを実行して、イメージをロードします。

    docker load --input IDM_490_formrenderer.tar.gz
  4. 次のコマンドを使用してコンテナを展開します。

    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. コンテナにログインするには、次のコマンドを実行します。

    docker exec -it <container> <command>

    次に例を示します。

    docker exec -it fr-container bash

18.6.10 ActiveMQコンテナの展開

  1. Identity_Manager_4.9.0_Containers.tar.gz fileを抽出した場所から、Identity_Manager_4.9.0_Containersディレクトリに移動します。

  2. 次のコマンドを実行して、イメージをロードします。

    docker load --input IDM_490_activemq.tar.gz
  3. 次のコマンドを使用してコンテナを展開します。

    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. コンテナにログインするには、次のコマンドを実行します。

    docker exec -it <container> <command>

    次に例を示します。

    docker exec -it amq-container bash

  5. ActiveMQを設定します。詳細については、『NetIQ Identity Manager Driver for JDBC Fanout Implementation Guide』の「Setting Up ActiveMQ Startup Service」を参照してください。

18.6.11 Identity Reportingコンテナの展開

  1. Identity_Manager_4.9.0_Containers.tar.gz fileを抽出した場所から、Identity_Manager_4.9.0_Containersディレクトリに移動します。

  2. 次のコマンドを実行して、イメージをロードします。

    docker load --input IDM_490_identityreporting.tar.gz
  3. 次のコマンドを使用してコンテナを展開します。

    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. コンテナが正常に展開されたかどうかを確認するには、次のコマンドを実行してログファイルを確認します。

    tail -f /data/reporting/log/idmconfigure.log
  5. 次のコマンドを実行してキーストアをインポートします。

    メモ:この手順を実行する前に、コンテナが正常に展開されていることを確認します。

    /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. エイリアスidmの既存のエントリを上書きするかどうかを尋ねるプロンプトが表示されます。上書きするには、「yes」と入力します。

  7. エイリアスrootの既存のエントリを上書きするかどうかを尋ねるプロンプトが表示されます。上書きするには、「yes」と入力します。

  8. 次のコマンドを使用してコンテナを停止します。

    docker stop rpt-container
  9. 次のコマンドを実行して、server.xmlファイルのTomcatシャットダウンポートを変更します。次の例では、ポート8005が38005に変更されます。

    sed -i "s~8005~38005~g" /data/reporting/tomcat/conf/server.xml
  10. (状況によって実行) 認証局としてアイデンティティボールトを使用している場合にのみ適用されます。

    -Dcom.sun.net.ssl.checkRevocation=falseパラメータをsetenv.shファイルのexport CATALINA_OPTSエントリに追加します。この例では、setenv.shファイルは/data/reporting/tomcat/bin/ディレクトリにあります。

  11. 次のコマンドで、Dockerコンテナを起動します。

    docker start rpt-container
  12. コンテナにログインするには、次のコマンドを実行します。

    docker exec -it <container> <command>

    次に例を示します。

    docker exec -it rpt-container bash

18.6.12 SSPRコンテナの展開

以下のタスクを実行して、SSPRコンテナを展開します。

  1. SSPRのサイレントプロパティファイルを生成します。詳細については、サイレントプロパティファイルの作成を参照してください。

  2. 共有ボリューム/dataの下にサブディレクトリ、たとえば、ssprを作成します。

    mkdir sspr

  3. Identity_Manager_4.9.0_Containers.tar.gz fileを抽出した場所から、Identity_Manager_4.9.0_Containersディレクトリに移動します。

  4. 次のコマンドを実行して、イメージをロードします。

    docker load --input IDM_490_sspr.tar.gz

  5. 次のサンプルコマンドを使用してコンテナを展開します。

    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. DockerホストからSSPRコンテナにsilent.propertiesファイルをコピーするには、Dockerホストから次のコマンドを実行します。

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

  7. サイレントプロパティファイルをSSPRコンテナにロードします。

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

    メモ:SSPRConfiguration.xmlが、SSPRコンテナの/configディレクトリに作成されているかどうかを確認し、ファイルの内容を確認します。

  8. OAuth証明書をSSPRにインポートします。

    1. Dockerホストから、/data/sspr/ディレクトリにあるSSPRConfiguration.xmlファイルを編集し、configIsEditableフラグの値をtrueに設定して、変更内容を保存します。

    2. ブラウザを起動し、https://identitymanager.example.com:8443/sspr URLを入力します。

    3. 管理者資格情報、たとえば、uaadminを使用してログインします。

    4. 右上隅のユーザ、たとえば、uaadminをクリックし、Configuration Editor (環境設定エディタ)をクリックします。

    5. 設定パスワードを指定し、Sign In (サインイン)をクリックします。

    6. 設定 > Single Sign On (SSO) Client (シングルサインオン(SSO)クライアント) > OAuthの順にクリックして、すべてのURLがHTTPSプロトコルと正しいポートを使用していることを確認します。

    7. OAuth Server Certificate (OAuthサーバ証明書)の下で、Import From Server (サーバからインポート)をクリックして、新しい証明書をインポートし、OKをクリックします。

    8. 右上隅のをクリックして、証明書を保存します。

    9. 変更を確認し、OKをクリックします。

    10. SSPRアプリケーションが再起動した後で、SSPRConfiguration.xmlファイルを編集し、configIsEditableフラグの値をfalseに設定して、変更内容を保存します。

18.6.13 Identity Consoleコンテナの展開

Identity Consoleコンテナの展開の詳細については、「DockerコンテナとしてのIdentity Consoleの展開」を参照してください。