# Talend Studioで暗号化キーをローテーション

Talend StudioコンポーネントとTalendコンポーネントで、AES GCM 256によるパスワードの暗号化および復号化に暗号化キーが2つ使用されるようになりました。

* system.encryption.key: Nexusパスワード、そしてconnection\_user.propertiesファイルと&lt;jobname&gt;\_&lt;jobversion&gt;.itemジョブプロパティファイル内のパスワードを暗号化および復号化します。同じプロジェクトで作業しているすべてのTalend Studioユーザーが同じシステム暗号化キーを持っていることが必要です。
* routine.encryption.key: ジョブをビルド中および実行中に、パスワードを暗号化および復号化します。

情報メモ警告: Qlikは、1つのTalend Studioでキーをローテーション化し、必要に応じてRemote Engineに新しいキーをデプロイした後にこの新しいキーを他のTalend Studioに配布することを強くお勧めします。

2つのキー(system.encryption.key.v1とroutine.encryption.key.v1)のデフォルト値は、暗号化キー設定ファイルである /configuration/studio.keysに保存されています。このファイルは、Talend Studioの実行ファイルである Talend-Studio-linux-gtk-x86\_64 を初めて実行した後に、Talend Studioのインストールディレクトリーの下に作成されます。以下は、新しく作成されたstudio.keysファイルの例です。

```
system.encryption.key.v1=ObIr3Je6QcJuxJEwErWaFWIxBzEjxIlBrtCPilSByJI\=
routine.encryption.key.v1=YBoRMn8gwD1Kt3CcowOiGeoxRbC2eNNVm7Id6vA3hrk\=
```

パスワードの暗号化および復号化にデフォルトのシステム暗号化キーが使用されない場合は、そのデフォルト値(上記の例では、ObIr3Je6QcJuxJEwErWaFWIxBzEjxIlBrtCPilSByJI\=)を削除して、Talend Studioを再起動すると、その値を変更できます。

ルーチン暗号化キーのデフォルト値は変更できません。プロジェクトに既にログオンしている場合、Qlikでは、暗号化キー設定ファイルにそのキーの新しいバージョンを追加して暗号化キーをローテーション化できます。

システム暗号化キーの新しいバージョンがジョブで有効となるのは、そのジョブを変更して保存した後のみです。

継続的インテグレーションを使用する際に暗号化キーをローテーションする必要がある場合は、-Dstudio.encryption.keys.fileパラメーターを使って暗号化キー設定ファイルへのパスを指定できます。詳細は、[ビルドとデプロイ](https://help.qlik.com/talend/ja-JP/software-dev-lifecycle-best-practices-guide/8.0/ci-build)をご覧ください。

## このタスクについて

暗号化キーは次の手順でローテーション化します。

## 手順

1. Talend Studioのインストールディレクトリーの下の /configuration/studio.keysというキー設定ファイルを開きます。
2. 次の行を追加し、値を空にして暗号化キーの新しいバージョンを追加します。
   * システム暗号化キーの場合:
     ```
     system.encryption.key.v<version_number>=
     ```
   * ルーチン暗号化キーの場合:
     ```
     routine.encryption.key.v<version_number>=
     ```

   &lt;version\_number&gt;には新しい暗号化キーのバージョンを表す単純な整数が入りますが、これは既存のバージョン番号よりも大きくなります。例:
   ```
   system.encryption.key.v2=
   routine.encryption.key.v2=
   ```

   情報メモ警告: 暗号化キーの前のバージョンのうち、パスワードの暗号化で既に使用されてきたものは削除しないでください。
3. キー設定ファイルを保存してTalend Studioを再起動します。

   暗号化キー値の新しいバージョンが生成され、キー設定ファイルに保存されます。
4. Remote Engineでジョブを実行する場合は、キー設定ファイルをそのRemote Engineサーバーにコピーし、Talend Management ConsoleのRemote Engine用ジョブ実行プロファイルで、対応するジョブタスクについて以下のJVM引数を追加してください。
   ```
   -Dencryption.keys.file=<studio_key_path>
   ```

   &lt;studio\_key\_path&gt;はRemote EngineにあるTalend Studio暗号化キーへの絶対パスで、たとえば d/keys/studio.keysとなります。

   Talend Management ConsoleでRemote Engineにジョブ実行プロファイルを定義し、実行プロファイルにJVM引数を追加する方法は、[ジョブ実行プロファイルを設定](https://help.qlik.com/talend/ja-JP/remote-engine-user-guide-linux/Cloud/job-run-profile)をご覧ください。

   その後、Remote Engineでジョブタスクを実行する前に、JVM引数が設定されたジョブ実行プロファイルを選択してタスクの実行設定を編集する必要があります。詳細は、[ジョブタスクにアクセスして編集](https://help.qlik.com/talend/ja-JP/management-console-user-guide/Cloud/access-edit-job-task)をご覧ください。