AWS KMS のマルチリージョンキー - AWS Key Management Service

AWS KMS のマルチリージョンキー

AWS KMS では、複数のリージョンで同じキーのように相互使用ができる、異なる AWS リージョン の AWS KMS keys であるマルチリージョンキーをサポートします。関連するマルチリージョンキーセットごとに、同じキーマテリアルおよびキー ID があるため、1つの AWS リージョン でデータを暗号化し、再暗号化や AWS KMS へのクロスリージョン呼び出しを行うことなく、異なる AWS リージョン で復号できます。

すべての KMS キーと同様に、マルチリージョンキーは AWS KMS を暗号化されないままにしません。暗号化または署名用の対称または非対称のマルチリージョンキーを作成する、HMAC タグの生成と検証用の HMAC マルチリージョンキーを作成する、および AWS KMS が生成するキーマテリアル、またはインポートされたキーマテリアルを持つマルチリージョンキーを作成することができます。エイリアスおよびタグの作成、キーポリシーとグラントの設定、有効化/無効化の選択など、各マルチリージョンキーを個別に管理する必要があります。単一リージョンキーで実行できるすべての暗号化オペレーションで、マルチリージョンキーを使用できます。

マルチリージョンキーは、多くの一般的なデータセキュリティシナリオに対応する、柔軟で強力なソリューションです。

ディザスタリカバリ

バックアップおよびリカバリのアーキテクチャでは、マルチリージョンキーを使用することで、AWS リージョン 停止のイベント時でも、暗号化されたデータを中断することなく処理できます。バックアップリージョンで保持されるデータはバックアップリージョンで復号し、バックアップリージョンで新たに暗号化されたデータは、そのリージョンの復元時にプライマリリージョンで復号することができます。

グローバルなデータ管理

グローバルに展開されるビジネスには、グローバルに配信され、AWS リージョン 全体で一貫して利用可能なデータが必要です。データが存在するすべてのリージョンでマルチリージョンキーを作成し、クロスリージョン呼び出しのレイテンシーや、各リージョンで異なるキーのデータの再暗号化に掛かるコストなしで、単一リージョンキーであるかのようにキーを使用できます。

配信署名アプリケーション

クロスリージョン署名機能を必要とするアプリケーションでは、マルチリージョンの非対称署名キーを使用して、異なる AWS リージョン で同一のデジタル署名を、一貫して繰り返し生成することができます。

単一のグローバルトラストストア (単一のルート認定権限 (CA))、およびルート CA によって署名されたリージョンの中間 CA で証明書チェーンを使用する場合、マルチリージョンキーは不要です。ただし、アプリケーション署名などの中間 CA がシステムでサポートされない場合は、マルチリージョンキーを使用して、リージョンの認定に一貫性を持たせることができます。

複数のリージョンにまたがるアクティブ-アクティブアプリケーション

一部のワークロードとアプリケーションは、アクティブ-アクティブアーキテクチャで複数のリージョンにまたがることができます。これらのアプリケーションでは、マルチリージョンキーを使用して、リージョンの境界を越えて移動する可能性のあるデータに対する暗号化と復号の同時オペレーションに同じキーマテリアルを提供し、複雑さを軽減できます。

マルチリージョンキーは、クライアント側の暗号化ライブラリ (AWS Encryption SDKDynamoDB 暗号化クライアントAmazon S3 クライアント側暗号化) などで使用できます。Amazon DynamoDB グローバルテーブルおよび DynamoDB 暗号化クライアントでマルチリージョンキーを使用する例については、AWS セキュリティブログの Encrypt global data client-side with AWS KMS multi-Region keys を参照してください。

保管時の暗号化またはデジタル署名用の AWS KMS と統合された AWS のサービスでは、現在、マルチリージョンキーを単一リージョンキーのように扱っています。リージョン間で移動されたデータを再ラップまたは再暗号化する場合があります。例えば、Amazon S3 クロスリージョンレプリケーションでは、マルチリージョンキーで保護されたオブジェクトをレプリケートする場合でも、コピー先リージョンの KMS キーでデータを復号および再暗号化します。

