インポートされたキーマテリアルを持つ KMS キーの作成 - AWS Key Management Service

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

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

インポートされたキーマテリアルを使用すると、生成した暗号化キーで AWS リソースを保護できます。次に、 AWS KMSにキーマテリアルをインポートする手順の概要を説明します。プロセスの各ステップの詳細については、対応するトピックを参照してください。

  1. キーマテリアルなしで KMS キーを作成 – オリジンは EXTERNAL である必要があります。のキーオリジンは、キーがインポートされたキーマテリアル用に設計されており、 が KMS キーのキーマテリアルを生成 AWS KMS できないEXTERNALことを示します。後のステップで、この KMS キーに独自のキーマテリアルをインポートします。

    インポートするキーマテリアルは、関連付けられた AWS KMS キーのキー仕様と互換性がある必要があります。互換性の詳細については、「」を参照してくださいインポートされたキーマテリアルの要件

  2. ラッピングパブリックキーとインポートトークンをダウンロード – ステップ 1 を完了した後、ラッピングパブリックキーとインポートトークンをダウンロードします。これらの項目は、インポート先のキーマテリアルを保護します AWS KMS。

    このステップでは、RSA ラッピングキーのタイプ (「キー仕様」) と、 AWS KMSへの転送中のデータの暗号化に使用するラッピングアルゴリズムを選択します。同じキーマテリアルをインポートまたは再インポートするたびに、異なるラッピングキー仕様とラッピングキーアルゴリズムを選択できます。

  3. キーマテリアルを暗号化 – ステップ 2 でダウンロードしたラッピングパブリックキーを使用して、独自のシステムで作成したキーマテリアルを暗号化します。

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

    この段階で、オプションの有効期限を設定できます。インポートされたキーマテリアルの有効期限が切れると、 はそれ AWS KMS を削除し、KMS キーは使用できなくなります。この KMS キーを再度使えるようにするには、同じキーマテリアルを再インポートする必要があります。

    インポートオペレーションが正常に完了すると、KMS キーのキーステータスは PendingImport から Enabled に変化します。これで、KMS キーを暗号化オペレーションで使用できます。

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

キーマテリアルをインポートするためのアクセス許可

インポートされたキーマテリアルを使用して KMS キーを作成および管理するには、このプロセスのオペレーションに対するアクセス許可が必要です。KMS キーの作成時、キーポリシーに kms:GetParametersForImportkms:ImportKeyMaterialkms:DeleteImportedKeyMaterial のアクセス許可を付与できます。 AWS KMS コンソールでは、外部キーマテリアルオリジンを使用してキーを作成すると、これらのアクセス許可がキー管理者に自動的に追加されます。

インポートされたキーマテリアルを持つ KMS キーを作成するには、プリンシパルに次の許可が必要です。

  • kms:CreateKey (IAM ポリシー)

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

      { "Sid": "CreateKMSKeysWithoutKeyMaterial", "Effect": "Allow", "Resource": "*", "Action": "kms:CreateKey", "Condition": { "StringEquals": { "kms:KeyOrigin": "EXTERNAL" } } }
  • KMS:GetParametersForImport (キーポリシーまたは IAM ポリシー)

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

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

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

インポートされたキーマテリアルを再インポートするには、プリンシパルに KMS:getParametersforImport および KMS:ImportKeyMaterial アクセス許可が必要です。

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

例えば、キーマテリアルがインポートされた KMS キーのすべての側面を管理する KMSAdminRole 許可をサンプルに付与するには、KMS キーのキーポリシーに次のようなキーポリシーステートメントを含めてください。

{ "Sid": "Manage KMS keys with imported key material", "Effect": "Allow", "Resource": "*", "Principal": { "AWS": "arn:aws:iam::111122223333:role/KMSAdminRole" }, "Action": [ "kms:GetParametersForImport", "kms:ImportKeyMaterial", "kms:DeleteImportedKeyMaterial" ] }

インポートされたキーマテリアルの要件

