

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

# 対称暗号化 KMS キーを作成する
<a name="create-symmetric-cmk"></a>

このトピックでは、基本的な KMS キーを作成する方法について説明します。これは、キーマテリアルを含む 1 つのリージョンの[対称暗号化 KMS キー](symm-asymm-choose-key-spec.md#symmetric-cmks)です AWS KMS。この KMS キーを使用して、 AWS のサービス内のリソースを保護することができます。

対称暗号化 KMS キーは、 AWS KMS コンソール、[CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) API、または [AWS::KMS::Key CloudFormation テンプレート](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html)を使用して作成できます。

デフォルトのキー仕様である [SYMMETRIC\_DEFAULT](symm-asymm-choose-key-spec.md#symmetric-cmks) は、対称暗号化 KMS キー向けキー仕様です。 AWS KMS コンソールで**対称**キータイプと**暗号化および復号**キーの使用を選択すると、`SYMMETRIC_DEFAULT`キー仕様が選択されます。[CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) オペレーションで、 `KeySpec` 値を指定しない場合、SYMMETRIC\_DEFAULT が選択されます。別のキー仕様を使用する理由がない場合は、SYMMETRIC\_DEFAULT を選択することをお勧めします。

KMS キーに適用されるクォータの詳細については、[クォータ](limits.md) を参照してください。

## AWS KMS コンソールの使用
<a name="create-keys-console"></a>

を使用して AWS KMS keys (KMS キー) AWS マネジメントコンソール を作成できます。

**重要**  
エイリアス、説明、またはタグには、機密情報や重要情報を含めないでください。これらのフィールドは、CloudTrail ログやその他の出力にプレーンテキストで表示される場合があります。

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) で AWS Key Management Service (AWS KMS) コンソールを開きます。

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

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

1. **[Create key]** (キーの作成) を選択します。

1. 対称暗号化 KMS キーを作成するには、**[Key type]**] (キーのタイプ) で **[Symmetric]** (対称) を選択します。

1. **[Key usage]** (キーの使用) では、**[Encrypt and decrypt]** (暗号化および復号) オプションがすでに選択されています。

1. [**次へ**] を選択します。

