カスタムキーストアとは
このトピックでは、AWS KMS カスタムキーストアで使用される概念の一部について説明します。
AWS KMS カスタムキーストア
キーストア は、暗号化キーを保存するための安全な場所です。AWS KMS のデフォルトのキーストアは、保存されているキーを生成および管理するためのメソッドもサポートしています。デフォルトでは、AWS KMS で作成する AWS KMS key は、FIPS 140-2 で検証済み暗号化モジュール
ただし、HSM をさらに制御する必要がある場合は、所有し、管理する AWS CloudHSM クラスターの FIPS 140-2 レベル 3 HSM によってバックアップされるカスタムキーストアを作成できます。
カスタムキーストアは、AWS CloudHSM クラスターに関連付けられた AWS KMS リソースです。カスタムキーストアで KMS キーを作成すると、AWS KMS は関連する AWS CloudHSM クラスターに、256 ビットの永続的でエクスポート不可能な Advanced Encryption Standard (AES) 対称キーを生成します。このキーマテリアルは、HSM を非暗号化のままにしません。カスタムキーストアで KMS キーを使用する際、暗号化オペレーションはクラスター内の HSM で実行されます。
カスタムキーストアは、AWS KMS の便利で包括的なキー管理インターフェイスと、AWS アカウント の AWS CloudHSM クラスターによって提供される追加コントロールを組み合わせます。この統合された機能により、クラスター、HSM、バックアップの管理など、キーマテリアルを保存する HSM を完全に制御しながら、AWS KMS で KMS キーを作成、管理、使用することができます。AWS KMS コンソールと API を使用して、カスタムキーストアとその KMS キーを管理できます。関連するクラスターを管理するには、AWS CloudHSM コンソール、API、クライアントソフトウェア、および関連するソフトウェアライブラリを使用することもできます。
カスタムキーストアの表示と管理、プロパティの編集、関連付けられた AWS CloudHSM クラスターの接続と切断を行うことができます。カスタムキーストアを削除する必要がある場合は、削除をスケジュールし、猶予期間終了まで待機して、カスタムキーストア内の KMS キーを削除する必要があります。カスタムキーストアを削除すると、リソースが AWS KMS から削除されますが、AWS CloudHSM クラスターには影響しません。
AWS CloudHSM クラスター
すべての AWS KMS カスタムキーストアは、1 つの AWS CloudHSM クラスターに関連付けられています。カスタムキーストアに AWS KMS key を作成すると、AWS KMS が関連付けられたクラスターでキーマテリアルを作成します。カスタムキーストアで KMS キーを使用すると、関連付けられたクラスターで暗号化オペレーションが実行されます。
各 AWS CloudHSM クラスターは、1 つのカスタムキーストアにのみ関連付けることができます。選択したクラスターを別のキーストアに関連付けたり、関連するクラスターとバックアップ履歴を共有することはできません。クラスターは初期化され、アクティブで、AWS KMS カスタムキーストアと同じ AWS アカウント およびリージョンに存在する必要があります。新しいクラスターを作成したり、既存のクラスターを使用したりすることができます。AWS KMS はクラスターの排他的使用を必要としません。カスタムキーストアに KMS キーを作成するには、関連付けられたクラスターに 2 つ以上のアクティブな HSM が含まれている必要があります。他のすべてのオペレーションでは、1 つの HSM しか必要ありません。
カスタムキーストアを作成するときにクラスターを指定しますが、変更することはできません。ただし、バックアップ履歴を共有するクラスターは、元のクラスターに置き換えることができます。これにより、必要に応じてクラスターを削除し、バックアップの 1 つから作成したクラスターに置き換えることができます。関連する AWS CloudHSM クラスターを完全に制御することにより、ユーザーとキーを管理し、HSM を作成および削除して、バックアップを使用および管理できます。
カスタムキーストアを使用する準備ができたら、関連する AWS CloudHSM クラスターに接続します。いつでもカスタムキーストアを接続および切断できます。カスタムキーストアが接続されている場合は、その KMS キーを作成して使用できます。接続が切断されると、カスタムキーストアとその KMS キーを表示および管理できます。ただし、暗号化オペレーションのカスタムキーストアで、新しい KMS キーを作成、使用することはできません。
kmsuser
Crypto User
関連する AWS CloudHSM クラスターのキーマテリアルを作成および管理するために、AWS KMS は専用の AWS CloudHSM crypto user (CU) をkmsuser
という名前のクラスターに追加します。kmsuser
CU は、クラスター内のすべての HSM に自動的に同期された標準の CU アカウントで、クラスターバッグに保存されます。
カスタムキーストアを作成する前に、cloudhsm_mgmt_util で createUser コマンドを使用して、AWS CloudHSM クラスターの kmsuser CU アカウントを作成します。次に、カスタムキーストアを作成すると、kmsuser
アカウントのパスワードが AWS KMS に提供されます。カスタムキーストアを接続すると、AWS KMS が kmsuser
CU としてクラスターにログインし、パスワードをローテーションします。AWS KMS は kmsuser
パスワードを暗号化して安全に保存します。パスワードがローテーションされる際、新しいパスワードは同じ方法で暗号化されて保存されます。
カスタムキーストアが接続されている限り、AWS KMS は kmsuser
としてログインしたままです。この CU アカウントは他の目的では使用しないでください。ただし、kmsuser
CU アカウントの最終的な制御は保持されます。kmsuser
が所有するキーのキーハンドルは、いつでも検索することができます。必要に応じて、カスタムキーストアの切断、kmsuser
パスワードの変更、kmsuser でクラスターへログイン、および kmsuser
が所有するキーの表示と管理が行えます。
kmsuser
CU アカウントの作成手順については、「kmsuser Crypto User を作成する」を参照してください。
カスタムキーストアの KMS キー
AWS Management Console または AWS KMS API を使用して、カスタムキーストアで AWS KMS keys を作成できます。KMS キーで使用するのと同じ方法を使用します。唯一の違いは、カスタムキーストアを識別し、キーマテリアルのオリジンが AWS CloudHSM クラスターであることを指定する必要があることです。
カスタムキーストアに KMS キーを作成する場合、AWS KMS は AWS KMS で KMS キーを作成し、関連付けられたクラスターに、256 ビットの永続的でエクスポート不可能な Advanced Encryption Standard (AES) 対称キーマテリアルを生成します。AWS CloudHSM は異なるタイプの対称キーと非対称キーをサポートしていますが、AWS KMS カスタムキーストアは対称暗号化キーのみをサポートします。
AWS KMS コンソールのカスタムキーストアで KMS キーを表示し、コンソールオプションを使用して、カスタムキーストア ID を表示できます。また、DescribeKey オペレーションを使用して、カスタムキーストア ID と AWS CloudHSM クラスター ID を見つけることもできます。
カスタムキーストアの KMS キーは、AWS KMS の KMS キーと同じように動作します。認可されたユーザーは、KMS キーの使用と管理のために同じアクセス許可が必要です。同じコンソールの手順と API オペレーションを使用して、カスタムキーストアで KMS キーを表示および管理します。これには、KMS キーの有効化と無効化、タグとエイリアスの作成と使用、IAM ポリシーとキーポリシーの設定と変更が含まれます。カスタムキーストアの KMS キーは暗号化オペレーションに使用でき、それをカスタマーマネージドキーの使用をサポートする統合された AWS サービスに使用できます。ただし、自動キーローテーションを有効化したり、カスタムキーストアの KMS キーにキーマテリアルをインポートしたりすることはできません。
カスタムキーストア内の KMS キーのスケジュール削除にも同じプロセスを使用します。待機期間が終了すると、AWS KMS は KMS から KMS キーを削除します。次に、関連付けられた AWS CloudHSM クラスターから、KMS キーのキーマテリアルを可能な限り削除します。ただし、クラスターとそのバックアップから、手動で孤立したキーマテリアルを削除する必要があります。