翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
インポートされたキーマテリアルを持つ KMS キーの作成
キーマテリアルをインポートすると、生成した暗号キーで AWS リソースを保護できます。インポートするキーマテリアルは、特定の KMS キーに関連付けられます。同じキーマテリアルを同じ KMS キーに再インポートすることはできますが、別のキーマテリアルを同じ KMS キーにインポートすることはできません。また、インポートされたキーマテリアル用に設計された KMS キーを、AWS KMS キーマテリアルを持つ KMS キーに変換することもできません。
次に、AWS KMS にキーマテリアルをインポートする手順の概要を説明します。この手順の各ステップの詳細については、該当するトピックを参照してください。
-
キーマテリアルなしで KMS キーを作成 – オリジンは
EXTERNAL
である必要があります。EXTERNAL
のキーオリジンは、キーがインポートされたキーマテリアル用に設計されていることを示しており、AWS KMS は KMS キーのキーマテリアルを生成することができません。後のステップで、この KMS キーに独自のキーマテリアルをインポートします。インポートするキーマテリアルには、関連付けられた AWS KMS キーのキー仕様との互換性が必要です。互換性の詳細については、「インポートされたキーマテリアルの要件」を参照してください。
-
ラッピングパブリックキーとインポートトークンをダウンロード – ステップ 1 を完了した後、ラッピングパブリックキーとインポートトークンをダウンロードします。これらの項目は、AWS KMS にインポートしている間、キーマテリアルを保護します。
このステップでは、RSA ラッピングキーのタイプ (「キー仕様」) と、AWS KMS への転送中のデータの暗号化に使用するラッピングアルゴリズムを選択します。同じキーマテリアルをインポートまたは再インポートするたびに、異なるラッピングキー仕様とラッピングキーアルゴリズムを選択できます。
-
キーマテリアルを暗号化 – ステップ 2 でダウンロードしたラッピングパブリックキーを使用して、独自のシステムで作成したキーマテリアルを暗号化します。
-
キーマテリアルのインポート — 手順 3 で作成した暗号化されたキーマテリアルと、手順 2 でダウンロードしたインポートトークンをアップロードします。
この段階で、オプションの有効期限を設定できます。インポートしたキーマテリアルの有効期限が切れると AWS KMS がこれを削除し、KMS キーは使用できなくなります。この KMS キーを再度使えるようにするには、同じキーマテリアルを再インポートする必要があります。
インポートオペレーションが正常に完了すると、KMS キーのキーステータスは
PendingImport
からEnabled
に変化します。これで、KMS キーを暗号化オペレーションで使用できます。
AWS KMS は、KMS キーの作成、ラッピングパブリックキーとインポートトークンのダウンロード、キーマテリアルのインポートをする際に、AWS CloudTrail ログにエントリを記録します。AWS KMS は、インポートされたキーマテリアルを削除する際や AWS KMS が有効期限切れのキーマテリアルを削除する際にもエントリを記録します。
キーマテリアルをインポートするためのアクセス許可
インポートされたキーマテリアルを使用して KMS キーを作成および管理するには、このプロセスのオペレーションに対するアクセス許可が必要です。KMS キーの作成時、キーポリシーに kms:GetParametersForImport
、kms:ImportKeyMaterial
、kms: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 キーについて、次のキー仕様をサポートしています。
KMS キーのキー仕様 | キーマテリアルの要件 |
---|---|
対称暗号化キー SYMMETRIC_DEFAULT |
256 ビット (32 バイト) のバイナリデータ 中国リージョンでは、128 ビット (16 バイト) のバイナリデータである必要があります。 |
HMAC キー HMAC_224 HMAC_256 HMAC_384 HMAC_512 |
HMAC キーマテリアルは RFC 2104 キーの長さは、キー仕様で指定された長さと一致する必要があります。 |
RSA 非対称プライベートキー RSA_2048 RSA_3072 RSA_4096 |
インポートする RSA 非対称プライベートキーは、RFC 3447 モジュラス: 2048 ビット、3072 ビット、または 4096 ビット 素数の数: 2 (マルチプライム RSA キーはサポートされていません) 非対称 キーマテリアルは、RFC 5208 |
楕円曲線非対称プライベートキー 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 |
SM2 非対称プライベートキー (中国リージョンのみ) |
インポートする SM2 非対称プライベートキーは、GM/T 0003 に準拠したキーペアの一部である必要があります。 曲線: SM2 パラメータ: 名前付き曲線のみ (パラメータが明示された SM2 キーは拒否されます) パブリックポイント座標: 圧縮、非圧縮、射影のいずれでも可 非対称 キーマテリアルは、RFC 5208 |