マルチリージョンキーはグローバルではありません。マルチリージョンのプライマリキーを作成し、そのキーを AWS パーティション内で選択するリージョンにレプリケートします。次に、各リージョンでマルチリージョンキーを個別に管理します。AWS または AWS KMS のどちらも、ユーザーの代わりにマルチリージョンキーを任意のリージョンに自動的に作成、またはレプリケートしません。AWS マネージドキー、アカウントで AWS サービスが作成する KMS キーは、常に単一リージョンキーです。

既存の単一リージョンキーをマルチリージョンキーに変換することはできません。この設計により、既存の単一リージョンキーで保護されているすべてのデータが、同じデータ常駐プロパティとデータ主権プロパティを維持できます。

ほとんどのデータセキュリティニーズに対して、リージョナルリソースのリージョン分離と耐障害性により、スタンダードな AWS KMS 単一リージョンキーは最適なソリューションです。ただし、複数のリージョンにまたがるクライアント側のアプリケーションでデータを暗号化または署名する必要がある場合は、マルチリージョンキーがソリューションとなることがあります。

リージョン

マルチリージョンキーは、中国 (北京) および中国 (寧夏) を除く、AWS KMS がサポートしているすべての AWS リージョン でサポートされます。

料金とクォータ

関連するマルチリージョンキーのセットに含まれるすべてのキーは、料金およびクォータに関して、1 つの KMS キーとしてカウントされます。AWS KMS クォータは、アカウントのリージョンごとに個別に計算されます。各リージョンのマルチリージョンキーの使用と管理は、そのリージョンのクォータでカウントされます。

サポートされる KMS キータイプ

次の種類のマルチリージョン KMS キーを作成できます。

  • 対称暗号化 KMS キー

  • 非対称 KMS キー

  • HMAC KMS キー

  • インポートされたキーマテリアルを持つ KMS キー

カスタムキーストアでマルチリージョンキーを作成することはできません。

マルチリージョンキーのセキュリティに関する考慮事項

AWS KMS マルチリージョンキーは、必要なときにだけ使用します。マルチリージョンキーは、暗号化されたデータを AWS リージョン の間で移動するワークロード、またはクロスリージョンアクセスが必要なワークロードに柔軟でスケーラブルなソリューションを提供します。保護されたデータを、リージョンを超えて共有、移動、バックアップする必要がある場合、または異なるリージョンで同一のデジタル署名を作成する必要がある場合は、マルチリージョンキーを検討します。

ただし、マルチリージョンキーを作成するプロセスでは、キーマテリアルは AWS KMS 内の AWS リージョン の境界を越えて移動します。マルチリージョンキーによって生成される暗号文は、複数の地理的位置にある複数の関連キーによって復号される可能性があります。地域的に孤立したサービスやリソースにも大きな利点があります。各 AWS リージョン は他のリージョンから分離され、独立しています。リージョンでは耐障害性や安定性が提供され、レイテンシーを低減することもできます。これにより、別のリージョンの障害の影響を受けずに利用できる冗長リソースを作成できます。AWS KMS では、すべての暗号文を 1 つのキーのみで復号できます。

マルチリージョンキーは、セキュリティに関する新しい考慮事項も提起します。

  • マルチリージョンキーでは、アクセス制御とデータセキュリティポリシーの適用がより複雑です。複数の独立したリージョン全体で、ポリシーがキーで一貫して監査されることを確認する必要があります。また、個別のキーに依存する代わりに、ポリシーを使用して境界を適用する必要があります。

    例えば、あるリージョンの給与チームが別のリージョンの給与データを読み取れないようにするために、データにポリシー条件を設定する必要があります。また、あるリージョンのマルチリージョンキーが 1 つのテナントのデータを保護し、別のリージョンの関連するマルチリージョンキーが別のテナントのデータを保護するというシナリオを防ぐには、アクセス制御を使用する必要があります。

  • リージョン全体のキーの監査もより複雑です。マルチリージョンキーでは、複数のリージョン全体の監査アクティビティを調べて調整し、保護されるデータのキーアクティビティを完全に理解する必要があります。

  • データ常駐に関するコンプライアンスは、より複雑になる可能性があります。孤立したリージョンでは、データ常駐とデータ主権のコンプライアンスを確保できます。特定のリージョンの KMS キーは、そのリージョン内の機密データのみを復号できます。あるリージョンで暗号化されたデータは完全に保護され、他のリージョンではアクセスできません。

    マルチリージョンキーを使用してデータの常駐性とデータ主権を検証するには、アクセスポリシーを実装し、複数のリージョンに AWS CloudTrail イベントをコンパイルします。

マルチリージョンキーのアクセス制御を管理しやすくするために、マルチリージョンキーのレプリケーション許可 (kms:ReplicateKey) は、キーを作成するスタンダードなアクセス許可 (kms:CreateKey) と分けられています。また、AWS KMS では、マルチリージョンキーに関する複数のポリシー条件 (kms:MultiRegion: マルチリージョンキーを作成、使用、管理するアクセス許可を許可または拒否します。kms:ReplicaRegion: マルチリージョンキーのレプリケーション先となるリージョンを制限します) をサポートします。詳細については、「マルチリージョンキーへのアクセスを制御する」を参照してください。

マルチリージョンキーの仕組み

まず、AWS KMS がサポートする AWS リージョン (米国東部 (バージニア北部) など) で、対称または非対称のマルチリージョンのプライマリキーを作成します。キーを単一リージョンにするか、マルチリージョンにするかは、作成時にのみ決定できます。このプロパティは後で変更できません。KMS キーと同様に、マルチリージョンキーのキーポリシーを設定することで、グラントを作成したり、分類と認可用のエイリアスとタグを追加したりできます。(これらは、他のキーと共有または同期されない独立したプロパティです)。暗号化または署名の暗号化オペレーションで、マルチリージョンのプライマリキーを使用できます。

AWS KMS コンソールで、または MultiRegion パラメータが true に設定された CreateKey API を使用して、マルチリージョンのプライマリキーを作成できます。マルチリージョンキーには mrk- で始まる固有のキー ID があります。mrk- プレフィックスを使用して、プログラムで MRK を識別できます。

選択すると、マルチリージョンのプライマリキーを同じ AWS パーティション (欧州 (アイルランド) など) の 1 つ以上の異なる AWS リージョン にレプリケートできます。これにより、AWS KMS は指定されたリージョンで、同じキー ID と他の共有プロパティを使用して、プライマリキーとしてレプリカキーを作成します。次に、キーマテリアルをリージョンの境界を越えて安全に転送し、すべて AWS KMS 内で、コピー先リージョンの新しい KMS キーに関連付けます。結果として、2 つの関連するマルチリージョンキーが作成されます (プライマリキーとレプリカキー)。これらは相互に使用することができます。

AWS KMS コンソールで、または ReplicateKey API を使用して、マルチリージョンレプリカキーを作成できます。

作成されたマルチリージョンレプリカキーは、完全に機能する KMS キーで、プライマリキーと同じ共有プロパティを備えています。それ以外の点では、独自の説明、キーポリシー、グラント、エイリアス、タグを持つ独立した KMS キーです。マルチリージョンキーを有効または無効にしても、関連するマルチリージョンキーには影響しません。プライマリキーとレプリカキーは、暗号化オペレーションで個別に使用することも、連携させて使用することもできます。例えば、米国東部 (バージニア北部) リージョンのプライマリキーを使用してデータを暗号化し、欧州 (アイルランド) リージョンにデータを移動し、レプリカキーを使用してデータを復号できます。

関連するマルチリージョンキーは同じキー ID を持ちます。キー ARN (Amazon リソースネーム) は、リージョンフィールドでのみ異なります。例えば、マルチリージョンのプライマリキーとレプリカキーには、次のキー ARN があります。キー ID (キー ARN の最後の要素) は同一です。両方のキーには、mrk- で始まる、マルチリージョンキー固有のキー ID があります。

Primary key: arn:aws:kms:us-east-1:111122223333:key/mrk-1234abcd12ab34cd56ef12345678990ab Replica key: arn:aws:kms:eu-west-1:111122223333:key/mrk-1234abcd12ab34cd56ef12345678990ab

相互運用性のために、同じキー ID が必要です。暗号化する場合、AWS KMS は、KMS キーのキー ID を暗号文にバインドします。そのため、暗号文は当該 KMS キーまたは同じキー ID を持つ KMS キーでのみ解読できます。この機能により、関連するマルチリージョンキーが認識しやすくなり、相互に使用しやすくなります。例えば、アプリケーションで使用する場合は、共有キー ID で関連するマルチリージョンキーを参照できます。次に、必要に応じて、リージョンまたは ARN を指定して、それらを区別します。

