対称暗号化 KMS キーを作成する - AWS Key Management Service

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

対称暗号化 KMS キーを作成する

このトピックでは、基本的な KMS キーである対称暗号化 KMS キーを、AWS KMS からのキーマテリアルを使用して単一リージョン用に作成する方法を説明します。この KMS キーを使用して、AWS のサービス内のリソースを保護することができます。

AWS KMS コンソール操作で、または CreateKey API もしくは AWS::KMS::Key AWS CloudFormation テンプレートを使用して、対称暗号化 KMS キーを作成できます。

デフォルトのキー仕様である SYMMETRIC_DEFAULT は、対称暗号化 KMS キー向けキー仕様です。AWS KMS コンソールでキーのタイプに [Symmetric] (対称)、キーの用途に [Encrypt and decrypt] (暗号化および復号) を選択すると、SYMMETRIC_DEFAULT キー仕様が選択されます。CreateKey オペレーションで、 KeySpec 値を指定しない場合、SYMMETRIC_DEFAULT が選択されます。別のキー仕様を使用する理由がない場合は、SYMMETRIC_DEFAULT を選択することをお勧めします。

KMS キーに適用されるクォータの詳細については、クォータ を参照してください。

AWS Management Console を使用して AWS KMS keys (KMS キー) を作成します。

重要

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

  1. AWS Management Console にサインインし、AWS Key Management Service (AWS KMS) コンソール (https://console.aws.amazon.com/kms) を開きます。

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

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

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

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

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

  7. [Next] を選択します。

  8. KMS キーのエイリアスを入力します。エイリアス名の先頭を aws/ にすることはできません。この aws/ プレフィックスは、アカウント内の AWS マネージドキー を表すために、Amazon Web Services によって予約されます。

    注記

    エイリアスを追加、削除、更新すると、KMS キーに対するアクセス許可が許可または拒否される可能性があります。詳細については、「AWS KMS の ABAC」および「エイリアスを使用してKMSキーへのアクセスを制御する」を参照してください。

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

    エイリアスは AWS Management Console で KMS キーを作成するときに必要です。CreateKey オペレーションを使用する場合、これらのオペレーションはオプションです。

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

    今すぐ説明を追加するか、キーの状態Pending Deletion または Pending Replica Deletion でない限り、後でいつでも更新できます。既存のカスタマーマネージドキーの説明を追加、変更、削除するには、AWS Management Consoleで KMS キーの詳細ページの説明を編集するか、もしくは UpdateKeyDescription オペレーションを使用します。

  10. (オプション) タグキーとオプションのタグ値を入力します。KMS キーに複数のタグを追加するには、[Add tag] (タグを追加) を選択します。

    注記

    KMS キーのタグ付けまたはタグ解除により、KMS キーに対するアクセス許可が許可または拒否される可能性があります。詳細については、「AWS KMS の ABAC」および「タグを使用してKMSキーへのアクセスを制御する」を参照してください。

    AWS リソースにタグを追加すると、使用量とコストがタグごとに集計されたコスト配分レポートが AWS によって生成されます。タグは、KMS キーへのアクセスの制御にも使用できます。KMS キーのタグ付けについては、のタグ AWS KMS および AWS KMS の ABAC を参照してください。

  11. [Next] を選択します。

  12. KMS キーを管理できる IAM ユーザーとロールを選択します。

    注記

    このキーポリシーにより、AWS アカウント はこの KMS キーを完全に制御できるようになります。これにより、アカウント管理者は IAM ポリシーを使用して、他のプリンシパルに KMS キーを管理する許可を付与できます。詳細については、「デフォルトのキーポリシー」を参照してください。

     

    IAM ベストプラクティスでは、長期の認証情報を持つ IAM ユーザーの使用は推奨されていません。可能な限り、一時的な認証情報を提供する IAM ロールを使用してください。詳細については、「IAM ユーザーガイド」の「IAM でのセキュリティのベストプラクティス」を参照してください。

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

  14. [Next] を選択します。

  15. 暗号化オペレーションでキーを使用できる IAM ユーザーとロールを選択します。

    注記

    このキーポリシーにより、AWS アカウント はこの KMS キーを完全に制御できるようになります。これにより、アカウント管理者は IAM ポリシーを使用して、他のプリンシパルに暗号化オペレーションで KMS キーを管理する許可を付与できます。詳細については、「デフォルトのキーポリシー」を参照してください。

     

    IAM ベストプラクティスでは、長期の認証情報を持つ IAM ユーザーの使用は推奨されていません。可能な限り、一時的な認証情報を提供する IAM ロールを使用してください。詳細については、「IAM ユーザーガイド」の「IAM でのセキュリティのベストプラクティス」を参照してください。

  16. (オプション) 他の AWS アカウント が暗号化オペレーションにこの KMS キーを使用できるようにします。これを行うには、ページの下部にある [Other AWS アカウント] セクションで、[Add another AWS アカウント] を選択し、外部アカウントの AWS アカウント ID 番号を入力します。複数の外部アカウントを追加するには、この手順を繰り返します。

    注記

    外部アカウントでプリンシパルが KMS キーを使用できるようにするには、外部アカウントの管理者が、これらのアクセス許可を付与する IAM ポリシーを作成する必要があります。詳細については、「他のアカウントのユーザーに KMS キーの使用を許可する」を参照してください。

  17. [Next] を選択します。

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

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

CreateKey オペレーションを使用して、すべてのタイプの AWS KMS keys を作成できます。これらの例では、AWS Command Line Interface (AWS CLI) を使用します。複数のプログラミング言語の例については、「または CreateKeyで を使用する AWS SDK CLI」を参照してください。

重要

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

次のオペレーションでは、AWS KMS で生成されるキーマテリアルにバックアップされた、単一リージョン内の対称暗号化キーを作成します。このオペレーションには必須パラメータはありません。ただし、キーポリシーを指定するために Policy パラメータが必要になる場合もあります。キーポリシー (PutKeyPolicy) を変更したり、 説明タグ などのオプション要素をいつでも追加したりできます。また、非対称キーマルチリージョンキーインポートされたキーマテリアルを含むキー、およびカスタムキーストア内のキーも作成できます。クライアント側暗号化用のデータキーを作成するには、GenerateDataKey オペレーションを使用します。

CreateKey オペレーションでは、エイリアスを指定することはできませんが、CreateAlias オペレーションを実行して、新しい 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 が適用するデフォルトのキーポリシーは、新規の KMS キーを作成するときに使用され、コンソールが適用するデフォルトのキーポリシーとは異なります。

たとえば、 GetKeyPolicy オペレーションに対するこの呼び出しは、 CreateKey 適用されるキーポリシーを返します。これは、AWS アカウント に KMS キーへのアクセス許可を付与して、KMS キーの AWS Identity and Access Management (IAM) ポリシーを作成できるようにします。IAM ポリシーおよび KMS キーのキーポリシーの詳細については、「KMS キーアクセスとアクセス許可」を参照してください。

$ aws kms get-key-policy --key-id 1234abcd-12ab-34cd-56ef-1234567890ab --policy-name default --output text { "Version" : "2012-10-17", "Id" : "key-default-1", "Statement" : [ { "Sid" : "Enable IAM User Permissions", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:root" }, "Action" : "kms:*", "Resource" : "*" } ] }