ステップ 4: キーマテリアルのインポート - AWS Key Management Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ステップ 4: キーマテリアルのインポート

キーマテリアルを暗号化すると、キーマテリアルをインポートして AWS KMS key で使用できます。キーマテリアルをインポートするには、ステップ 3: キーマテリアルを暗号化する から暗号化されたキーマテリアルと、ステップ 2: ラップパブリックキーおよびインポートトークンのダウンロード でダウンロードしたインポートトークンをアップロードします。パブリックキーとインポートトークンをダウンロードしたときに指定したものと同じ KMS キーに、キーマテリアルをインポートする必要があります。キーマテリアルが正常にインポートされると、KMS キーのキーステータスEnabled に変化し、暗号化オペレーションで KMS キーを使用できるようになります。

キーマテリアルをインポートする場合、キーマテリアルの有効期限をオプションで設定できます。キーマテリアルが有効期限切れになると、AWS KMS はキーマテリアルを削除し、KMS キーは使用不可能になります。暗号化オペレーションで KMS キーを使用するには、同じキーマテリアルを再インポートする必要があります。キーマテリアルをインポートした後は、現在のインポートの有効期限を設定、変更、またはキャンセルできません。これらの値を変更するには、同じキーマテリアルを削除または再インポートする必要があります。

キーマテリアルをインポートするには、AWS KMS コンソールまたは ImportKeyMaterial API を使用します。HTTP リクエストを作成することにより、または AWS SDKsAWS Command Line Interface または AWS Tools for PowerShell を使用することにより、直接 API を使用できます。

キーマテリアルをインポートすると、ImportKeyMaterial エントリが AWS CloudTrail ログに追加され、ImportKeyMaterial オペレーションを記録します。CloudTrail エントリは、AWS KMS コンソールまたは AWS KMS API のどちらを使用する場合でも同じです。

有効期限の設定 (オプション)

KMS キーのキーマテリアルをインポートするとき、オプションで、キーマテリアルの有効期限 (日付と時刻) をインポートした日から最大 365 日間までの範囲で設定できます。インポートされたキーマテリアルの有効期限が過ぎると、AWS KMS はこれを削除します。このアクションにより KMS キーのキーキステータスPendingImport に変更され、暗号化オペレーションで使用できなくなります。KMS キーを使用する場合は、元のキーマテリアルを再度インポートする必要があります。

インポートされたキーマテリアルが頻繁に期限切れになるようにすれば規制要件を満たすのには役立ちますが、KMS キーで暗号化されたデータのリスクが高まります。元のキーマテリアルのコピーを再インポートするまでは、キーマテリアルの期限が切れた KMS キーは使用できず、KMS キーで暗号化されたデータにはアクセスできなくなります。元のキーマテリアルのコピーを紛失するなど何らかの理由でキーマテリアルを再インポートしなければ、その KMS キーは永久に使用できなくなり、その KMS キーで暗号化されたデータは回復不能となります。

こうしたリスクを取り除くには、インポートされたキーマテリアルのコピーにアクセスできることを確認してから、キーマテリアルの有効期限が切れて AWS ワークロードが中断されることになる前に、キーマテリアルを削除し再インポートするシステムを設計します。インポートされたキーマテリアルの、有効期限のアラームを設定し、期限切れになる前に、キーマテリアルを再インポートする十分な時間を確保しておくことが推奨されます。また、CloudTrail ログを使用して、キーマテリアルをインポート (および再インポート) したりインポートしたキーマテリアルを削除したりするオペレーションや、期限切れのキーマテリアルを削除する AWS KMS オペレーションを監査することもできます。

KMS キーに異なるキーマテリアルをインポートすることはできません。また AWS KMS は、削除されたキーマテリアルを復元、回復、再作成することもできません。有効期限を設定する代わりに、インポートしたキーマテリアルをプログラムで定期的に削除再インポートすることができますが、元のキーマテリアルのコピーを保持するための要件は同じです。

キーマテリアルをインポートするときに、インポートしたキーマテリアルの有効期限が切れているかどうか、および、いつ切れるのかを判断します。ただし、キーマテリアルを削除して再インポートすれば、有効期限を有効または無効にしたり、新しい有効期限を設定したりできます。有効期限を有効 (KEY_MATERIAL_EXPIRES) および無効 (KEY_MATERIAL_DOES_NOT_EXPIRE) にするときは ImportKeyMaterialExpirationModel パラメーターを使用し、有効期限を設定するときは ValidTo パラメータを使用します。最大日数はインポートした日から 365 日目です。最小日数はありませんが、時刻は未来の時刻でなければなりません。

キーマテリアルの再インポート

キーマテリアルがインポートされた KMS キーを管理する場合、キーマテリアルを再インポートしなければならない場合があります。キーマテリアルを再インポートして、有効期限の切れるキーマテリアルまたは削除されたキーマテリアルを置き換えるか、キーマテリアルの有効期限モデルまたは有効期限を変更することもできます。

