信頼されたタスクをカスタム署名で実行
Talend Studioは、ジョブがJava Jar signing (https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html#Signed_JAR_File)を使ってTalend Management Consoleにデプロイされる前にそのジョブを署名します。
デフォルトのTalend Studio署名キーの代わりに、カスタムのKeyStoreを使って署名を作成および検証することもできます。
zipファイルのMETA-INFフォルダーには.SFファイルがあります。後者のファイルには、そのzipファイルに含まれている全ファイルのSHA-256ダイジェストとマニフェスト自体のダイジェストが含まれています。署名キー自体はTalend Studioにバンドルされています。これによって.SFファイルに署名され、その署名はMETA-INF内の.RSAファイルに出力されます。使用される署名アルゴリズムはRSA-SHA256です。
始める前に
- Talend Studioのバージョンがv8.0 R2022-06以降であること。
- Remote EngineがV2.12.0以降であること。
- サードパーティのJavaキーツールを使ってカスタムJava KeyStoreを生成していること。
手順
-
ジョブアーティファクト署名用のカスタムJava KeyStore (JKS)を設定します。
- ジョブアーティファクト署名用のカスタムJava KeyStoreを設定の説明に従って、Talend StudioでJKSキーを追加します。
- 継続的インテグレーション環境で、次のパラメーターをビルドに追加します。
- -Dsigner.path: カスタムJava KeyStoreへのパス
- -Dsigner.keystore.password: KeyStoreのパスワード(Mavenで暗号化されたものかプレーンテキスト)
- -Dsigner.key.password: キーのパスワード(Mavenで暗号化されたものかプレーンテキスト)
- -Dsigner.key.alias: KeyStoreに関連付けられているエイリアス名
- 署名されたアーティファクトをクラウドに公開します。
- カスタム署名キーによってアーティファクト署名を検証の説明に従って、Remote Engineを有効にしてカスタム署名を検証し、同じJKS設定をそこに設定します。
- まだであれば、このアーティファクトのタスクを作成します。
- 前にカスタム署名の検証を有効にしたRemote Engineやクラスターでジョブタスクを実行します。
タスクの結果
KeyStoreが検証され、タスクが正しく実行されます。
検証に失敗した(たとえばアーティファクトの署名がエンジンで使用されているものと一致しない)場合はタスクの実行も失敗し、次のようなメッセージが表示されます。