1. KMS キーのエイリアスを入力します。エイリアス名の先頭を **aws/** にすることはできません。**aws/** プレフィックスは、アカウント AWS マネージドキー で を表すために Amazon Web Services によって予約されています。
**注記**  
エイリアスを追加、削除、更新すると、KMS キーに対するアクセス許可が許可または拒否される可能性があります。詳細については、「[の ABAC AWS KMS](abac.md)」および「[エイリアスを使用して KMS キーへのアクセスを制御する](alias-authorization.md)」を参照してください。

    エイリアスは KMS キーを識別するために使用する表示名です。保護する予定のデータタイプ、または KMS キーで使用する予定のアプリケーションを示すエイリアスを選択することをお勧めします。

    

    エイリアスは AWS マネジメントコンソールで KMS キーを作成するときに必要です。[CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) オペレーションを使用する場合、これらのオペレーションはオプションです。

1. (オプション) KMS キーの説明を入力します。

   今すぐ説明を追加するか、[キーの状態](key-state.md)が `Pending Deletion` または `Pending Replica Deletion` でない限り、後でいつでも更新できます。既存のカスタマーマネージドキーの説明を追加、変更、または削除するには、 の KMS キーの詳細ページの説明を編集する AWS マネジメントコンソール か、[UpdateKeyDescription](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateKeyDescription.html) オペレーションを使用します。

1. (オプション) タグキーとオプションのタグ値を入力します。KMS キーに複数のタグを追加するには、[**Add tag**] (タグを追加) を選択します。
**注記**  
KMS キーのタグ付けまたはタグ解除により、KMS キーに対するアクセス許可が許可または拒否される可能性があります。詳細については、「[の ABAC AWS KMS](abac.md)」および「[タグを使用して KMS キーへのアクセスを制御する](tag-authorization.md)」を参照してください。

    AWS リソースにタグを追加すると、 は使用量とコストをタグ別に集計したコスト配分レポート AWS を生成します。タグは、KMS キーへのアクセスの制御にも使用できます。KMS キーのタグ付けについては、[のタグ AWS KMS](tagging-keys.md) および [の ABAC AWS KMS](abac.md) を参照してください。

1. [**次へ**] を選択します。

1. KMS キーを管理できる IAM ユーザーとロールを選択します。
**注意事項**  
このキーポリシーは、この KMS キー AWS アカウント を完全に制御します。これにより、アカウント管理者は IAM ポリシーを使用して、他のプリンシパルに KMS キーを管理する許可を付与できます。詳細については、「[デフォルトのキーポリシー](key-policy-default.md)」を参照してください。  
IAM ベストプラクティスでは、長期の認証情報を持つ IAM ユーザーの使用は推奨されていません。可能な限り、一時的な認証情報を提供する IAM ロールを使用してください。詳細については、「IAM ユーザーガイド」の「[IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)」を参照してください。  
 AWS KMS コンソールは、ステートメント識別子 のキーポリシーにキー管理者を追加します`"Allow access for Key Administrators"`。このステートメント識別子を変更すると、コンソールでステートメントに加えた更新が表示される方法に影響する可能性があります。

1. (オプション) 選択した IAM ユーザーとロールがこの KMS キーを削除しないようにするには、ページの下部にある [**Key deletion**] (キーの削除) セクションで、[**Allow key administrators to delete this key**] (キー管理者にこのキーの削除を許可する) のチェックボックスをオフにします。

1. [**次へ**] を選択します。

1. [暗号化オペレーション](kms-cryptography.md#cryptographic-operations)でキーを使用できる IAM ユーザーとロールを選択します。
**注意事項**  
IAM ベストプラクティスでは、長期の認証情報を持つ IAM ユーザーの使用は推奨されていません。可能な限り、一時的な認証情報を提供する IAM ロールを使用してください。詳細については、「IAM ユーザーガイド」の「[IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)」を参照してください。  
 AWS KMS コンソールは、ステートメント識別子 `"Allow use of the key"`および のキーポリシーにキーユーザーを追加します`"Allow attachment of persistent resources"`。これらのステートメント識別子を変更すると、コンソールでステートメントに加えた更新が表示される方法に影響する可能性があります。

1. (オプション) 暗号化オペレーションにこの KMS キーを使用すること AWS アカウント を他のユーザーに許可できます。これを行うには、ページの下部にある **Other AWS アカウント** セクションで、Add **another AWS アカウント**を選択し、外部アカウントの AWS アカウント 識別番号を入力します。複数の外部アカウントを追加するには、この手順を繰り返します。
**注記**  
外部アカウントでプリンシパルが KMS キーを使用できるようにするには、外部アカウントの管理者が、これらのアクセス許可を付与する IAM ポリシーを作成する必要があります。詳細については、「[他のアカウントのユーザーに KMS キーの使用を許可する](key-policy-modifying-external-accounts.md)」を参照してください。

1. **[Next]** (次へ) を選択します。

1. キーのキーポリシーステートメントを確認します。キーポリシーに変更を加えるには、**[編集]** を選択します。

1. [**次へ**] を選択します。

1. 選択したキー設定を確認します。戻って、すべての設定を変更することもできます。

1. [**Finish**] (完了) を選択し、KMS キーを作成します。

## AWS KMS API の使用
<a name="create-keys-api"></a>

[CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) オペレーションを使用して、すべてのタイプの AWS KMS keys を作成できます。これらの例では、[AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/) を使用します。複数のプログラミング言語の例については、「[AWS SDK または CLI `CreateKey`で を使用する](example_kms_CreateKey_section.md)」を参照してください。

**重要**  
`Description` フィールドまたは `Tags` フィールドには、機密情報や重要情報を含めないでください。これらのフィールドは、CloudTrail ログやその他の出力にプレーンテキストで表示される場合があります。

次のオペレーションでは、 AWS KMSで生成されるキーマテリアルにバックアップされた、単一リージョン内の対称暗号化キーを作成します。このオペレーションには必須パラメータはありません。ただし、キーポリシーを指定するために `Policy` パラメータが必要になる場合もあります。キーポリシー ([PutKeyPolicy](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html)) を変更したり、 [説明](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) や [タグ](https://docs.aws.amazon.com/kms/latest/APIReference/API_TagResource.html) などのオプション要素をいつでも追加したりできます。また、[非対称キー](asymm-create-key.md#create-asymmetric-keys-api)、[マルチリージョンキー](create-primary-keys.md)、[インポートされたキーマテリアル](importing-keys-create-cmk.md#importing-keys-create-cmk-api)を含むキー、および[カスタムキーストア](create-cmk-keystore.md#create-cmk-keystore-api)内のキーも作成できます。クライアント側暗号化用のデータキーを作成するには、[GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) オペレーションを使用します。

`CreateKey` オペレーションでは、エイリアスを指定することはできませんが、[CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html) オペレーションを実行して、新しい KMS キーのエイリアスを作成できます。

次の例では、パラメータを指定せずに `CreateKey` オペレーションを呼び出します。このコマンドでは、すべてのデフォルト値が使用されます。これは、 AWS KMSが生成したキーマテリアルで対称暗号化 KMS キーを作成します。

```
$ aws kms create-key
{
    "KeyMetadata": {
        "Origin": "AWS_KMS",
        "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
        "Description": "",
        "KeyManager": "CUSTOMER",
        "Enabled": true,
        "KeySpec": "SYMMETRIC_DEFAULT",
        "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT",
        "KeyUsage": "ENCRYPT_DECRYPT",
        "KeyState": "Enabled",
        "CreationDate": 1502910355.475,
        "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
        "AWSAccountId": "111122223333",
        "MultiRegion": false
        "EncryptionAlgorithms": [
            "SYMMETRIC_DEFAULT"
        ],
    }
}
```

新規の KMS キーにキーポリシーを指定しない場合、`CreateKey` が適用する[デフォルトのキーポリシー](key-policy-default.md)は、新規の KMS キーを作成するときに使用され、コンソールが適用するデフォルトのキーポリシーとは異なります。

たとえば、 [GetKeyPolicy](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetKeyPolicy.html) オペレーションに対するこの呼び出しは、 `CreateKey` 適用されるキーポリシーを返します。これにより、KMS キー AWS アカウント へのアクセスが許可され、KMS キーの AWS Identity and Access Management (IAM) ポリシーを作成できます。IAM ポリシーおよび KMS キーのキーポリシーの詳細については、「[KMS キーのアクセスとアクセス許可](control-access.md)」を参照してください。

```
$ aws kms get-key-policy --key-id 1234abcd-12ab-34cd-56ef-1234567890ab --policy-name default --output text
```

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Id" : "key-default-1",
  "Statement" : [ {
    "Sid" : "EnableIAMUserPermissions",
    "Effect" : "Allow",
    "Principal" : {
      "AWS" : "arn:aws:iam::{{111122223333}}:root"
    },
    "Action" : "kms:*",
    "Resource" : "*"
  } ]
}
```

------