> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sync.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# カスタムマスターキーの定義

> [!NOTE]
>
> このページには、Sync セルフホスト環境にのみ適用されるコンテンツが含まれています。

CData Sync は、パスワード、API キー、接続資格情報などの機密性の高い設定データを暗号化するためにマスターキーを使用します。このキーはアプリケーションの暗号化フレームワークの一部であり、保存された値を保護するために自動的に適用されます。Sync にはデフォルトで組み込みのマスターキーが含まれていますが、お使いの環境で暗号化とキー管理を直接制御する必要がある場合は、カスタムマスターキーを設定できます。

カスタムマスターキーを使用すると、Sync の暗号化方式を社内のセキュリティポリシーに合わせたり、規制要件に準拠したり、既存のキー管理システムと統合したりできます。また、標準的なセキュリティ運用の一環として、暗号化キーをローテーションすることもできます。

マスターキーは、以下の形式で提供できます：

* ランダムな文字列を含むAES キーファイル
* オプションでパスワード保護を設定できるPFX（PKCS#12）証明書ファイル

> [!WARNING]
>
> カスタムマスターキーへのアクセスを失うと、Sync は保存されている資格情報や設定データを復号できなくなります。この問題を避けるため、カスタムマスターキーを設定する前に、安全なキーのバックアップおよび復旧手順を導入してください。

## データ暗号化キーとマスターキーについて

暗号化では、キーを使用して平文を暗号文に変換します。Sync の使用を開始すると、アプリケーションはランダムなデータ暗号化キー（DEK）を生成します。このキーは平文では保存されず、すべての機密データの暗号化に使用されます。

キー暗号化キー（KEK）とも呼ばれるマスターキーは、データを直接暗号化するものではありません。代わりに、DEK を暗号化します。このアプローチにより、Sync は、保存されているすべてのデータを再暗号化することなくキーのローテーションを可能にしながら、機密データを保護できます。

## カスタムマスターキーの定義

Sync では、暗号化プロパティを設定することで、カスタムマスターキーを定義できます。これらの設定は、Sync のsync.properties 設定ファイル、または環境変数のいずれかで設定します。

* パスワードが必要なPFX 証明書を使用する場合は、sync.properties で`cdata.encryption.key.password` プロパティを設定します。
* AES キーファイルを使用する場合は、sync.properties ファイルでキーパスを指定するか、`APP_KEY` 環境変数を使用します。

## マスターキーの変更

必要に応じて、マスターキーファイルを変更できます。Sync は、現在設定されているキーをすべての暗号化操作に使用します。

マスターキーを変更するには：

1. Sync サービスを停止し、新しいキーファイルが安全に保管およびバックアップされていることを確認します。

2. 以下のいずれかのコマンドを使用して、運用を中断することなくマスターキーを更新します：
   * マスターキーを新しいキーファイルに変更するには：

     ```bash theme={null}
     java -jar sync.jar -ChangeMasterKey <NewMasterKeyFilePath>
     ```

   * パスワードが必要なPFX ファイルにマスターキーを変更するには：

     ```bash theme={null}
     java -jar sync.jar -ChangeMasterKey <NewMasterKeyFilePath> <NewMasterKeyPassword>
     ```

3. Sync を再起動して変更を適用します。

## セーフモードの使用

カスタムマスターキーへのアクセスを失い、機密性の高い値を再設定する必要がある場合は、Sync をセーフモードで起動できます。セーフモードでは、ほとんどのバックグラウンドサービスが無効になり、設定やその他のタスクを復旧できるよう、限定的な機能が利用可能になります。

セーフモードを有効にするには、次のコマンドを実行します：

```bash theme={null}
java -jar sync.jar -safemode
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.