このドキュメントでは、Single-tenant Cloud HSM のコンセプトと機能の概要について説明します。
Single-tenant Cloud HSM を使用すると、Cloud HSM の単一テナント インスタンスを作成して管理できます。Single-tenant Cloud HSM インスタンスは、お客様専用に割り当てられ、ハードウェア セキュリティ モジュール(HSM)上のパーティションの専用クラスタです。各インスタンスは、マルチテナント型の Cloud HSM と同等の冗長性と高可用性を備えています。各 Single-tenant Cloud HSM クラスタは、選択したリージョン内の複数のゾーンにある複数の HSM に分散されます。 各パーティションは、HSM 上の他のパーティションから暗号学的に分離されています。
クラスタへのアクセス権を Google に付与または拒否できます。クラスタはインスタンス管理者が管理します。インスタンス管理者は、2 要素認証(2FA)に非対称制御鍵を使用するクォーラム承認モデルを使用してインスタンスを制御します。制御鍵は Google Cloudの外部で作成するため、Google が秘密の制御鍵にアクセスすることはありません。
Single-tenant Cloud HSM インスタンスが構成されると、Cloud KMS 管理者は単一テナント鍵を作成できます。デベロッパーは、コードを変更することなく、他の Cloud HSM 鍵と同様に使用できます。
Single-tenant Cloud HSM の使用には費用が発生します。料金については、 Cloud KMS の料金をご覧ください。
クォーラムベースの認証
Single-tenant Cloud HSM は、クォーラムベースの認証を使用して、重要なオペレーションが複数のインスタンス管理者によって承認されるようにします。単一テナント インスタンスを作成する前に、Cloud KMS の外部で非対称制御鍵のセットを作成し、インスタンスに対するオペレーションに必要な承認数を定義する必要があります。たとえば、インスタンスが 5 人の管理者によって管理されている場合、インスタンスに対する各メンテナンス オペレーションを 3 人の管理者が承認するように要求できます。
クォーラム認証が必要なオペレーションには、次の 3 つのステージがあります。
プロポーザル: インスタンス管理者がオペレーションを提案します( 新しい制御鍵の登録など)。プロポーザルは、システムの現在の状態の不変のスナップショットを作成します。プロポーザルは 24 時間後に期限切れになります。承認されたオペレーションが開始されるまで、いつでもキャンセルできます。
承認: 必要な数の管理者が、固有の制御鍵を使用してチャレンジに署名する必要があります 。署名されたチャレンジは、オペレーションを承認する管理者を示します。十分な数の署名付きチャレンジが準備できたら、インスタンス管理者はそれらをアップロードしてプロポーザルを承認します。チャレンジが有効で、プロポーザルが期限切れになっていない場合、プロポーザルは承認されます。
実行: プロポーザルが承認された後、期限切れになる前に、提案されたオペレーションを 実行できます。
Single-tenant Cloud HSM の機能
このセクションでは、Single-tenant Cloud HSM のコア機能について説明します。
インスタンスの管理
管理者は、Single-tenant Cloud HSM インスタンスのライフサイクルを管理します。
- インスタンスを作成する: 単一リージョンに新しいインスタンスをプロビジョニングします。作成プロセスでは、クォーラム認証を設定する必要があります。
- インスタンス情報を取得する: インスタンスのメタデータと 構成をクエリできます。このオペレーションでは、クォーラム認証は必要ありません。
- インスタンスを無効または有効にする: インスタンスを一時的に無効にすると、
Google のパーティションへのアクセス権が取り消されます。インスタンスは後で有効にできます。どちらのオペレーションにもクォーラム認証が必要です。インスタンスを有効にすると、
disableDateが有効化オペレーションの時点から 730 日にリセットされます。 インスタンスが無効になっている間は、インスタンスで作成されたすべての鍵が使用できなくなり、それらの鍵を使用しようとするすべてのオペレーションが失敗します。 - インスタンスを更新する: インスタンスを使用可能な状態に保つには、定期的に更新する必要があります
。インスタンスは 730 日以内に更新する必要があります。各インスタンスには、インスタンスの更新期限を示す
disableDateがあります。インスタンスを更新すると、disableDateが更新時点から 730 日にリセットされます。このオペレーションにはクォーラム認証が必要です。disableDateの時刻までに更新されないインスタンスは自動的に無効になります。 - インスタンスを削除する: インスタンスを削除できます。インスタンスを削除すると、そのインスタンスで作成されたすべての鍵が完全に破棄されます。これは破壊的なオペレーションであり、元に戻すことはできません。インスタンスで作成された鍵を使用して暗号化されたすべてのデータを暗号化シュレッダー処理する場合を除き、インスタンスを削除しないでください。このオペレーションにはクォーラム認証が必要です。
鍵管理
管理者は、クォーラム認証に使用する制御鍵を所有します。 デベロッパーやその他のリソース所有者は、インスタンスで暗号鍵を作成して使用します。
- 管理制御鍵をローテーションする: 管理者は、管理クォーラムのメンバーの 2FA 制御鍵 をローテーションできます。このオペレーションにはクォーラム認証が必要です。
- 暗号鍵を生成する: デベロッパーとリソース所有者は、Single-tenant HSM 保護レベルで
CryptoKeyを 作成できます。このオペレーションでは、クォーラム認証は必要ありません。 - 暗号オペレーションを実行する: 作成後、 単一テナント インスタンスに保存された鍵は、他の Cloud Key Management Service 鍵と同様に 暗号オペレーションに使用できます。
- 鍵の移植性: 単一テナント インスタンスで独自の信頼できるラッピング鍵を管理して、他の鍵をエクスポートしたり、事前にラッピングされた鍵をインポートしたりできます。 これにより、異なるクラウド プロバイダと Google Cloud リージョン間の相互運用が可能になります。
Single-tenant Cloud HSM のベスト プラクティス
Single-tenant Cloud HSM を使用する場合は、次のベスト プラクティスに従ってください。
- プロジェクト リーエン: プロジェクト リーエン を使用して、アクティブな Single-tenant Cloud HSM インスタンスを含むプロジェクトを保護します。Single-tenant Cloud HSM インスタンスを含むプロジェクトを削除すると、そのインスタンスで作成された鍵を復元できません。
- 物理トークン: 物理トークンを使用して、インスタンス管理者の秘密の 2FA 鍵 を保持します。これらの物理トークンは安全に保管してください。クォーラムの鍵を紛失した場合、Google はインスタンスへのアクセス権を回復できません。インスタンスは定期的に更新する必要があるため、クォーラムの鍵を紛失すると、最終的にインスタンスが無効になります。
- バックアップ鍵: クォーラム メンバーが保持する鍵に加えて、少なくとも 1 つのスペアの 2FA 鍵を登録します。バックアップ鍵は、クォーラム メンバーの鍵が紛失または盗難された場合にアクセスできる安全な場所に保管してください。
- 職掌分散: インスタンス 管理者の職掌分散を維持します。プロポーザル、承認、実行には個別の IAM ロールが必要です。これらのロールは、少なくとも 2 人のユーザーに分散して、1 人のユーザーが 3 つのロールすべての権限を持たないようにする必要があります。1 人のユーザーがすべての基盤となる権限を持っている場合、偶発的または意図的なデータ損失のリスクが高くなります。
- 鍵の配布: 秘密の 2FA 鍵が信頼できるユーザーに安全に 配布されていることを確認します。1 人のユーザーがクォーラムを達成するのに十分な秘密鍵を保持することは避けてください。1 人のユーザーが、必要なクォーラム サイズを満たすのに十分な秘密鍵にアクセスできる場合、偶発的または意図的なデータ損失のリスクが高くなります。
- 更新スケジュール: Single-tenant Cloud HSM
インスタンスの更新を、継続的なメンテナンス手順に組み込みます。各インスタンスの
disableDateをモニタリングし、その時刻までに更新オペレーションを完了する必要があります。インスタンスを更新するにはクォーラム承認が必要なため、disableDateの前にプロポーザルが承認されて実行されるように、更新オペレーションを早めに提案してください。
次のステップ
- Single-tenant Cloud HSM インスタンスを作成して維持する方法を学習する。