KMS キーにキーマテリアルをインポートすると、KMS キーはキーマテリアルに永続的に関連付けられます。同じキーマテリアルを再インポートすることはできますが、別のキーマテリアルをその KMS キーにインポートすることはできません。キーマテリアルのローテーションはできません。AWS KMS は、キーマテリアルがインポートされた KMS キー用のキーマテリアルを作成できません。

キーマテリアルは、スケジュールがセキュリティ要件を満たしていれば、いつでも再インポートできます。キーマテリアルが有効期限に達するかそれに近づくのを待つ必要はありません。

キーマテリアルを再インポートするには、基本的に最初にキーマテリアルのインポートに使用したのと同じ手順を使用しますが、以下の項目については異なります。

  • 新しい KMS キーを作成する代わりに、既存の KMS キーを使用します。インポートの手順のステップ 1 はスキップできます。

  • キーマテリアルを再インポートするときに、有効期限モデルと有効期限を変更することができます。

KMS キーにキーマテリアルをインポートするたびに、KMS キーの新しいラップキーおよびインポートトークンをダウンロードして使用する必要があります。このラッピングの手順は、キーマテリアルの内容には影響しません。そのため、異なるラッピングキーおよび異なるラッピングアルゴリズムを使用して同じキーマテリアルをインポートできます。

キーマテリアルのインポート (コンソール)

AWS Management Console を使用して、キーマテリアルをインポートできます。

  1. ラップされたキーマテリアルのアップロード」のページが表示されている場合は、ステップ 8 に進んでください。

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

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

  4. ナビゲーションペインで、[カスタマーマネージドキー] を選択します。

  5. 公開キーとインポートトークンをダウンロードした KMS キーの、キー ID またはエイリアスを選択します。

  6. [ 暗号構成 ] タブを選択し、その値を表示します。タブは、KMS キーの詳細ページの一般設定セクションにあります。

    キーマテリアルは、EXTERNAL (キーマテリアルのインポート) の Origin を含む KMS キーにのみインポートできます。インポートされたキーマテリアルで KMS キーを作成する方法の詳細については、キーの AWS KMS キーマテリアルのインポート を参照してください。

  7. [キーマテリアル] タブを選択し、[キーマテリアルをインポート] を選択します。[キーマテリアル] タブは、Origin 値が EXTERNAL (キーマテリアルのインポート) の KMS キーに対してのみ表示されます。

    キーマテリアルをダウンロードし、トークンをインポートし、キーマテリアルを暗号化した場合は、[次へ] を選択します。

  8. [暗号化されたキーマテリアルとインポートトークン] セクションで、次の操作を行います。

    1. [ラップされたキーマテリアル] で、[ファイルを選択] を選択します。次に、ラップされた (暗号化された) キーマテリアルを含むファイルをアップロードします。

    2. [トークンのインポート] で、[ファイルを選択] を選択します。ダウンロードしたインポートトークンを含むファイルをアップロードします。

  9. [有効期限オプション] セクションで、キーマテリアルの有効期限が切れているかどうかを判断します。有効期限の日時を設定するには、[キーマテリアルの有効期限] を選択し、カレンダーを使用して日付と時刻を選択します。現在の日付から 365 日後を上限として、日付を指定できます。

  10. [キーマテリアルのアップロード] を選択します。

キーマテリアルをインポートする (AWS KMS API)

キーマテリアルをインポートするには、ImportKeyMaterial オペレーションを使用します。次の例では AWS CLI を使用しますが、サポートされているすべてのプログラミング言語を使用できます。

この例を使用するには:

  1. 1234abcd-12ab-34cd-56ef-1234567890ab を、公開キーとインポートトークンをダウンロードしたときに指定した KMS キーのキー ID と置き換えます。KMS キーを識別するには、そのキー ID またはキー ARN を使用します。このオペレーションにエイリアス名エイリアス ARN を使用することはできません。

  2. EncryptedKeyMaterial.bin を、暗号化されたキーマテリアルを含むファイル名に置き換えます。

  3. ImportToken.bin を、インポートトークンを含むファイル名に置き換えます。

  4. インポートしたキーマテリアルを有効期限切れにする場合は、expiration-model パラメータの値をデフォルトの KEY_MATERIAL_EXPIRES に変更するか、expiration-model パラメータを省略します。次に valid-to パラメータの値を、キーマテリアルを有効期限切れにする日時に置き換えます。リクエストの時点から 365 日後までの日時を設定できます。

    $ aws kms import-key-material --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --encrypted-key-material fileb://EncryptedKeyMaterial.bin \ --import-token fileb://ImportToken.bin \ --expiration-model KEY_MATERIAL_EXPIRES \ --valid-to 2023-06-17T12:00:00-08:00

    インポートしたキーマテリアルを有効期限切れにしたくない場合は、expiration-model パラメータを KEY_MATERIAL_DOES_NOT_EXPIRE に設定し、コマンドの valid-to パラメータを省略します。

    $ aws kms import-key-material --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --encrypted-key-material fileb://EncryptedKeyMaterial.bin \ --import-token fileb://ImportToken.bin \ --expiration-model KEY_MATERIAL_DOES_NOT_EXPIRE
ヒント

コマンドが成功しない場合は、KMSInvalidStateException または NotFoundException が表示されることがあります。リクエストは再試行できます。