メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::KMS::Key

AWS::KMS::Key リソースは、AWS Key Management Service (AWS KMS) でカスタマーマスターキー (CMK) を作成します。ユーザー (顧客) は、マスターキーを使用して、AWS KMS と統合された AWS サービスまたはアプリケーション内に保存されたデータを暗号化できます。詳細については、「AWS Key Management Service とは」 (AWS Key Management Service Developer Guide) を参照してください。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

Copy
{ "Type" : "AWS::KMS::Key", "Properties" : { "Description" : String, "Enabled" : Boolean, "EnableKeyRotation" : Boolean, "KeyPolicy" : JSON object "Tags" : [ リソースタグ, ... ], } }

YAML

Copy
Type: "AWS::KMS::Key" Properties: Description: String Enabled: Boolean EnableKeyRotation: Boolean KeyPolicy: JSON object Tags: - リソースタグ

プロパティ

Description

キーの説明。キーが特定のタスクに適しているかどうかをユーザーが判断するのに役立つ説明を使用します。

Required: No

Type: String

更新に伴う要件: 中断はありません。

Enabled

キーが使用可能かどうかを示します。AWS CloudFormation は、デフォルトでこの値を true に設定します。

Required: No

Type: Boolean

更新に伴う要件: 中断はありません。

EnableKeyRotation

AWS KMS がキーをローテンションするかどうかを示します。AWS CloudFormation は、デフォルトでこの値を false に設定します。

Required: No

Type: Boolean

更新に伴う要件: 中断はありません。

KeyPolicy

キーにアタッチする AWS KMS キーポリシー。ポリシーを使用して、キーを使用する権限を持つユーザーと、そのユーザーが実行可能なアクションを指定します。詳細については、AWS Key Management Service Developer Guideの「キーポリシー」を参照してください。

Required: Yes

Type: JSON object

更新に伴う要件: 中断はありません。

Tags

このキーに関連付けるタグの任意のセット (キーと値のペア) を指定します。 タグを使ってリソースを管理します。

Required: No

Type: AWS CloudFormation Resource Tags

更新に伴う要件: 中断はありません。

戻り値

参照番号

このリソースの論理 ID を Ref 組み込み関数に提供すると、123ab456-a4c2-44cb-95fd-b781f32fbb37 のようなキー ID が返されます。

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

Fn::GetAtt

Fn::GetAtt は、このタイプの指定された属性の値を返します。以下には、利用可能な属性とサンプル戻り値のリストが示されます。

Arn

AWS KMS キーの ARN (arn:aws:kms:us-west-2:123456789012:key/12a34567-8c90-1defg-af84-0bf06c1747f3 など)。

Fn::GetAtt の使用の詳細については、「Fn::GetAtt」を参照してください。

次の例では、IAM ユーザーの Alice にキーの管理を許可し、Bob にデータの暗号化と復号を行うためのキーの使用を許可するカスタム CMK を作成します。

JSON

Copy
"myKey" : { "Type" : "AWS::KMS::Key", "Properties" : { "Description" : "A sample key", "KeyPolicy" : { "Version": "2012-10-17", "Id": "key-default-1", "Statement": [ { "Sid": "Allow administration of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Alice" }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Bob" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" } ] } } }

YAML

Copy
myKey: Type: "AWS::KMS::Key" Properties: Description: "A sample key" KeyPolicy: Version: "2012-10-17" Id: "key-default-1" Statement: - Sid: "Allow administration of the key" Effect: "Allow" Principal: AWS: "arn:aws:iam::123456789012:user/Alice" Action: - "kms:Create*" - "kms:Describe*" - "kms:Enable*" - "kms:List*" - "kms:Put*" - "kms:Update*" - "kms:Revoke*" - "kms:Disable*" - "kms:Get*" - "kms:Delete*" - "kms:ScheduleKeyDeletion" - "kms:CancelKeyDeletion" Resource: "*" - Sid: "Allow use of the key" Effect: "Allow" Principal: AWS: "arn:aws:iam::123456789012:user/Bob" Action: - "kms:Encrypt" - "kms:Decrypt" - "kms:ReEncrypt*" - "kms:GenerateDataKey*" - "kms:DescribeKey" Resource: "*"

次の例では、1 つのタグを持つカスタム CMK を作成します。

JSON

Copy
{ "Resources" : { "myKey" : { "Type" : "AWS::KMS::Key", "Properties" : { "KeyPolicy" : { "Version": "2012-10-17", "Id": "key-default-1", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": { "Fn::Join" : ["" , ["arn:aws:iam::", {"Ref" : "AWS::AccountId"} ,":root" ]] } }, "Action": "kms:*", "Resource": "*" } ] }, "Tags" : [ { "Key" : {"Ref" : "Key"}, "Value" : {"Ref" : "Value"} } ] } } }, "Parameters" : { "Key" : { "Type" : "String" }, "Value" : { "Type" : "String" } } }

YAML

Copy
Resources: myKey: Type: 'AWS::KMS::Key' Properties: KeyPolicy: Version: 2012-10-17 Id: key-default-1 Statement: - Sid: Enable IAM User Permissions Effect: Allow Principal: AWS: !Join - '' - - 'arn:aws:iam::' - !Ref 'AWS::AccountId' - ':root' Action: 'kms:*' Resource: '*' Tags: - Key: !Ref Key Value: !Ref Value Parameters: Key: Type: String Value: Type: String

このページの内容: