マルチリージョンのレプリカキーを作成する - AWS Key Management Service

マルチリージョンのレプリカキーを作成する

マルチリージョンレプリカキーを作成するには、AWS KMS コンソールで実行するか、ReplicateKey オペレーションを使用するか、または AWS CloudFormation テンプレートを使用します。CreateKey オペレーションを使用してレプリカキーを作成することはできません。

これらの手順を使用して、対称暗号化 KMS キー非対称 KMS キー、または HMAC KMS キーなどの任意のマルチリージョンプライマリキーをレプリケートすることができます。

このオペレーションが完了すると、新しいレプリカキーは一時的に Creatingキーステータスを持ちます。新規レプリカキー作成プロセスが完了してから数秒後に、このキーステータスは Enabled (またはPendingImport) に変わります。キーステータスが Creating の間、キーを管理することはできますが、暗号化オペレーションで使用することはできません。レプリカキーをプログラムで作成して使用している場合は KMSInvalidStateException で再試行するか、DescribeKey を呼び出して使用前にその KeyState 値をチェックします。

レプリカキーを誤って削除した場合は、この手順を使用してレプリカキーを再度作成できます。同じリージョンで同じプライマリキーをレプリケートする場合、作成する新しいレプリカキーは、元のレプリカキーと同じ共有プロパティを有します。

詳細はこちら

レプリカリージョン

ビジネスモデルと規制要件に基づいて、通常は、マルチリージョンキーを AWS リージョン にレプリケートするよう選択します。例えば、リソースを保管するリージョンにキーをレプリケートできます。または、災害対策の要件に準拠するために、地理的に離れたリージョンにキーをレプリケートすることもできます。

以下は、レプリカリージョンの AWS KMS 要件です。選択したリージョンがこれらの要件を満たしていない場合、キーレプリケーションの試行は失敗します。

  • リージョンごとに 1 つの関連するマルチリージョンキー — プライマリキーと同じリージョンにレプリカキーを作成したり、プライマリキーの別のレプリカと同じリージョンにレプリカキーを作成することはできません。

    すでにそのプライマリキーのレプリカがあるリージョンでプライマリキーをレプリケートしようとすると、試行は失敗します。リージョンの現在のレプリカキーが PendingDeletion キーステータスにある場合は、レプリカキーの削除をキャンセルするが、レプリカキーが削除されるまで待機します。

  • 同じリージョン内の複数の関連しないマルチリージョンキー — 同じリージョン内に、複数の関連しないマルチリージョンキーを持つことができます。例えば、us-east-1 リージョンで 2 つのマルチリージョンのプライマリキーを持つことができます。プライマリキーごとに、us-west-2 リージョンでレプリカキーを持つことができます。

  • 同じパーティション内のリージョン — レプリカキーリージョンは、プライマリキーリージョンと同じ AWS パーティションである必要があります。

  • リージョンの有効化 — リージョンがデフォルトで無効に設定されている場合、AWS アカウント で有効化されるまで、そのリージョンでリソースを作成することはできません。

レプリカキーを作成する (コンソール)

AWS KMS コンソールでは、マルチリージョンのプライマリキーのレプリカを、同じオペレーションで 1 つ以上作成できます。

この手順は、コンソールでスタンダードの単一リージョン KMS キーを作成する場合と似ています。ただし、レプリカキーはプライマリキーに基づいているため、キー仕様 (対称または非対称)、キー使用法、キーオリジンなどの共有プロパティの値は選択しません。

