

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

# インポートされたキーマテリアルを持つ KMS キーの作成
<a name="importing-keys-conceptual"></a>

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

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

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

1. [ラッピングパブリックキーとインポートトークンをダウンロード](importing-keys-get-public-key-and-token.md) – ステップ 1 を完了した後、ラッピングパブリックキーとインポートトークンをダウンロードします。これらの項目は、インポート中のキーマテリアルを保護します AWS KMS。

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

1. [キーマテリアルを暗号化](importing-keys-encrypt-key-material.md) – ステップ 2 でダウンロードしたラッピングパブリックキーを使用して、独自のシステムで作成したキーマテリアルを暗号化します。

1. [キーマテリアルのインポート](importing-keys-import-key-material.md) — 手順 3 で作成した暗号化されたキーマテリアルと、手順 2 でダウンロードしたインポートトークンをアップロードします。

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

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

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

## キーマテリアルをインポートするためのアクセス許可
<a name="importing-keys-permissions"></a>

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

インポートされたキーマテリアルを持つ KMS キーを作成するには、プリンシパルに次の許可が必要です。
+ [kms:CreateKey](customer-managed-policies.md#iam-policy-example-create-key) (IAM ポリシー)
  + インポートされたキーマテリアルを持つ KMS キーに対するこの許可を制限するには、`EXTERNAL` の値を持つ [kms:KeyOrigin](conditions-kms.md#conditions-kms-key-origin) ポリシー条件を使用します。

    ```
    {
      "Sid": "CreateKMSKeysWithoutKeyMaterial",
      "Effect": "Allow",
      "Resource": "*",
      "Action": "kms:CreateKey",
      "Condition": {
        "StringEquals": {
          "kms:KeyOrigin": "EXTERNAL"
        }
      }
    }
    ```
+ [KMS:GetParametersForImport](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetParametersForImport.html) (キーポリシーまたは IAM ポリシー)
  + 特定のラッピングアルゴリズムとラッピングキー仕様を使用する要求にこのアクセス許可を制限するには、[KMS: WrappingAlgorithm](conditions-kms.md#conditions-kms-wrapping-algorithm) および [KMS: WrappingKeySpec](conditions-kms.md#conditions-kms-wrapping-key-spec) ポリシー条件を使用します。
+ [KMS:ImportKeyMaterial](https://docs.aws.amazon.com/kms/latest/APIReference/API_ImportKeyMaterial.html) (キーポリシーまたは IAM ポリシー)
  + 有効期限が切れるキーマテリアルを許可または禁止し、有効期限を制御するには、[KMS:ExpirationModel](conditions-kms.md#conditions-kms-expiration-model) および [KMS:Validto](conditions-kms.md#conditions-kms-valid-to) ポリシー条件を使用します。

インポートされたキーマテリアルを再インポートするには、プリンシパルに [KMS:getParametersforImport](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetParametersForImport.html) および [KMS:ImportKeyMaterial](https://docs.aws.amazon.com/kms/latest/APIReference/API_ImportKeyMaterial.html) アクセス許可が必要です。

インポートされたキーマテリアルを削除するには、プリンシパルに [KMS:DeleteImportedKeyMaterial](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteImportedKeyMaterial.html) アクセス許可が必要です。

例えば、キーマテリアルがインポートされた 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"
  ]  
}
```

## インポートされたキーマテリアルの要件
<a name="importing-keys-material-requirements"></a>

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

AWS KMS は、インポートされたキーマテリアルを持つ KMS キーの次のキー仕様をサポートしています。
+ **対称暗号化キー**
  + **キー仕様:**
    + SYMMETRIC\$1DEFAULT。
  + **要件:**
    + 256 ビット (32 バイト) のバイナリデータ。
    + 中国リージョンでは、128 ビット (16 バイト) のバイナリデータである必要があります。
+ **HMAC キー**
  + **キー仕様:**
    + HMAC\$1224
    + HMAC\$1256
    + HMAC\$1384
    + HMAC\$1512
  + **要件:**
    + HMAC キーマテリアルは [RFC 2104](https://datatracker.ietf.org/doc/html/rfc2104) に準拠している必要があります。
    + キーの長さは、少なくともキー仕様で指定された長さと同じである必要があります。最大キー長は 1024 ビットです。
    + キーマテリアルが 1024 ビットを超える場合は、キーマテリアルをハッシュし、ハッシュ出力をインポートできます。ハッシュアルゴリズムは、作成する HMAC KMS キーのキー仕様と一致する必要があります。
  + **例**:
    + 2048 ビットのキーマテリアルを HMAC\$1256 キーにインポートするには、まず 2048 ビットのキーマテリアルの SHA-256 ハッシュを計算し、得られた 256 ビットのハッシュ出力を KMS キーにインポートします。
  + **有効なキーの長さ:**
    + HMAC\$1224: 224～1024 ビット
    + HMAC\$1256: 256～1024 ビット
    + HMAC\$1384: 384～1024 ビット
    + HMAC\$1512: 512～1024 ビット
+ **RSA 非対称プライベートキー**
  + **キー仕様:**
    + RSA\$12048
    + RSA\$13072
    + RSA\$14096
  + **要件:**
    + インポートする RSA 非対称プライベートキーは、[RFC 3447](https://datatracker.ietf.org/doc/html/rfc3447/) に準拠したキーペアの一部である必要があります。
    + **モジュラス**: 2048 ビット、3072 ビット、または 4096 ビット
    + **素数の数**: 2 (マルチプライム RSA キーはサポートされていません)
    + 非対称キーマテリアルは、[RFC 5208](https://datatracker.ietf.org/doc/html/rfc5208) に準拠したパブリックキー暗号標準 (PKCS) \$18 形式で BER エンコードまたは DER エンコードされている必要があります。
+ **楕円曲線非対称プライベートキー**
  + **キー仕様:**
    + ECC\$1NIST\$1P256 (secp256r1)
    + ECC\$1NIST\$1P384 (secp384r1)
    + ECC\$1NIST\$1P521 (secp521r1)
    + ECC\$1SECG\$1P256K1 (secp256k1)
    + ECC\$1NIST\$1EDWARDS25519 (ed25519)
  + **要件:**
    + インポートする ECC 非対称プライベートキーは、[RFC 5915](https://datatracker.ietf.org/doc/html/rfc5915/) に準拠したキーペアの一部である必要があります。
    + **曲線:** NIST P-256、NIST P-384、NIST P-521, Secp256k1、NIST Ed25519。
    + **パラメータ:** 名前付き曲線のみ (パラメータが明示された ECC キーは拒否されます)。
    + **パブリックポイント座標:** 圧縮、非圧縮、または射影。
    + 非対称キーマテリアルは、[RFC 5208](https://datatracker.ietf.org/doc/html/rfc5208) に準拠したパブリックキー暗号標準 (PKCS) \$18 形式で BER エンコードまたは DER エンコードされている必要があります。
+ **ML-DSA キー**
  + **キー仕様:**
    + ML\$1DSA\$144
    + ML\$1DSA\$165
    + ML\$1DSA\$187
**重要**  
ML-DSA キーのインポートはサポートされていません。
+ **SM2 非対称プライベートキー** (中国リージョンのみ)
  + **要件:**
    + インポートする SM2 非対称プライベートキーは、GM/T 0003 に準拠したキーペアの一部である必要があります。
    + **曲線:** SM2。
    + **パラメータ:** 名前付き曲線のみ (パラメータが明示された SM2 キーは拒否されます)。
    + **パブリックポイント座標:** 圧縮、非圧縮、または射影。
    + 非対称キーマテリアルは、[RFC 5208](https://datatracker.ietf.org/doc/html/rfc5208) に準拠したパブリックキー暗号標準 (PKCS) \$18 形式で BER エンコードまたは DER エンコードされている必要があります。