インポートするキーマテリアルには、関連付けられた KMS キーのキー仕様との互換性が必要です。非対称キーペアの場合、ペアのプライベートキーのみをインポートします。 はプライベートキーからパブリックキー AWS KMS を取得します。

AWS KMS は、インポートされたキーマテリアルを持つ KMS キーの次のキー仕様をサポートします。

  • 対称暗号化キー

    • キー仕様:

      • SYMMETRIC_DEFAULT。

    • 要件:

      • 256 ビット (32 バイト) のバイナリデータ。

      • 中国リージョンでは、128 ビット (16 バイト) のバイナリデータである必要があります。

  • HMAC キー

    • 主な仕様:

      • HMAC_224

      • HMAC_256

      • HMAC_384

      • HMAC_512

    • 要件:

      • HMAC キーマテリアルは RFC 2104 に準拠している必要があります。

      • キーの長さは、キー仕様で指定された長さと少なくとも同じである必要があります。最大キー長は 1024 ビットです。

      • キーマテリアルが 1024 ビットを超える場合は、キーマテリアルをハッシュし、ハッシュ出力をインポートできます。ハッシュアルゴリズムは、作成する HMAC KMS キーのキー仕様と一致する必要があります。

    • :

      • 2048 ビットのキーマテリアルを HMAC_256 キーにインポートするには、まず 2048 ビットのキーマテリアルの SHA-256 ハッシュを計算し、得られた 256 ビットのハッシュ出力を KMS キーにインポートします。

    • 有効なキーの長さ:

      • HMAC_224: 224~1024 ビット

      • HMAC_256: 256~1024 ビット

      • HMAC_384: 384~1024 ビット

      • HMAC_512: 512~1024 ビット

  • RSA 非対称プライベートキー

    • 主な仕様:

      • RSA_2048

      • RSA_3072

      • RSA_4096

    • 要件:

      • インポートする RSA 非対称プライベートキーは、RFC 3447 に準拠したキーペアの一部である必要があります。

      • モジュラス: 2048 ビット、3072 ビット、または 4096 ビット

      • 素数の数: 2 (マルチプライム RSA キーはサポートされていません)

      • 非対称 キーマテリアルは、RFC 5208 に準拠したパブリックキー暗号標準 (PKCS) #8 形式で BER エンコードまたは DER エンコードされている必要があります。

  • 楕円曲線非対称プライベートキー

    • 主な仕様:

      • ECC_NIST_P256 (secp256r1)

      • ECC_NIST_P384 (secp384r1)

      • ECC_NIST_P521 (secp521r1)

      • ECC_SECG_P256K1 (secp256k1)

    • 要件:

      • インポートする ECC 非対称プライベートキーは、RFC 5915 に準拠したキーペアの一部である必要があります。

      • 曲線: NIST P-256、NIST P-384、NIST P-521、または Secp256k1。

      • パラメータ: 名前付き曲線のみ (明示的なパラメータを持つ ECC キーは拒否されます)。

      • パブリックポイント座標: 圧縮、非圧縮、射影のいずれかになります。

      • 非対称 キーマテリアルは、RFC 5208 に準拠したパブリックキー暗号標準 (PKCS) #8 形式で BER エンコードまたは DER エンコードされている必要があります。

  • ML-DSA キー

    • 主な仕様:

      • ML_DSA_44

      • ML_DSA_65

      • ML_DSA_87

    重要

    ML-DSA キーのインポートはサポートされていません。

  • SM2 非対称プライベートキー (中国リージョンのみ)

    • 要件:

      • インポートする SM2 非対称プライベートキーは、GM/T 0003 に準拠したキーペアの一部である必要があります。

      • 曲線: SM2。

      • パラメータ: 名前付き曲線のみ (明示的なパラメータを持つ SM2 キーは拒否されます)。

      • パブリックポイント座標: 圧縮、非圧縮、射影のいずれかになります。

      • 非対称 キーマテリアルは、RFC 5208 に準拠したパブリックキー暗号標準 (PKCS) #8 形式で BER エンコードまたは DER エンコードされている必要があります。