AWS Key Management Service
開発者ガイド

キーの作成

AWS マネジメントコンソール のカスタマーマスターキー (CMK) は、CreateKey オペレーションを使用して作成できます。

CMK の作成 (コンソール)

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

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

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

  3. ナビゲーションペインで、[Customer managed keys (カスタマー管理型のキー)] を選択します。

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

  5. CMK のエイリアスを入力します。エイリアス名の先頭を aws/ にすることはできません。aws/ プレフィックスは、アカウントの AWS 管理 CMK を表すために Amazon Web Services によって予約されています。

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

    エイリアスは、AWS マネジメントコンソールで CMK を作成するときに必要です。CreateKey オペレーションを使用する場合はオプションです。

  6. (オプション) CMK の説明を入力します。

    保護する予定のデータのタイプ、または CMK で使用する予定のアプリケーションを表す説明を入力します。AWS 管理 CMK に使用される説明形式は使用しないでください。他にキーが定義されていない場合に ... を保護するデフォルトのマスターキーという説明形式は、AWS 管理の CMK 用に予約されています。

    キーの状態Pending Deletion でない限り、今すぐ説明を追加するか、後でいつでも更新できます。既存のカスタマー管理 CMK の説明を追加、変更、または削除するには、AWS マネジメントコンソール で CMK を編集するか、UpdateKeyDescription オペレーションを使用します。

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

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

    AWS リソースにタグを追加すると、使用量とコストがタグごとに集計されたコスト配分レポートが AWS によって生成されます。CMK にタグ付けする方法の詳細については、「キーのタグ付け」を参照してください。

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

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

    注記

    IAM ポリシーによって、CMK を管理するアクセス許可を他の IAM ユーザーおよびロールに付与できます。

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

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

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

    注記

    AWS アカウント (root ユーザー) には、デフォルトで完全なアクセス権限があります。そのため、IAM ポリシーによって、暗号化オペレーションに CMK を使用するアクセス許可をユーザーとロールに付与することもできます。

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

    注記

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

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

  16. 選択した内容で作成されたキーポリシードキュメントを確認します。これを編集することもできます。

  17. [Finish] を選択し、CMK を作成します。

ヒント

プログラムおよびコマンドラインインターフェイスオペレーションで新しい CMK を使用するには、キー ID またはキー ARN が必要です。詳細な手順については、「キー ID と ARN を検索する」を参照してください。

CMK の作成 (KMS API)

CreateKey オペレーションは、新規の AWS KMS カスタマーマスターキー (CMK) を作成します。以下の例では AWS Command Line Interface (AWS CLI) を使用しますが、サポートされている任意のプログラミング言語を使用することができます。

このオペレーションには必須パラメータはありません。ただし、キーマテリアルのないキーを作成する場合には、Origin パラメータが必要です。また、キーポリシーを指定するために Policy パラメータが必要になる場合もあります。キーポリシー (PutKeyPolicy) を変更して、説明タグ などのオプショナルの要素をいつでも追加できます。

次の例では、パラメーターを指定せずに CreateKey オペレーションを呼び出します。

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

新規の CMK にキーポリシーを指定しない場合、CreateKey によって適用されるデフォルトのキーポリシーは、コンソールを使用して新規の CMK を作成するときにコンソールが適用するデフォルトのキーポリシーとは異なります。

たとえば、GetKeyPolicy オペレーションへの呼び出しは、CreateKey が適用するキーポリシーを返します。これによって CMK に AWS アカウントのルートユーザーアクセスが付与され、CMK に AWS Identity and Access Management (IAM) ポリシーを作成することができます。IAM ポリシーと CMK のキーポリシーについての詳細は、「AWS 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" : "*" } ] }