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

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

> CData Arc で機密データを暗号化するためのカスタムマスターキーを設定およびローテーションする方法。

export const siteNameShort = "Arc";

export const siteName = "CData Arc";

{siteName} は、コネクタ設定に保存されたパスワード、API キー、接続認証情報といった機密性の高い暗号化データを保護するために、マスターキーを使用します。デフォルトでは、{siteNameShort} は組み込みのマスターキーを提供しますが、厳格なセキュリティ要件を持つ組織は、暗号化インフラストラクチャを完全に制御するためにカスタムマスターキーを定義できます。これにより、ユーザー定義のマスターキーを簡単にローテーションできるようになります。

マスターキーは2つのフォーマットで提供できます。AES キーファイル内のランダムな文字列として、またはオプションでパスワード保護されたPFX（PKCS#12）証明書ファイルとして提供できます。カスタムマスターキーにより、企業は{siteNameShort} の暗号化方法を社内のセキュリティポリシーに合わせ、規制要件に準拠し、既存の鍵管理システムと統合することができます。

<Warning>カスタムマスターキーへのアクセスを失うと、{siteNameShort} は保存された認証情報や設定データを復号できなくなります。カスタムマスターキーを設定する前に、安全な鍵のバックアップとリカバリの手順を実装してください。</Warning>

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

暗号化は、データの一部である*キー*を使ってプレーンテキストを暗号文にスクランブルすることで機能します。アプリケーションを初めて使用する際、{siteNameShort} はどこにもプレーンテキストで保存されないランダムなキーを生成します。これが*データ暗号化キー*（DEK）です。すべてのデータはこのキーを使用して暗号化されます。

*マスターキー*（Key Encryption Key、KEK とも呼ばれます）は、データを直接暗号化するものではありません。代わりに、他のキーを暗号化するラッパーです。{siteNameShort} は組み込みのマスターキーも提供しますが、上述のとおり、代わりに独自のマスターキーを定義することもできます。このトピックの残りの部分では、ユーザー定義のマスターキーを作成または更新する方法について説明します。

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

マスターキーを定義する方法は、{siteNameShort} のエディションの種類によって異なります。

* **クロスプラットフォーム版：** [arc.properties](./arc-properties-configuration) 設定ファイル内の [cdata.encryption.key](./arc-properties-configuration#cdata-encryption-key) プロパティを使用してキーを定義します。PFX キーを定義し、パスワードが必要な場合は、[cdata.encryption.key.password](./arc-properties-configuration#cdata-encryption-key-password) プロパティに設定します。あるいは、AES キーを使用している場合は、`APP_KEY` 環境変数を使用してキーファイルへのファイルパスを指定できます。

* **.NET 版：** Web.Config ファイルの `appSettings` 要素内に `AppKey` 設定が見つからない場合、マスターキー暗号化は無効になっています。有効にするには、Web.Config ファイルの `AppKey` 設定要素にファイルパスを設定します。PFX キーを定義し、パスワードが必要な場合は、`AppKeyPassword` 設定に設定します。Web.Config に追加する必要のあるXML スニペットは次のとおりです：

  ```xml theme={null}
  <appSettings>
    <!-- The path to the master key file to use for encryption. To replace an existing master key, do not modify this file. Instead, you must use: CData.exe appChangeMasterKey -NewKey <new-master-key-path>. -->
    <add key="AppKey" value="C:\Keys\mykey.pfx" />
    <add key="AppKeyPassword" value="Password123" />
  </appSettings>
  ```

## マスターキーの変更

必要に応じて、マスターキーファイルを置き換えることができます。{siteNameShort} は、暗号化に常にユーザーが指定したキーを使用します。キーファイルは安全に管理およびバックアップされ、このプロセスはユーザーにとってのリスクと複雑さを最小限に抑えるように設計されています。マスターキーを変更するには、サーバーを停止していることを確認してから、次のいずれかのオプションを使用します：

* **クロスプラットフォーム版：** 管理者は `arc.jar -ChangeMasterKey <new-master-key-file-path>` コマンドを使用して、操作を中断することなく暗号化キーをローテーションできます。マスターキーをPFX ファイルに変更し、パスワードが必要な場合は、`arc.jar -ChangeMasterKey <new-master-key-file-path> <new-master-key-password>` コマンドを使用します。
* **.NET 版：** 管理者は `CData.exe appChangeMasterKey -NewKey <new-master-key-file-path> -@libdir "www\bin"` コマンドを使用する必要があります（Web.Config ファイルを直接変更しないでください）。マスターキーをPFX ファイルに変更し、パスワードが必要な場合は、`CData.exe appChangeMasterKey -NewKey <new-master-key-file-path> -NewKeyPassword <new-PFX-password> -@libdir "www\bin"` コマンドを使用します。

<Note>{siteNameShort} は、PFX 証明書ファイルではRSA アルゴリズムのみをサポートします。その他のDSA またはECC 証明書は拒否されます。</Note>

## セーフモードの使用

カスタムマスターキーを紛失し、（保有している別の記録元から）設定の機密性の高い値を再保存する必要がある場合は、{siteNameShort} をセーフモードで起動できます。これにより、すべてのバックエンドオートメーションサービスが無効になり、ごく限られた機能のみが有効になるため、設定やその他のタスクの復元を試みることができます。セーフモードを有効にするには：

* **クロスプラットフォーム版：** `java -jar arc.jar -safemode` を実行します。
* **.NET 版：** Web.Config ファイルの `appSettings` 要素に `<add key="SafeMode" value="true" />` を追加します。
