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

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

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

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

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

EXTERNAL オリジンを持つすべての KMS キーでは、インポートされた最初のキーマテリアルが最新になり、永続的に関連付けられます。EXTERNAL オリジンを使用した単一リージョンの対称暗号化キーは、オンデマンドローテーションをサポートします。複数のキーマテリアルを、オンデマンドローテーションをサポートするインポートされたキーに関連付けることができます。新しいキーマテリアルを KMS キーに関連付けるには、ImportKeyMaterial アクションNEW_KEY_MATERIALimportTypeパラメータを に設定する必要があります。このキーマテリアルは、RotateKeyOnDemand アクションを実行するまで、キーに永続的に関連付けられません。それまでは、このキーマテリアルは PENDING_ROTATION状態です。オプションのパラメータのデフォルト値は ImportTypeですEXISTING_KEY_MATERIALImportType パラメータを省略するか、 として指定するときはEXISTING_KEY_MATERIAL、以前に KMS キーに関連付けられているキーマテリアルをインポートする必要があります。

EXTERNALリジンを持つ非対称、HMAC、またはマルチリージョン KMS キーの場合、キーに関連付けることができるキーマテリアルは 1 つだけです。 AWS KMS は、 ImportTypeパラメータを使用して ImportKeyMaterial API リクエストを拒否します。

KMS キーに永続的に関連付けられているすべてのキーマテリアルがインポートされると、KMS キーは暗号化オペレーションで使用できます。これらのキーマテリアルのいずれかを削除または期限切れにすると、KMS キーの状態は に変わりPendingImport、キーは暗号化オペレーションに使用できません。

キーマテリアルをインポートするには、 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 オペレーションを監査することもできます。

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

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

キーマテリアルの説明を設定する

EXTERNALリジンを持つ単一リージョンの対称暗号化キーには、複数のキーマテリアルを関連付けることができます。このようなキーにキーマテリアルをインポートするときに、オプションのキーマテリアルの説明を指定できます。説明を使用して、対応するキーマテリアルが外部で永続的に維持されている場所を追跡できます AWS KMS。

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

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

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

キーマテリアルを再インポートする手順は、キーマテリアルを初めてインポートする場合と同じですが、以下の例外があります。

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

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

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

新しいキーマテリアルをインポートする

インポートされたキーマテリアルを使用して対称暗号化 KMS キーでオンデマンドローテーションを実行するには、最初にキーに以前関連付けられていなかった新しいキーマテリアルをインポートする必要があります。ImportType パラメータを に設定して ImportKeyMaterial オペレーションNEW_KEY_MATERIALを使用して、このタスクを実行します。この方法でインポートされたキーマテリアルは、RotateKeyOnDemand オペレーションを実行するか、 でキーをローテーションするまで PENDING_ROTATION状態になります AWS Management Console。KMS キーは、いつでも最大 1 つのキーマテリアルを PENDING_ROTATION状態にすることができます。

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

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

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

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

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

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

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

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

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

  7. 非対称キー、HMAC キー、マルチリージョンキーの場合は、キーマテリアルタブを選択し、キーマテリアルのインポートを選択します。単一リージョンの対称暗号化キーの場合は、キーマテリアルとローテーションタブを選択します。次に、初期キーマテリアルをインポートするか、新しいキーマテリアルをインポートするか、キーマテリアルを再インポートを選択します。キーマテリアルの再インポートオプションは、キーマテリアルテーブルのActionsメニューで使用できます。

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

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

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

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

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

  10. 対称暗号化キーの場合、オプションでインポートするキーマテリアルの説明を指定できます。

  11. キーマテリアルのインポート を選択します。

キーマテリアルのインポート (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
  5. 以前に KMS キーに関連付けられていない新しいキーマテリアルをインポートする場合は、 ImportTypeパラメータを に設定しますNEW_KEY_MATERIAL。このオプションは、単一リージョンの対称暗号化キーでのみ使用できます。これらのキーについては、オプションの KeyMaterialDescriptionパラメータを使用して、次のコマンドライン例でインポートされたキーマテリアルの説明を設定することもできます。

    $ 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 \ --import-type NEW_KEY_MATERIAL \ --key-material-description "Q2 2025 Rotation"
ヒント

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