エイリアス、タグ、説明、キーポリシーなど、共有されないプロパティを指定します。便宜上、コンソールにプライマリキーの現在のプロパティ値が表示されますが、変更することもできます。プライマリキー値を保持しても、AWS KMS はこれらの値の同期を維持しません。

  1. AWS Management Console にサインインし、AWS Key Management Service (AWS KMS) コンソール (https://console.aws.amazon.com/kms) を開きます。

  2. AWS リージョン を変更するには、ページの右上隅にあるリージョンセレクターを使用します。

  3. ナビゲーションペインで、[Customer managed keys (カスタマー管理型のキー)] を選択します。

  4. マルチリージョンのプライマリキーのキー ID またはエイリアスを選択します。KMS キーのキーの詳細ページが開きます。

    マルチリージョンのプライマリキーを識別するには、右上隅にあるツールアイコンを使用して [Regionality] (リージョナリティー) 列をテーブルに追加します。

  5. [Regionality] (リージョナリティー) タブを選択します。

  6. [Related multi-Region keys] (関連するマルチリージョンキー) のセクションで、[Create new replica keys] (新しいレプリカキーの作成) を選択します。

    [Related multi-Region keys] (関連するマルチリージョンキー) のセクションには、プライマリキーとそのレプリカキーのリージョンが表示されます。この表示を使用して、新しいレプリカキーのリージョンを選択できます。

  7. 1 つ以上の AWS リージョン を選択します。この手順では、選択したリージョンごとにレプリカキーが作成されます。

    メニューには、プライマリキーと同じ AWS パーティションのプライマリキーのみが含まれます。関連するマルチリージョンキーがすでに存在するリージョンが表示されますが、選択することはできません。メニューのすべてのリージョンに対しては、キーをレプリケートする許可がない場合があります。

    リージョンの選択が完了したら、メニューを閉じます。選択したリージョンが表示されます。リージョンへのレプリケーションをキャンセルするには、リージョン名の横にある [X] を選択します。

  8. レプリカキーのエイリアスを入力します。

    コンソールには、プライマリキーの現在のエイリアスの 1 つが表示されますが、変更することもできます。マルチリージョンのプライマリキーとそのレプリカに同じエイリアスまたは別のエイリアスを割り当てることができます。エイリアスはマルチリージョンキーの共有プロパティではありません。AWS KMS は、マルチリージョンキーのエイリアスを同期しません。

    エイリアスを追加、削除、更新すると、KMS キーに対するアクセス許可が許可または拒否される可能性があります。詳細については、「AWS KMS の ABAC」および「エイリアスを使用して KMS キーへのアクセスを制御する」を参照してください。

  9. (オプション) レプリカキーの説明を入力します。

    コンソールには、プライマリキーの現在の説明が表示されますが、変更することもできます。説明は、マルチリージョンキーの共有プロパティではありません。マルチリージョンのプライマリキーとそのレプリカに同じ説明または別の説明を割り当てることができます。AWS KMS は、マルチリージョンキーのキーの説明を同期しません。

  10. (オプション) タグキーとオプションのタグ値を入力します。レプリカキーに複数のタグを割り当てるには、[Add tag] (タグを追加する) を選択します。

    コンソールには、プライマリキーに現在アタッチされているタグが表示されますが、変更することもできます。タグは、マルチリージョンキーの共有プロパティではありません。マルチリージョンのプライマリキーとそのレプリカに同じタグまたは別のタグを割り当てることができます。AWS KMS は、マルチリージョンキーのタグを同期しません。

    KMS キーのタグ付けまたはタグ解除により、KMS キーに対するアクセス許可が許可または拒否される可能性があります。詳細については、「AWS KMS の ABAC」および「タグを使用してKMS キーへのアクセスを制御する」を参照してください。

  11. レプリカキーを管理できる IAM ユーザーとロールを選択します。

    注記

    IAM ポリシーは、他の IAM ユーザーおよびロールに レプリカキーを管理するアクセス許可を付与できます。

    このステップでは、キーポリシーをレプリカキー用に作成するプロセスをスタートします。コンソールには、プライマリキーの現在のキーポリシーが表示されますが、変更することもできます。キーポリシーは、マルチリージョンキーの共有プロパティではありません。マルチリージョンのプライマリキーとそのレプリカに同じキーポリシーまたは別のキーポリシーを割り当てることができます。AWS KMS は、キーポリシーを同期しません。KMS キーのキーポリシーは、いつでも変更できます。

  12. キー管理者の選択など、キーポリシーを作成するステップを完了します。キーポリシーを確認したら、[Finish] (完了) を選択して レプリカキーを作成します。

レプリカキーを作成する (AWS KMS API)

マルチリージョンのレプリカキーを作成するには、ReplicateKey オペレーションを使用します。CreateKey オペレーションを使用してレプリカキーを作成することはできません。このオペレーションでは、一度に 1 つのレプリカキーが作成されます。指定するリージョンは、レプリカキーのリージョンの要件に準拠している必要があります。

ReplicateKey オペレーションを使用する際、マルチリージョンキーの任意の共有プロパティの値は指定しません。共有プロパティ値はプライマリキーからコピーされ、同期が維持されます。ただし、共有されないプロパティには値を指定できます。それ以外は、AWS KMS は、プライマリキーの値ではなく、KMS キーのスタンダードのデフォルト値を適用します。

注記

TagsDescriptionKeyPolicy パラメータ値を指定しない場合、AWS KMS は、タグなしのレプリカキー、空の文字列説明、デフォルトのキーポリシーを作成します。

例えば、次のコマンドでは、アジアパシフィック (シドニー) リージョン (ap-southeast-2) にマルチリージョンのレプリカキーを作成します。このレプリカキーは、米国東部 (バージニア北部) リージョン (us-east-1) のプライマリキーをモデルにしています。これは、KeyId パラメータの値で識別されます。この例では、キーポリシーを含む、他のすべてのプロパティのデフォルト値を受け入れます。

レスポンスは新しいレプリカキーを示します。これには、共有プロパティのフィールド (KeyIdKeySpecKeyUsage、およびキーマテリアルのオリジン (Origin) など) が含まれます。また、プライマリキーとは独立したプロパティも含まれます (Description、キーポリシー (ReplicaKeyPolicy)、タグ (ReplicaTags) など)。

レスポンスには、プライマリキーのキー ARN とリージョン、およびそのすべてのレプリカキー (ap-southeast-2 リージョンで作成されたものを含む) も含まれます。この例では、このプライマリキーが既に欧州 (アイルランド) リージョン (eu-west-1) でレプリケートされていることを、ReplicaKey 要素が示しています。

$ aws kms replicate-key \ --key-id arn:aws:kms:us-east-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab \ --replica-region ap-southeast-2 { "ReplicaKeyMetadata": { "MultiRegion": true, "MultiRegionConfiguration": { "MultiRegionKeyType": "REPLICA", "PrimaryKey": { "Arn": "arn:aws:kms:us-east-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "us-east-1" }, "ReplicaKeys": [ { "Arn": "arn:aws:kms:ap-southeast-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "ap-southeast-2" }, { "Arn": "arn:aws:kms:eu-west-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "eu-west-1" } ] }, "AWSAccountId": "111122223333", "Arn": "arn:aws:kms:ap-southeast-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "CreationDate": 1607472987.918, "Description": "", "Enabled": true, "KeyId": "mrk-1234abcd12ab34cd56ef1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "Origin": "AWS_KMS", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] }, "ReplicaKeyPolicy": "{\n \"Version\" : \"2012-10-17\",\n \"Id\" : \"key-default-1\",..., "ReplicaTags": [] }