AWS Key Management Service (AWS KMS) にキーマテリアルをインポートする - AWS Key Management Service

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

AWS Key Management Service (AWS KMS) にキーマテリアルをインポートする

提供するキーマテリアルを使用して、 顧客マスターキー (CMK) を作成できます。

CMK は、マスターキーの論理表現です。以下を含みます。キーマテリアルデータの暗号化および復号に使用される、キー識別子およびその他のメタデータです。とき、CMK を作成する(デフォルト)、AWS KMSは CMK のキーマテリアルを生成します。ただし、キーマテリアルを使用せずに CMK を作成し、独自のキーマテリアルをその CMK にインポートできます。この機能は、「自分のキーを使用」(BYOK) とも呼ばれます。

注記

AWS KMSでは、decrypting はサポートされていません。AWS KMSの外部での暗号テキストAWS KMS暗号化テキストが CMK で暗号化されていた場合でも、インポートされたキーマテリアルを使用して CMK で暗号化されています。AWS KMSは、このタスクに必要な暗号文フォーマットを公開せず、フォーマットは予告なく変更される可能性があります。

インポートされたキーマテリアルは、AWS KMS キーストアにある対称 CMK でのみサポートされます。これはではサポートされていません非対称 CMKまたは CMK はカスタムキーストア

インポートされたキーマテリアルを使用する場合、AWS KMS がそのコピーを使用できるようにしている間、キーマテリアルに対して責任を負います。そうする場合の理由として次のものが考えられます (複数が組み合わさる場合もあります)。

  • 要件を満たすエントロピーのソースを使用してキーマテリアルを生成したことを証明するため。

  • AWS サービスを使用してインフラストラクチャのキーマテリアルを使用する、および AWS KMS を使用して AWS 内のキーマテリアルのライフサイクルを管理するため。

  • AWS のキーマテリアルの有効期限を設定し、手動で削除しながらも、将来的に再び利用できるようにするため。これに対して、キーの削除のスケジュールは、7 日から 30 日の待機時間が必要となり、その後、削除された CMK は復元できません。

  • キーマテリアルのオリジナルコピーを所有し、それを AWS 外に保存して、キーマテリアルのライフサイクル期間に耐久性を高め障害の復旧を行うには

インポートされたキーマテリアルを含む CMK と、AWS KMS で生成されるキーマテリアルを含む CMK の重要な違いについては、「インポートしたキーマテリアルについて」を参照してください。

インポートするキーマテリアルは 256 ビット対称暗号化キーである必要があります。

インポートしたキーマテリアルについて

キーマテリアルを AWS KMS にインポートする前に、インポートされたキーマテリアルの以下の特性を理解する必要があります。

キーのマテリアルを生成する

セキュリティ要件を満たすランダム性のソースを使用して、256 ビットのキー素材を生成する責任があります。

キー素材を変更できません

CMK にキーマテリアルをインポートする場合、CMK は、キーマテリアルに永続的に関連付けられます。同じキーマテリアルを再インポートすることができますが、別のキーマテリアルをその CMK にインポートすることはできません。また、インポートされたキーマテリアルを使用して、CMK に対して自動キーローテーションを有効にすることはできません。ただし、インポートされたキーマテリアルを使用して、手動で CMK をローテーションすることはできます。

他の CMK で復号化できない

CMK でデータを暗号化すると、同じキーマテリアルを別の CMK にインポートする場合でも、暗号化テキストを他の CMK を使用して復号化することはできません。これはセキュリティ機能のAWS KMSカスタマーマスターキー。

唯一の例外はマルチリージョンキーであり、相互運用可能であるように設計されています。詳細については、「インポートされたキーマテリアルを使用して、すべての CMK が相互運用できないのはなぜですか。」を参照してください。

携帯性またはエスクロー機能なし

暗号文はAWS KMS生産は移植できません。AWS KMSでは、decrypting はサポートされていません。AWS KMSの外部での暗号テキストAWS KMS暗号化テキストが CMK で暗号化されていた場合でも、インポートされたキーマテリアルを使用して CMK で暗号化されています。AWS KMSは、このタスクに必要な暗号文フォーマットを公開せず、フォーマットは予告なく変更される可能性があります。

