Ecosystem Managerサーバーでのブローカー トラストストアの作成 - Teradata Ecosystem Manager

Teradata® Ecosystem Manager インストール、構成、およびアップグレード ガイドユーザー用

Product
Teradata Ecosystem Manager
Release Number
16.20
Published
2018年10月
Language
日本語
Last Update
2018-11-27
dita:mapPath
ja-JP/gif1512743927221.ditamap
dita:ditavalPath
ft:empty
dita:id
B035-3203
Product Category
Analytical Ecosystem
次のステップをEcosystem Managerサーバーで実行し、クライアント証明書をインポートして、ブローカーのトラストストアを作成します。これらのステップをすべてのクライアント証明書に対して繰り返します。
  1. client_certとkeystoreファイルを置く、/home/emという名前のフォルダを作成します。
  2. クライアントからクライアント証明書ファイルをコピーして、次のコマンドを実行します。keytool -import -alias <hostname-of-EM-client> -keystore broker.ts -file client_cert
    システムは次のように応答します:
    Enter keystore password:
    Re-enter new password:
    Owner: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
    Issuer: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
    Serial number: ed415cb
    Valid from: Tue Jun 23 18:21:18 UTC 2015 until: Mon Sep 21 18:21:18 UTC 2015
    Certificate fingerprints:
             MD5:  9F:47:D4:AE:98:69:FA:D9:F6:C7:DB:F4:BA:2A:C2:59
             SHA1: 62:3A:AB:F0:72:F5:3E:91:FD:E9:3E:C5:85:DC:37:52:B3:34:FD:D0
             SHA256: 27:D2:02:A7:B1:0C:19:BA:D0:2A:E1:CA:86:B0:63:19:97:3F:08:61:DC:51:B1:B8:AB:0D:BE:E1:E6:19:BD:62
             Signature algorithm name: SHA256withRSA
             Version: 3
    
    Extensions:
    
    #1: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: BB C4 91 8C 24 04 54 1F   DF DB 3D 98 43 CE AE ED  ....$.T...=.C...
    ]
    ]
    
    Trust this certificate? [no]:  yes
    Certificate was added to keystore
    

    ブローカー用のトラストストアが作成され、ブローカーはクライアントを信頼できるようになります。broker.tsが作成されていることを確認します。

  3. broker.tsが作成されていることを確認します。
  4. Ecosystem Managerサーバー用に証明書とキーストアを作成します。keytool -genkey -alias <hostname-of-EM-server> -keyalg RSA -keystore server.ks
  5. ブローカー キー ファイルの作成時に保存したときと同じ質問に答え、同じパスワードを使用します。
    Enter keystore password:
    What is your first and last name?
      [Unknown]:
    What is the name of your organizational unit?
      [Unknown]:
    What is the name of your organization?
      [Unknown]:
    What is the name of your City or Locality?
      [Unknown]:
    What is the name of your State or Province?
      [Unknown]:
    What is the two-letter country code for this unit?
      [Unknown]:
    Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown correct?
      [no]:  yes
    
    Enter key password for <hostname-of-EM-server>
            (RETURN if same as keystore password):
    
  6. 次のコマンドを使用して、サーバー用トラストストアを作成し、ブローカーの証明書をインポートします。keytool -import -alias <hostname-of-EM-server> -keystore server.ts -file /opt/teradata/jvm64/jdk7/bin/broker_cert
    システムは次のように応答します:
    Enter keystore password:
    Re-enter new password:
    Owner: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
    Issuer: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
    Serial number: 559b65aa
    Valid from: Tue Jun 23 18:15:54 UTC 2015 until: Mon Sep 21 18:15:54 UTC 2015
    Certificate fingerprints:
             MD5:  97:3A:70:71:B5:5E:12:0A:7D:AD:A7:94:A5:BF:1A:0C
             SHA1: 8B:A9:37:A0:15:61:ED:25:1F:AA:47:6D:1F:F1:73:D5:D9:C4:69:54
             SHA256: 46:B9:B2:9D:E4:AE:E3:26:CC:D5:4C:B7:56:ED:98:8D:4F:82:76:87:73:0E:49:E3:CF:70:AC:2F:66:D4:88:1F
             Signature algorithm name: SHA256withRSA
             Version: 3
    
    Extensions:
    
    #1: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: 0F CA D5 A2 22 6B 74 40   45 ED 2D 63 7F 7B 03 17  ...."kt@E.-c....
    0010: CA BE 18 0B                                        ....
    ]
    ]
    
    Trust this certificate? [no]:  yes
    Certificate was added to keystore
    

    これで、Ecosystem Managerサーバー上で実行されるEcosystem Managerサービスが、ブローカーを"信頼する"ようになります。サーバー用のトラストストアが作成されます。

  7. ブローカーと共有できるように、サーバーの証明書をエクスポートします。keytool -export -alias <hostname-of_EM-server> -keystore server.ks -file server_cert
    システムは次のように応答します:
    Enter keystore password:
    Certificate stored in file server_cert
  8. サーバーの証明書をインポートします。keytool -import -alias <hostname-of-EM-server> -keystore broker.ts -file server_cert
    システムは次のように応答します:
    Enter keystore password:
    Owner: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
    Issuer: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
    Serial number: 300263d1
    Valid from: Tue Jun 23 18:18:11 UTC 2015 until: Mon Sep 21 18:18:11 UTC 2015
    Certificate fingerprints:
             MD5:  C1:1C:8C:C0:9B:A5:42:60:A0:A8:CC:CF:62:65:52:0D
             SHA1: 43:79:D8:32:AD:F2:B0:F9:3A:F6:96:FE:8E:F3:BE:13:71:6B:6B:F2
             SHA256: 83:23:00:9F:4B:19:01:1A:1E:21:78:72:9E:2D:E5:C2:C6:04:9C:1C:58:64:2C:A3:C3:C4:CE:CF:0C:07:0D:D2
             Signature algorithm name: SHA256withRSA
             Version: 3
    
    Extensions:
    
    #1: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: 83 75 6D 0E A2 76 EE 16   84 09 13 40 AF F4 88 8A  .um..v.....@....
    0010: 50 65 D2 03                                        Pe..
    ]
    ]
    
    Trust this certificate? [no]:  yes
    Certificate was added to keystore
    
  9. broker.ksファイルとbroker.tsファイルを/opt/teradata/tdactivemq/apache-activemq-5.13.1/conf/にコピーします。
  10. /etc/profileファイルを開き、ファイルの終わりに以下のエントリを追加して、環境変数ACTIVEMQ_SSL_OPTSを構成します。ACTIVEMQ_SSL_OPTS='-Djavax.net.ssl.keyStore=/opt/teradata/tdactivemq/apache-activemq-5.13.1/conf/broker.ks -Djavax.net.ssl.keyStorePassword=password'; export ACTIVEMQ_SSL_OPTS

    このコマンドでは、キーストアのパスワードを使用します。

  11. ACTIVEMQ_SSL_OPTS環境変数を現在のセッションで利用できるようにするため、変更内容とsource/etc/profileを保存します。source /etc/profile
  12. 両方のEMサーバーで/etc/init.d/tdactivemqを更新します。export ACTIVEMQ_OPTS=...=1500で始まる行を見つけます。export ACTIVEMQ_OPTS=...1500 $ACTIVEMQ_SSL_OPTSに変更します。
  13. /opt/teradata/tdactivemq/config/td-broker.xmlにあるブローカー設定ファイルを開き、keystorePasswordとtruststorePasswordを変更します。
    <sslContext>
                <sslContext
                 keyStore="file:${activemq.base}/conf/broker.ks
                 keyStorePassword="password"
                 trustStore="file:${activemq.base}/conf/broker.ts
                 trustStorePassword="password"/>
    </sslContext>
    
  14. /opt/teradata/tdactivemq/config/td-broker.xmlのSSLを有効にします(コメントがある場合は解除)
    <transportConnectors>
                <transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/>
                <transportConnector name="ssl" uri="ssl://0.0.0.0:61617?
                 needClientAuth=true"/>
            </transportConnectors>
    
  15. /home/emとそこに含まれるすべてのファイルに、777のアクセス権を与えます。
  16. SSLオプションを含めるように、emeventconsumerサービス スタートアップ スクリプトを変更します。
    1. 元のファイルをコピーします。cp /opt/teradata/emserver/bin/emeventconsumer /opt/teradata/emserver/bin/emeventconsumer.original
    2. Syncuserとしてログオンして、$EM_HOME/bin/emeventconsumerファイルを開き、tcpsslに変更します。
       BROKER=`echo $line | grep -e "BROKER=" | cut -d"#" -f1 | cut -d"=" -f2`
            if ["$BROKER" !="" ]
            then
              if ["$BROKER_LIST"=="" ]
              then
                BROKER_LIST="tcp ://$BROKER?wireFormat.maxInactivityDuration=0"
              else
                BROKER_LIST="$BROKER_LIST,tcp://$BROKER?wireFormat.maxInactivityDuration=0
      

      以下に変更します:

       BROKER=`echo $line | grep -e "BROKER=" | cut -d"#" -f1 | cut -d"=" -f2`
            if ["$BROKER" !="" ]
            then
              if ["$BROKER_LIST"=="" ]
              then
                BROKER_LIST="ssl ://$BROKER?wireFormat.maxInactivityDuration=0"
              else
                BROKER_LIST="$BROKER_LIST,ssl://$BROKER?wireFormat.maxInactivityDuration=0
      
    3. $EM_HOME/bin/emeventconsumerファイルを開き、start関数を見つけます。
                if [ "$SYNCUSER" == "" ]; then
      nohup $JAVA -Djava.util.logging.config.file=
      $LOGGING_CONFIG -classpath $CLASSPATH_SERVICE $CONSUMER_CLASS
      "--url=failover:($BROKER_LIST)" --dbsystem=$DBSYSTEM --
      consumerName=$CONSUMERNAME --clientId=$CLIENTID --smtpServer=
      $SMTPSERVER --fromEmailAddr=$FROMEMAILADDR --adminEmailAddr=
      $ADMINEMAILADDR --maxBatchMessageCount=$maxMessageCount --
      latencyTimer=$latencyTimer --reconnectingInterval=
      $reconnectingInterval --receiveTimeOut=$POLINGINTERVAL >
      $EM_HOME/logs/emeventconsumer.log 2>&1 &
      else
      if [ "$EFFECTIVEUSER" != "$SYNCUSER" ]; then
      /bin/su $SYNCUSER -c "nohup $JAVA -
      Djava.util.logging.config.file=$LOGGING_CONFIG -classpath
      $CLASSPATH_SERVICE $CONSUMER_CLASS --
      url=failover:'('$BROKER_LIST')' --dbsystem=$DBSYSTEM --
      consumerName=$CONSUMERNAME --clientId=$CLIENTID --smtpServer=
      $SMTPSERVER --fromEmailAddr=$FROMEMAILADDR --adminEmailAddr=
      $ADMINEMAILADDR --maxBatchMessageCount=$maxMessageCount --
      latencyTimer=$latencyTimer --reconnectingInterval=
      $reconnectingInterval --receiveTimeOut=$POLINGINTERVAL >
      $EM_HOME/logs/emeventconsumer.log 2>&1 &"
      else
      nohup $JAVA -Djava.util.logging.config.file=
      $LOGGING_CONFIG -classpath $CLASSPATH_SERVICE $CONSUMER_CLASS --
      url=failover:'('$BROKER_LIST')' --dbsystem=$DBSYSTEM --
      consumerName=$CONSUMERNAME --clientId=$CLIENTID --smtpServer=
      $SMTPSERVER --fromEmailAddr=$FROMEMAILADDR --adminEmailAddr=
      $ADMINEMAILADDR --maxBatchMessageCount=$maxMessageCount --
      latencyTimer=$latencyTimer --reconnectingInterval=
      $reconnectingInterval --receiveTimeOut=$POLINGINTERVAL >
      $EM_HOME/logs/emeventconsumer.log 2>&1 &
      fi
      fi
      
      以下に変更します:
      if [ "$SYNCUSER" == "" ]; then
      nohup $JAVA 
       -Djavax.net.ssl.keyStore=/ home/em/server.ks -Djavax.net.ssl.keyStorePassword=password - Djavax.net.ssl.trustStore=/home/em/server.ts  -
      Djava.util.logging.config.file=$LOGGING_CONFIG -classpath
      $CLASSPATH_SERVICE $CONSUMER_CLASS "--url=failover:
      ($BROKER_LIST)" --dbsystem=$DBSYSTEM --consumerName=
      $CONSUMERNAME --clientId=$CLIENTID --smtpServer=$SMTPSERVER --
      fromEmailAddr=$FROMEMAILADDR --adminEmailAddr=$ADMINEMAILADDR --
      maxBatchMessageCount=$maxMessageCount --latencyTimer=
      $latencyTimer --reconnectingInterval=$reconnectingInterval –
      receiveTimeOut=$POLINGINTERVAL > $EM_HOME/logs/
      emeventconsumer.log 2>&1 &
      else
      if [ "$EFFECTIVEUSER" != "$SYNCUSER" ]; then
      /bin/su $SYNCUSER -c "nohup $JAVA -
       Djavax.net.ssl.keyStore=/home/em/server.ks - Djavax.net.ssl.keyStorePassword=password - Djavax.net.ssl.trustStore=/home/em/server.ts  -
      Djava.util.logging.config.file=$LOGGING_CONFIG -classpath
      $CLASSPATH_SERVICE $CONSUMER_CLASS --
      url=failover:'('$BROKER_LIST')' --dbsystem=$DBSYSTEM --
      consumerName=$CONSUMERNAME --clientId=$CLIENTID --smtpServer=
      $SMTPSERVER --fromEmailAddr=$FROMEMAILADDR --adminEmailAddr=
      $ADMINEMAILADDR --maxBatchMessageCount=$maxMessageCount --
      latencyTimer=$latencyTimer --reconnectingInterval=
      $reconnectingInterval --receiveTimeOut=$POLINGINTERVAL > $EM_HOME/
      logs/emeventconsumer.log 2>&1 &"
      else
      nohup $JAVA  -Djavax.net.ssl.keyStore=/ home/em/server.ks -Djavax.net.ssl.keyStorePassword=password - Djavax.net.ssl.trustStore=/home/em/server.ts-
      Djava.util.logging.config.file=$LOGGING_CONFIG -classpath
      $CLASSPATH_SERVICE $CONSUMER_CLASS --
      url=failover:'('$BROKER_LIST')' --dbsystem=$DBSYSTEM --
      consumerName=$CONSUMERNAME --clientId=$CLIENTID --smtpServer=
      $SMTPSERVER --fromEmailAddr=$FROMEMAILADDR --adminEmailAddr=
      $ADMINEMAILADDR --maxBatchMessageCount=$maxMessageCount --
      latencyTimer=$latencyTimer --reconnectingInterval=
      $reconnectingInterval --receiveTimeOut=$POLINGINTERVAL > $EM_HOME/
      logs/emeventconsumer.log 2>&1 &
      fi
      fi
      
    4. $EM_HOME/conf/emeventconsumer$EM_HOME/conf/emeventconsumer.originalにコピーします。
    5. $EM_HOME/conf/emeventconsumerファイルで、6161661617に変更します。
  17. SSLオプションを含めるように、empublisherサービス スタートアップ スクリプトを変更します。
    1. 元のファイルをコピーします。cp /opt/teradata/emserver/bin/empublisher /opt/teradata/emserver/bin/empublisher.original
    2. $EM_HOME/bin/empublisherファイルを開き、start関数を見つけます。
                 if [ "$SYNCUSER" == "" ];then
      nohup $JAVA -Dservice_name=empublisher
      $SERVICE_FLAGS -Djava.util.logging.config.file=$LOGGING_CONFIG -
      classpath $CLASSPATH_SERVICE $PUBLISHER_CLASS --threadPoolSize=
      $NUM_THREADS > $EM_HOME/logs/empublisher.log 2>&1 &
      else
      if [ "$EFFECTIVEUSER" != "$SYNCUSER" ];then
      /bin/su $SYNCUSER -c "nohup $JAVA -
      Dservice_name=empublisher $SERVICE_FLAGS –
      Djava.util.logging.config.file=$LOGGING_CONFIG -classpath
      $CLASSPATH_SERVICE $PUBLISHER_CLASS --threadPoolSize=
      $NUM_THREADS > $EM_HOME/logs/empublisher.log 2>&1 &"
      else
      nohup $JAVA -Dservice_name=empublisher
      $SERVICE_FLAGS -Djava.util.logging.config.file=$LOGGING_CONFIG -
      classpath $CLASSPATH_SERVICE $PUBLISHER_CLASS --threadPoolSize=
      $NUM_THREADS > $EM_HOME/logs/empublisher.log 2>&1 &
      Fi
      fi
      
      以下に変更します:
                  if [ "$SYNCUSER" == "" ];then
      nohup $JAVA -
       Djavax.net.ssl.keyStore=/home/em/ server.ks - Djavax.net.ssl.keyStorePassword=password - Djavax.net.ssl.trustStore=/home/em/server.ts - 
      Dservice_name=empublisher $SERVICE_FLAGS -
      Djava.util.logging.config.file=$LOGGING_CONFIG -classpath
      $CLASSPATH_SERVICE $PUBLISHER_CLASS --threadPoolSize=
      $NUM_THREADS > $EM_HOME/logs/empublisher.log 2>&1 &
      else
      if [ "$EFFECTIVEUSER" != "$SYNCUSER" ];then
      /bin/su $SYNCUSER -c "nohup $JAVA -
       Djavax.net.ssl.keyStore=/home/em/server.ks - Djavax.net.ssl.keyStorePassword=password - Djavax.net.ssl.trustStore=/home/em/server.ts  -
      Dservice_name=empublisher $SERVICE_FLAGS -
      Djava.util.logging.config.file=$LOGGING_CONFIG -classpath
      $CLASSPATH_SERVICE $PUBLISHER_CLASS --threadPoolSize=
      $NUM_THREADS > $EM_HOME/logs/empublisher.log 2>&1 &"
      else
      nohup $JAVA  -Djavax.net.ssl.keyStore=/ home/em/server.ks -Djavax.net.ssl.keyStorePassword=password - Djavax.net.ssl.trustStore=/home/em/server.ts  -
      Dservice_name=empublisher $SERVICE_FLAGS -
      Djava.util.logging.config.file=$LOGGING_CONFIG -classpath
      $CLASSPATH_SERVICE $PUBLISHER_CLASS --threadPoolSize=
      $NUM_THREADS > $EM_HOME/logs/empublisher.log 2>&1 &
      fi
      fi
      
    3. $EM_HOME/conf/transport.propertiesファイルを$EM_HOME/conf/transport.properties.originalにコピーします。
    4. $EM_HOME/conf/transport.propertiesで、6161661617に変更します。
    5. $EM_HOME/conf/transport.propertiesで、tcpsslに変更します。
  18. broker.ksファイルとbroker.tsファイルを/opt/teradata/tdactivemq/apache-activemq-5/13.1/conf/folderにコピーします。
  19. client.ksファイルとclient.tsファイルをEcosystem Managerクライアントからopt/teradata/tdactivemq/apache-activemq-5.13.1/conf/ folderにコピーします。
  20. tdactivemqを開始します。/etc/init.d/tdactivemq start
  21. activemqログ ファイルを参照して、6161661617の両方が含まれていることを確認します。/var/opt/teradata/tdactivemq/logs/activemq.log
  22. 次のスクリプトをsyncuserとして実行し、すべてのemservicesを開始します。$EM_HOME/bin/set_master_single.sh