データのニーズの変化に応じて、プライマリキーを米国西部 (オレゴン) およびアジアパシフィック (シドニー)など、同じパーティションの他の AWS リージョン にレプリケートできます。結果は、次の図表に示された、同じキーマテリアルとキー ID を持つ 4 つの関連するマルチリージョンキーとなります。キーは個別に管理します。キーは独立して使用することも、連携させて使用することもできます。例えば、アジアパシフィック (シドニー) でレプリカキーを使用してデータを暗号化し、データを米国西部 (オレゴン) に移動して、米国西部 (オレゴン) でレプリカキーを使用して復号できます。


                マルチリージョンキーのプライマリキーとレプリカキー

マルチリージョンキーに関するその他の考慮事項は次のとおりです。

共有プロパティの同期 — マルチリージョンキーの共有プロパティが変更されると、AWS KMS は自動的にプライマリキーからすべてのレプリカキーに変更を同期させます。共有プロパティの同期をリクエストまたは強制することはできません。AWS KMS はすべての変更を検出して同期します。ただし、CloudTrail ログの SynchronizeMultiRegionKey イベントを使用して、同期を監査することができます。

例えば、対称マルチリージョンのプライマリキーで自動キーローテーションを有効にすると、AWS KMS は、その設定をすべてのレプリカキーにコピーします。キーマテリアルをローテーションすると、関連するすべてのマルチリージョンキー間でローテーションが同期されます。これにより、マルチリージョンキーは引き続き現在と同じキーマテリアルを持ち、古いバージョンのキーマテリアルすべてにアクセスできます。新しいレプリカキーを作成すると、そのキーマテリアルは、関連するすべてのマルチリージョンキーの現在のキーマテリアルと同じになり、以前のバージョンのキーマテリアルすべてにアクセスできます。詳細については、「マルチリージョンキーをローテーションする」を参照してください。

プライマリキーの変更 — マルチリージョンキーのすべてのセットには、プライマリキーが 1 つだけ必要です。プライマリキーはレプリケートできる唯一のキーです。また、レプリカキーの共有プロパティのソースでもあります。ただし、プライマリキーをレプリカに変更し、レプリカキーの 1 つをプライマリに昇格させることができます。これにより、特定のリージョンから複数リージョンのプライマリキーを削除したり、プロジェクト管理者の近くにあるリージョンでプライマリキーを検索したりできます。詳細については、「プライマリリージョンを更新する」を参照してください。

マルチリージョンキーの削除 — すべての KMS キーと同様に、AWS KMS がマルチリージョンキーを削除する前に、削除をスケジュールする必要があります。キーが削除保留中の間は、暗号化オペレーションでキーを使用することはできません。ただし、すべてのレプリカキーが削除されるまで、AWS KMS はマルチリージョンのプライマリキーを削除しません。詳細については、「マルチリージョンキーを削除する」を参照してください。

概念

マルチリージョンキーでは、次の条件と概念を使用します。

マルチリージョンキー

マルチリージョンキーは、異なる AWS リージョン で同じキー ID とキーマテリアル (およびその他の共有プロパティ) を持つ KMS キーのセットの 1 つです。各マルチリージョンキーは、完全に機能する KMS キーで、関連するマルチリージョンキーとは完全に独立して使用できます。すべての関連するマルチリージョンキーは同じキー ID とキーマテリアルを持ち、相互運用可能です。つまり、すべての AWS リージョン のすべての関連するマルチリージョンキーは、他の関連するすべてのマルチリージョンキーによって暗号化された暗号文を復号できます。

KMS キーの作成時に、KMS キーのマルチリージョンのプロパティを設定します。既存のキーでマルチリージョンプロパティを変更することはできません。単一リージョンキーをマルチリージョンキーに変換したり、マルチリージョンキーを単一リージョンキーに変換したりすることはできません。既存のワークロードをマルチリージョンシナリオに移動するには、データを再暗号化するか、新しいマルチリージョンキーを使用して新しい署名を作成する必要があります。

マルチリージョンキーは、対称または非対称で、AWS KMS キーマテリアルまたはインポートされたキーマテリアルを使用できます。カスタムキーストアでマルチリージョンキーを作成することはできません。