また、任意のAWSツールなど、AWS Encryption SDKまたはAmazon S3 のクライアント側の暗号化decryptするにはAWS KMS暗号化テキスト。

その結果、インポートされたキーマテリアルを含むキーを使用して、キーマテリアルへの条件付きアクセス権を持つ許可されたサードパーティーが AWS KMS の外部で特定の暗号化テキストを復号できるキーエスクローの配置をサポートすることはできません。キーエスクローをサポートするには、AWS Encryption SDK を使用して、AWS KMS に依存しないキーでメッセージを暗号化します。

可用性と耐久性に責任があります

お客様は、キーマテリアルの全体的な可用性と耐久性に対して責任があります。AWS KMS は、インポートされたキーマテリアルの可用性を高めるために設計されています。ただし、このサービスでは、インポートされたキーマテリアルの耐久性は、ユーザーに代わって生成されたキーマテリアルと同じレベルでは維持されません。この差は、次の場合に有意義です。

  • インポートされたキーマテリアルの有効期限を設定すると、AWS KMS は、有効期限が切れた後キーマテリアルを削除します。AWS KMS は CMK やそのメタデータを削除しません。AWS KMS により生成されたキーマテリアルの有効期限を設定することはできません。

  • 手動でインポートされたキーマテリアルを削除する場合、AWS KMS は、キーマテリアルを削除しますが、CMK またはそのメタデータは削除しません。これに対して、キーの削除のスケジュールは、7 日から 30 日間の待機時間を必要とし、その後 AWS KMS はキーマテリアルおよび CMK のメタデータすべてを削除します。

  • 万一サービスに影響する特定のリージョン全体の障害が発生した場合には (全体の停電など)、AWS KMS は、インポートされたキーマテリアルを自動的に復元できません。ただし、AWS KMS は、CMK およびそのメタデータを復元できます。

このようなイベント後にキーマテリアルを復元するには、制御するシステムにキーマテリアルのコピーを保存する必要があります。次に、CMK に再インポートできます。

キーマテリアルをインポートするための権限

インポートされたキーマテリアルを使用して CMK を作成および管理するには、このプロセスの操作に対するパーミッションが必要です。CMK を作成するときに kms:GetParametersForImport, kms:ImportKeyMaterial, 、キーポリシーに、、およびの kms:DeleteImportedKeyMaterial アクセス権限を提供できます。この kms:ImportKeyMaterial 権限は、キー管理者のデフォルトの権限には含まれないため、手動で追加する必要があります。

