翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
キーの作成
は、 AWS KMS keysでAWS Management Console、または CreateKeyオペレーションまたは AWS CloudFormation テンプレートを使用して作成できます。このプロセスの最中に、KMS キーのタイプ、そのリージョナリティ (単一リージョンまたはマルチリージョン)、およびキーマテリアルのオリジン (デフォルトでは AWS KMS がユーザーに代わって作成する) を選択します。KMS キー作成後にこれらのプロパティを変更することはできません。KMS キーのキーポリシーも設定します。これはいつでも変更できます。
このトピックでは、基本的な KMS キーである対称暗号化 KMS キーを、AWS KMS からのキーマテリアルを使用して単一リージョン用に作成する方法を説明します。この KMS キーを使用して、AWS のサービス内のリソースを保護することができます。対称暗号化 KMS キーの詳細については、「SYMMETRIC_DEFAULT キー仕様」を参照してください。他のタイプのキーの作成については、「特定用途のキー」を参照してください。
AWS のサービスで保存または管理するデータを暗号化するための KMS キーを作成している場合は、対称暗号化 KMS キーを作成します。AWS KMS と統合された AWS のサービス
注記
対称 KMS キーは、対称暗号化 KMS キーと呼ばれるようになりました。AWS KMS は、対称暗号化 KMS キー (デフォルトのタイプ) と、同じく対称キーである HMAC KMS キーの 2 種類の対称 KMS キーをサポートしています。
AWS KMS コンソールで KMS キーを作成するときは、エイリアス (フレンドリ名) を指定する必要があります。CreateKey
オペレーションでは、新しい KMS キーのエイリアスは作成されません。新規または既存の KMS キーのエイリアスを作成するには、 CreateAliasオペレーションを使用します。AWS KMS のエイリアスの詳細については、「エイリアスの使用」を参照してください。
このトピックでは、対称暗号化 KMS キーの作成方法を説明します。次の表を使用して、さまざまなタイプの KMS キーを作成する手順を確認してください。
KMS キーの作成手順 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
KMS キータイプ | 手順 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
対称暗号化キー (SYMMETRIC_DEFAULT) | 対称暗号化 KMS キーの作成 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
非対称キー | 非対称 KMS キーを作成する | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HMAC キー | HMAC KMS キーの作成 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
マルチリージョンキー (任意のタイプ) | キーマテリアルがインポートされたプライマリキーを作成する | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
インポートされたキーマテリアル(「Bring your own key — BYOK」) | キーマテリアルをインポートするステップ 1: キーマテリアルなしで AWS KMS key を作成する | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AWS CloudHSM キーストア | AWS CloudHSM キーストアでの KMS キーの作成 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
外部キーストア (「Hold your own key — HYOK」) | 外部キーストアで KMS キーを作成する |
詳細はこちら:
-
クライアント側の暗号化用のデータキーを作成するには、 GenerateDataKeyオペレーションを使用します。
-
暗号化または署名用の非対称 KMS キーを作成するには、「非対称 KMS キーを作成する」を参照してください。
-
HMAC KMS キーを作成するには、「HMAC KMS キーの作成」を参照してください。
-
インポートされたキーマテリアルで KMS キーを作成 (「Bring Your Own Key」) するには、「キーマテリアルをインポートするステップ 1: キーマテリアルなしで AWS KMS key を作成する」を参照してください。
-
マルチリージョンのプライマリキーまたはレプリカキーを作成するには、「マルチリージョンキーを作成する」を参照してください。
-
カスタムキーストアで KMS キーを作成するには (キーマテリアルのオリジンがカスタムキーストア (CloudHSM))、「AWS CloudHSM キーストアでの KMS キーの作成」を参照してください。
-
AWS CloudFormation テンプレートを使用して KMS キーを作成するには、 AWS CloudFormation ユーザーガイドのAWS::KMS::Key「」を参照してください。
-
既存の KMS キーが対称か非対称かを判断するには、「非対称 KMS キーの識別」を参照してください。
-
プログラムおよびコマンドラインインターフェイスのオペレーションで KMS キーを使用するには、キー ID またはキー ARN が必要です。詳細な手順については、「キー ID とキー ARN を検索する」を参照してください。
-
KMS キーに適用されるクォータの詳細については、クォータ を参照してください。
KMS キーを作成するためのアクセス許可
コンソールで、または API を使用して KMS キーを作成するには、IAM ポリシーで次のアクセス許可を持っている必要があります。可能な限り、条件キーを使用してアクセス許可を制限します。例えば、IAM ポリシーで kms:KeySpec 条件キーを使用して、プリンシパルが対称暗号化キーのみを作成することを許可できます。
キーを作成するプリンシパルの IAM ポリシーの例については、「KMS キーの作成をユーザーに許可する」を参照してください。
注記
タグとエイリアスを管理する許可をプリンシパルに付与する場合は注意が必要です。タグまたはエイリアスを変更すると、カスタマーマネージドキーに対するアクセス許可が許可または拒否される可能性があります。詳細については、「AWS KMS の ABAC」を参照してください。
-
kms:CreateKey は必須です。
-
kms:CreateAlias は、新しい KMS キーごとにエイリアスが必要なコンソールで KMS キーを作成するために必要です。
-
kms:TagResource は、KMS キーの作成時にタグを追加するために必要です。
-
iam:CreateServiceLinkedRole マルチリージョンのプライマリキーを作成するには が必要です。詳細については、「マルチリージョンキーへのアクセスを制御する」を参照してください。
kms:PutKeyPolicy KMS キーの作成に アクセス許可は必要ありません。kms:CreateKey
アクセス許可には、初期キーポリシーを設定する許可が含まれています。ただし、KMS キーの作成時にこのアクセス許可をキーポリシーに追加して、KMS キーへのアクセスを制御できるようにする必要があります。代わりに、 BypassLockoutSafetyCheckパラメータを使用する方法がありますが、これは推奨されません。
KMS キーは、作成された AWS アカウントに属します。KMS キーを作成する IAM ユーザーはキー所有者とはみなされないため、作成した KMS キーを使用または管理するためのアクセス許可が自動的に付与されません。他のプリンシパルと同様に、キー作成者は、キーポリシー、IAM ポリシー、またはグラントを使用してアクセス許可を取得する必要があります。ただし、kms:CreateKey
アクセス許可を持つプリンシパルは、初期キーポリシーを設定し、キーを使用または管理するためのアクセス許可を自分自身に付与できます。
対称暗号化 KMS キーの作成
KMS キーは、AWS Management Console、または AWS KMS API を使用して作成することができます。
このトピックでは、基本的な KMS キーである対称暗号化 KMS キーを、AWS KMS からのキーマテリアルを使用して単一リージョン用に作成する方法を説明します。この KMS キーを使用して、AWS のサービス内のリソースを保護することができます。他のタイプのキーの作成については、「特定用途のキー」を参照してください。
対称暗号化 KMS キーの作成 (コンソール)
AWS Management Console を使用して AWS KMS keys (KMS キー) を作成します。
重要
エイリアス、説明、またはタグには、機密情報や重要情報を含めないでください。これらのフィールドは、 CloudTrail ログやその他の出力にプレーンテキストで表示される場合があります。
-
AWS Management Console にサインインし、AWS Key Management Service (AWS KMS) コンソール (https://console.aws.amazon.com/kms
) を開きます。 -
AWS リージョン を変更するには、ページの右上隅にあるリージョンセレクターを使用します。
-
ナビゲーションペインで、[カスタマーマネージドキー] を選択します。
-
[Create key] (キーの作成) を選択します。
-
対称暗号化 KMS キーを作成するには、[Key type]] (キーのタイプ) で [Symmetric] (対称) を選択します。
AWS KMS コンソールで非対称 KMS キーを作成する方法については、「非対称 KMS キーを作成する (コンソール)」を参照してください。
-
[Key usage] (キーの使用) では、[Encrypt and decrypt] (暗号化および復号) オプションがすでに選択されています。
MAC コードを生成して検証する KMS キーの作成方法については、「HMAC KMS キーの作成」を参照してください。
-
[Next] (次へ) を選択します。
[Advanced options] (詳細オプション) については、「特定用途のキー」を参照してください。
-
KMS キーのエイリアスを入力します。エイリアス名の先頭を
aws/
にすることはできません。このaws/
プレフィックスは、アカウント内の AWS マネージドキー を表すために、Amazon Web Services によって予約されます。注記
エイリアスを追加、削除、更新すると、KMS キーに対するアクセス許可が許可または拒否される可能性があります。詳細については、「AWS KMS の ABAC」および「エイリアスを使用して KMS キーへのアクセスを制御する」を参照してください。
エイリアスは KMS キーを識別するために使用する表示名です。保護する予定のデータタイプ、または KMS キーで使用する予定のアプリケーションを示すエイリアスを選択することをお勧めします。
エイリアスは AWS Management Console で KMS キーを作成するときに必要です。CreateKey オペレーションを使用する場合、これらはオプションです。
-
(オプション) KMS キーの説明を入力します。
今すぐ説明を追加するか、キーの状態が
Pending Deletion
またはPending Replica Deletion
でない限り、後でいつでも更新できます。既存のカスタマーマネージドキーの説明を追加、変更、または削除するには、 で説明を編集するAWS Management Consoleか、 UpdateKeyDescriptionオペレーションを使用します。 -
(オプション) タグキーとオプションのタグ値を入力します。KMS キーに複数のタグを追加するには、[Add tag] (タグを追加) を選択します。
注記
KMS キーのタグ付けまたはタグ解除により、KMS キーに対するアクセス許可が許可または拒否される可能性があります。詳細については、「AWS KMS の ABAC」および「タグを使用してKMS キーへのアクセスを制御する」を参照してください。
AWS リソースにタグを追加すると、使用量とコストがタグごとに集計されたコスト配分レポートが AWS によって生成されます。タグは、KMS キーへのアクセスの制御にも使用できます。KMS キーのタグ付けについては、キーのタグ付け および AWS KMS の ABAC を参照してください。
-
[次へ] をクリックします。
-
KMS キーを管理できる IAM ユーザーとロールを選択します。
注記
このキーポリシーにより、AWS アカウント はこの KMS キーを完全に制御できるようになります。これにより、アカウント管理者は IAM ポリシーを使用して、他のプリンシパルに KMS キーを管理する許可を付与できます。詳細については、「デフォルトのキーポリシー」を参照してください。
IAM ベストプラクティスでは、長期の認証情報を持つ IAM ユーザーの使用は推奨されていません。可能な限り、一時的な認証情報を提供する IAM ロールを使用してください。詳細については、「IAM ユーザーガイド」の「IAM でのセキュリティのベストプラクティス」を参照してください。
-
(オプション) 選択した IAM ユーザーとロールがこの KMS キーを削除しないようにするには、ページの下部にある [Key deletion] (キーの削除) セクションで、[Allow key administrators to delete this key] (キー管理者にこのキーの削除を許可する) のチェックボックスをオフにします。
-
[次へ] をクリックします。
-
暗号化オペレーションでキーを使用できる IAM ユーザーとロールを選択します。
注記
このキーポリシーにより、AWS アカウント はこの KMS キーを完全に制御できるようになります。これにより、アカウント管理者は IAM ポリシーを使用して、他のプリンシパルに暗号化オペレーションで KMS キーを管理する許可を付与できます。詳細については、「デフォルトのキーポリシー」を参照してください。
IAM ベストプラクティスでは、長期の認証情報を持つ IAM ユーザーの使用は推奨されていません。可能な限り、一時的な認証情報を提供する IAM ロールを使用してください。詳細については、「IAM ユーザーガイド」の「IAM でのセキュリティのベストプラクティス」を参照してください。
-
(オプション) 他の AWS アカウント が暗号化オペレーションにこの KMS キーを使用できるようにします。これを行うには、ページの下部にある [Other AWS アカウント] セクションで、[Add another AWS アカウント] を選択し、外部アカウントの AWS アカウント ID 番号を入力します。複数の外部アカウントを追加するには、この手順を繰り返します。
注記
外部アカウントでプリンシパルが KMS キーを使用できるようにするには、外部アカウントの管理者が、これらのアクセス許可を付与する IAM ポリシーを作成する必要があります。詳細については、「他のアカウントのユーザーに KMS キーの使用を許可する」を参照してください。
-
[次へ] を選択します。
-
選択したキー設定を確認します。戻って、すべての設定を変更することもできます。
-
[Finish] (完了) を選択し、KMS キーを作成します。
対称暗号化 KMS キーの作成 (AWS KMS API)
CreateKey オペレーションを使用して、すべてのタイプの AWS KMS keys を作成できます。以下の例では AWS Command Line Interface (AWS CLI)
重要
Description
フィールドまたは Tags
フィールドには、機密情報や重要情報を含めないでください。これらのフィールドは、 CloudTrail ログやその他の出力にプレーンテキストで表示される場合があります。
次のオペレーションでは、最も一般的に使用される KMS キーを作成します。これは、AWS KMS で生成されたキーマテリアルにバックアップされた、単一リージョンの対称暗号化キーです。このオペレーションには必須パラメータはありません。ただし、キーポリシーを指定するために Policy
パラメータが必要になる場合もあります。キーポリシー (PutKeyPolicy) を変更し、説明やタグなどのオプション要素をいつでも追加できます。また、非対称キー、マルチリージョンキー、インポートされたキーマテリアルを含むキー、およびカスタムキーストア内のキーも作成できます。
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 キーのキーポリシーの詳細については、「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" : "*" } ] }