関連するマルチリージョンキーのセットには、常に 1 つだけプライマリキーがあります。他の AWS リージョン で、そのプライマリキーのレプリカキーを作成できます。プライマリリージョンを更新すると、プライマリキーがレプリカキーに変更され、指定されたレプリカキーがプライマリキーに変更されます。ただし、AWS リージョン ごとに保持できるプライマリキーまたはレプリカキーは 1 つだけです。リージョンはすべて、同じ AWS パーティションである必要があります。

関連するマルチリージョンキーの複数のセットを、同じまたは異なる AWS リージョン で持つことができます。関連するマルチリージョンキーは相互運用可能ですが、関連しないマルチリージョンキーは相互運用できません。

プライマリキー

マルチリージョンのプライマリキーは KMS キーであり、同じパーティションの他の AWS リージョン にレプリケートできます。マルチリージョンキーの各セットには、プライマリキーが 1 つしかありません。

プライマリキーは、次の点でレプリカキーとは異なります。

プライマリキーとレプリカキーは、暗号化プロパティにおいて違いはありません。プライマリキーとそのレプリカキーは、同じ意味で使用することができます。

プライマリキーをレプリケートする必要はありません。プライマリキーは、KMS キーと同じように使用し、有用であればレプリケートすることができます。ただし、マルチリージョンキーには単一リージョンキーとは異なるセキュリティプロパティがあるため、プライマリキーをコレプリケートする場合にのみ、マルチリージョンキーを作成することをお勧めします。

レプリカキー

マルチリージョンのレプリカキーは、プライマリキーおよび関連するレプリカキーと同じキー IDキーマテリアルを持ち、異なる AWS リージョン に存在する KMS キーです。

レプリカキーは、固有のキーポリシー、グラント、エイリアス、タグ、およびその他のプロパティを持つ、完全に機能する KMS キーです。レプリカキーは、プライマリキーまたは他のキーのコピーまたはポインタではありません。プライマリキーと関連するすべてのレプリカキーが無効になっている場合でも、レプリカキーを使用できます。また、レプリカキーをプライマリキーに変換し、プライマリキーをレプリカキーに変換することもできます。レプリカキーが作成されると、レプリカキーはそのプライマリキーにキーローテーションおよびプライマリリージョンの更新のみを依存します。

プライマリキーとレプリカキーは、暗号化プロパティにおいて違いはありません。プライマリキーとそのレプリカキーは、同じ意味で使用することができます。プライマリキーまたはレプリカキーで暗号化されたデータは、同じキー、または関連する任意のプライマリキーまたはレプリカキーで復号できます。

レプリケーション

マルチリージョンのプライマリキーを、同じパーティションの別の AWS リージョン にレプリケートできます これにより、AWS KMS は指定されたリージョンで、プライマリキーと同一のキー ID およびその他の共有プロパティを持つマルチリージョンレプリカキーを作成します。次に、キーマテリアルをリージョンの境界を越えて安全に転送し、すべて AWS KMS 内で、新しいレプリカキーに関連付けます。

共有プロパティ

共有プロパティは、レプリカキーと共有するマルチリージョンのプライマリキーのプロパティです。AWS KMS は、プライマリキーと同じ共有プロパティ値を持つレプリカキーを作成します。次に、プライマリキーの共有プロパティ値をレプリカキーに定期的に同期します。レプリカキーでは、これらのプロパティを設定できません。

以下は、マルチリージョンキーの共有プロパティです。

関連するマルチリージョンキーのプライマリおよびレプリカの指定は、共有プロパティと考えることもできます。新しいレプリカキーの作成時またはプライマリキーの更新時、AWS KMS は、関連するすべてのマルチリージョンキーに変更を同期します。これらの変更が完了すると、関連するすべてのマルチリージョンキーが、プライマリキーとレプリカキーを正確に一覧表示します。

マルチリージョンキーのその他のプロパティはすべて、独立したプロパティです (説明、キーポリシーグラント有効および無効キーステータスエイリアスタグを含む)。関連するすべてのマルチリージョンキーでこれらのプロパティに同じ値を設定できますが、独立したプロパティの値を変更すると、AWS KMS は同期しません。

マルチリージョンキーの共有プロパティの同期を追跡できます。AWS CloudTrail ログで、SynchronizeMultiRegionKey イベントを探します。