インポートされたキーマテリアルを使用して CMK を作成するには、プリンシパルに次の権限が必要です。

  • KMS: 作成キー (IAM ポリシー)

    • インポートされたキーマテリアルを持つ CMK にこの権限を制限するには、 KMS: KeyOrigin ポリシー条件をの値で使用 EXTERNALします。

      { "Version": "2012-10-17", "Statement": { "Sid": "IAM policy to create CMKs with no key material" "Effect": "Allow", "Resource": "*", "Principal": { "AWS": "arn:aws:iam::111122223333:role/KMSAdminRole" }, "Action": "kms:CreateKey", "Condition": { "StringEquals": { "kms:KeyOrigin": "EXTERNAL" } } }
  • KMS: インポートのパラメータを取得 (キーポリシーまたは IAM ポリシー)

    • 特定のラッピングアルゴリズムとラッピングキー仕様を使用する要求にこの権限を制限するには、 KMS: WrappingAlgorithm および KMS: WrappingKeySpec ポリシー条件を使用します。

  • KMS: ImportKeyMaterial (キーポリシーまたは IAM ポリシー)

    • 有効期限が切れるキーマテリアルを許可または禁止し、有効期限を制御するには、 KMS: ExpirationModel および KMS: Validto ポリシー条件を使用します。

インポートされたキーマテリアルを再インポートするには、プリンシパルに KMS: getParametersforImport および KMS: ImportKeyMater ial 権限が必要です。

インポートされたキーマテリアルを削除するには、プリンシパルに KMS: DeleteImportedKeyMaterial 権限が必要です。

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

次に、AWS KMS にキーマテリアルをインポートする手順の概要を説明します。この手順の各ステップの詳細については、該当するトピックを参照してください。

  1. キーマテリアルの@@ない対称 CMK を作成する — キーマテリアルの インポートを開始するには、まず、 オリジン がである対称 CMK を作成します EXTERNAL。これは、キーマテリアルが AWS KMS 外で生成されたことを示し、AWS KMS が CMK のキーマテリアルを生成しないようにします。後の手順で、この CMK に独自のキーマテリアルをインポートします。

  2. 公開鍵とインポートトークンのダウンロード — 手順 1 を完了した後、公開鍵とインポートトークンをダウンロードします。これらの項目は、AWS KMS へのキーマテリアルのインポートを保護します。

  3. キーマテリアルの暗号化 — 手順 2 でダウンロードした公開キーを使用して、独自のシステムで作成したキーマテリアルを暗号化します。

  4. キー素材のインポート — 手順 3 で作成した暗号化されたキー素材と、手順 2 でダウンロードしたインポートトークンをアップロードします。

AWS KMSは、エントリをAWS CloudTrailときにログを記録するCMK を作成する,パブリックキーとインポートトークンをダウンロードするには, およびキーマテリアルをインポートするには。AWS KMSインポートされたキーマテリアルを削除した場合や、AWS KMS 期限切れのキーマテリアルを削除します

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

インポートされたキーマテリアルを使用して CMK を管理する場合、キーマテリアルの有効期限が切れているか、またはキーマテリアルが誤って削除または失われたために、キーマテリアルを再インポートする必要があります。

もともと CMK にインポートされたのと同じキーマテリアルを再インポートする必要があります。別のキーマテリアルを CMK にインポートすることはできません。また、AWS KMS はキーマテリアルを使用せずに作成された CMK のキーマテリアルを作成することはできません。

キーマテリアルを再インポートするには、次のような例外を除いて、最初にキーマテリアルのインポートに使用したのと同じ手順を使用します。

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

  • CMK キーマテリアルが含まれている場合、キーマテリアルを再インポートする前に、既存のキーマテリアルを削除する必要があります。

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

インポートされたキー素材を使用したCMKの表示方法

キーマテリアルなしで CMK を作成する場合、CMK の Origin プロパティの値は EXTERNAL で、変更することはできません。インポートされたキーマテリアルを使用するように設計されたキーは、AWS KMS が提供するキーマテリアルを使用するキーに変換することはできません。

AWS KMS コンソールまたは AWS KMS API を使用して、インポートされたキーマテリアルを必要とする CMK を特定できます。コンソールまたは API を使用して、キーマテリアルのプロパティを表示することもできます。たとえば、有効期限が切れるかどうか、期限が切れるかどうかなど。

インポートされたキーマテリアルで CMK を識別するには (コンソール)

  1. を開くAWS KMSコンソール (https://console.aws.amazon.com/kms

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

  3. 次のいずれかのテクニックを使用して、CMK の Origin プロパティを表示します。

    • CMK テーブルに Origin 列を追加するには、右上隅の、[Settings (設定)] アイコンを選択します。[Origin]、[Confirm (確認)] の順に選択します。Origin 列によって、EXTERNAL オリジンプロパティ値のある CMK を簡単に特定できます。

    • 特定の CMK の Origin プロパティの値を検索するには、CMK のキー ID またはエイリアスを選択します。次に、[ 暗号構成 ] タブを選択します。これらのタブは、[ 一般設定 ] セクションの下にあります。

  4. キーマテリアルに関する詳細情報を表示するには、[ キーマテリアル ] タブを選択します。このタブは、キー素材がインポートされた CMK についてのみ詳細ページに表示されます。

インポートされたキーマテリアルを使用して CMK を識別するには (AWS KMSAPI)

DescribeKey 操作を使用します。レスポンスには、次の例に示すように、CMK の Origin プロパティ、有効期限モデル、有効期限が含まれます。

$ aws kms describe-key --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyMetadata": { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Origin": "EXTERNAL", "ExpirationModel": "KEY_MATERIAL_EXPIRES" "ValidTo": 1568894400.0, "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": 1568289600.0, "Enabled": false, "MultiRegion": false, "Description": "", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "PendingImport", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }