メイン コンテンツをスキップする 補完的コンテンツへスキップ

データ統合ジョブ向けにカスタムのTruststoreファイルやKeystoreファイルを設定

Dynamic Engine環境内で実行されるデータ統合ジョブ向けにカスタムのTruststoreファイルやKeystoreを提供し、安全な接続を可能にします。

このタスクについて

ジョブで外部サービスに安全に接続する場合は、環境デプロイメント時に、独自のTruststoreを、またはTruststoreとKeystoreの両方を提供できます。

手順

  1. データ統合ジョブで使用するTruststoreファイルまたはKeystoreファイルを作成します。

    たとえば、ジョブはMySQLデータベースへの接続と、サーバーのIDを確認するためにカスタムの信頼ストアが必要になります。KeystoreファイルやTruststoreファイルを生成する場合は、keytoolコマンドラインユーティリティを使用できます。次に、ジョブで使用されるTruststoreには、MySQLサーバーの証明書に署名した認証局(CA)の証明書が含まれている必要があります。これにより、MySQLクライアントとしてのDynamic Engine環境がサーバーのIDを検証できるようになります。

    keytoolの詳細は、Keytoolをご覧ください。MySQLのSSL接続の設定手順については、MySQLのドキュメンテーションをご覧ください。

    情報メモ注: KeystoreとTruststoreについて:
    • サーバーKeystoreとクライアントTruststore: サーバーKeystoreは、サーバーのプライベートキーと証明書チェーンを保持しています。クライアントがサーバーのIDを検証できるよう、クライアントのTruststoreには、サーバーの署名付き証明書(keytool -exportを使ってサーバーKeystoreからエクスポートされたもの)、またはサーバーの証明書に署名した認証局(CA)証明書が含まれている必要があります。

      実行時に、クライアントのTLS(トランスポートレイヤーセキュリティ)スタックがサーバーの証明書を信頼できるかどうかを検証します。これを行うには、中間証明書を経由し、Truststoreで既に信頼されている証明書を見つけるまでサーバーの証明書チェーンを辿ります。この検証に失敗した場合、セキュアな接続(ハンドシェイク)は中断されます。つまり、クライアントはサーバーの証明書とTrustoreのエントリーが一致したときのみ接続することになります。

  2. カスタム値ファイルを作成し、Dynamic Engine環境に対してTuststoreファイル、またはTruststoreファイルとKeystoreファイルの両方を提供します。

    この例では、Truststoreファイルのみが使用されます。
    DYN_ENGINE_ENV_ID=<environment-id>
    STORE_TYPE=truststore
    STORE_FILE=${keystoreFolder}/job-truststore.pc12
    STORE_PASSWORD=${jobTruststorePassword}
    STORE_FILE_TYPE=$(keytool -list -keystore "$STORE_FILE" \
    -storepass "$STORE_PASSWORD" 2>/dev/null | awk -F': ' '/Keystore type/{print $2}')
    cat <<EOF > $DYN_ENGINE_ENV_ID-custom-$STORE_TYPE-values.yaml
    configuration:
      $STORE_TYPE:
        enabled: true
        data: $(base64 -i $STORE_FILE | tr -d '\n')
        password: $STORE_PASSWORD
        type: $STORE_FILE_TYPE
    EOF       
    必要であれば、環境と認証情報に応じて変数値を置換してください。
    情報メモヒント: 一部のユースケースでは、ジョブが外部システムのIDを確認するためのTruststoreと、その外部システムへの認証を行うためのKeystoreの両方を提供する必要がことが必要です。そのようなシナリオでは、TruststoreとKeystoreそれぞれに対して値ファイルを作成します:
    # Create the truststore values file
    DYN_ENGINE_ENV_ID=<environment-id>
    STORE_TYPE=truststore
    STORE_FILE=${keystoreFolder}/job-truststore.pc12
    STORE_PASSWORD=${jobTruststorePassword}
    STORE_FILE_TYPE=$(keytool -list -keystore "$STORE_FILE" \
    -storepass "$STORE_PASSWORD" 2>/dev/null | awk -F': ' '/Keystore type/{print $2}')
    cat <<EOF > $DYN_ENGINE_ENV_ID-custom-$STORE_TYPE-values.yaml
    configuration:
      $STORE_TYPE:
        enabled: true
        data: $(base64 -i $STORE_FILE | tr -d '\n')
        password: $STORE_PASSWORD
        type: $STORE_FILE_TYPE
    EOF  
    
    # Create the values file forkeystore
    STORE_TYPE=keystore
    STORE_FILE=${keystoreFolder}/job-keystore.jks
    STORE_PASSWORD=${jobKeystorePassword}
    STORE_FILE_TYPE=$(keytool -list -keystore "$STORE_FILE" \
    -storepass "$STORE_PASSWORD" 2>/dev/null | awk -F': ' '/Keystore type/{print $2}')
    cat <<EOF > $DYN_ENGINE_ENV_ID-custom-$STORE_TYPE-values.yaml
    configuration:
      $STORE_TYPE:
        enabled: true
        data: $(base64 -i $STORE_FILE | tr -d '\n')
        password: $STORE_PASSWORD
        type: $STORE_FILE_TYPE
    EOF
  3. カスタム値ファイルを使って、Dynamic Engine環境チャートをインストールまたはアップグレードします。
    helm install dyn-engine-env-<environment-id> -f <environment-id>-values.yaml  \
     -f <environment-id>-custom-truststore-values.yaml \
     oci://ghcr.io/talend/helm/dynamic-engine-environment \
     --version <engine-version>              

    上述のとおり、ここではTruststoreの値ファイルのみが必要です。

    アップグレードでは、helm installの代わりにhelm upgradeを使用します。
    情報メモヒント: ジョブがTruststoreとKeystoreの両方のファイルを提供する必要がある場合は、次のコマンドを実行して両方の値ファイルを同時に適用します:
    helm install dyn-engine-env-<environment-id> -f <environment-id>-values.yaml  \
     -f <environment-id>-custom-truststore-values.yaml \
      -f <environment-id>-custom-keystore-values.yaml \
     oci://ghcr.io/talend/helm/dynamic-engine-environment \
     --version <engine-version>
  4. Dynamic Engine環境の準備が整っていること、そしてデータ統合ジョブがカスタムのTruststoreファイルまたはKeystoreファイルにアクセスできることを確認します。
    • 環境サービスがすべて実行されていることを確認します。
    • データ統合ジョブを起動し、カスタムのTruststoreファイルまたはKeystoreファイルを使って必要な外部システムに接続できることを確認します。

タスクの結果

デプロイメントが完了すると、Dynamic Engine環境内のデータ統合ジョブは、セキュアな接続のために指定されたTruststoreまたはKeystoreを使用します。

情報メモヒント: データ統合ジョブを外部システムに安全に接続するには、環境レベルでTruststoreファイルまたはKeystoreファイルを設定するだけで十分です。このファイルには、SSL接続を可能にする証明書チェーンが含まれています。ジョブやStudioの設定を変更する必要はありません。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。