EBS ダイレクト API 用の IAM アクセス許可 - Amazon EBS

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

EBS ダイレクト API 用の IAM アクセス許可

ユーザーが EBS direct API を使用するためには、次のポリシーが必要です。詳細については、「ユーザー許可の変更」を参照してください。

EBS ダイレクト API リソース、アクション、条件コンテキストキーの IAM アクセス許可ポリシーでの使用については、サービス認証リファレンスActions, resources, and condition keys for Amazon Elastic Block Storeを参照してください。

重要

以下のポリシーを ユーザーに割り当てる際には注意が必要です。これらのポリシーを割り当てることで、Amazon EC2 API (CopySnapshot アクションや CreateVolume アクションなど) を介して、同じリソースへのアクセスが拒否されているユーザーにアクセスが許可される場合があります。

次のポリシーでは、特定の AWS リージョンにおいて、すべてのスナップショットに対する読み込み EBS direct API の使用を許可します。このポリシーで、<Region> はスナップショットのリージョンに置き換えます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ebs:ListSnapshotBlocks", "ebs:ListChangedBlocks", "ebs:GetSnapshotBlock" ], "Resource": "arn:aws:ec2:<Region>::snapshot/*" } ] }

次のポリシーでは、特定のキーと値のタグを持つスナップショットに対する読み取り EBS direct API の使用を許可します。このポリシーで、<Key> はタグのキー値に置き換え、<Value> はタグの値に置き換えます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ebs:ListSnapshotBlocks", "ebs:ListChangedBlocks", "ebs:GetSnapshotBlock" ], "Resource": "arn:aws:ec2:*::snapshot/*", "Condition": { "StringEqualsIgnoreCase": { "aws:ResourceTag/<Key>": "<Value>" } } } ] }

次のポリシーでは、特定の時間範囲に限り、アカウント内のすべてのスナップショットに対するすべての読み取り EBS direct API の使用を許可します。このポリシーは、aws:CurrentTime グローバル条件キーに基づいて EBS direct API の使用を許可します。このポリシーで、表示されている日時範囲は、必ずポリシーの日時範囲に置き換えます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ebs:ListSnapshotBlocks", "ebs:ListChangedBlocks", "ebs:GetSnapshotBlock" ], "Resource": "arn:aws:ec2:*::snapshot/*", "Condition": { "DateGreaterThan": { "aws:CurrentTime": "2018-05-29T00:00:00Z" }, "DateLessThan": { "aws:CurrentTime": "2020-05-29T23:59:59Z" } } } ] }

詳細については、「IAM ユーザーガイド」の「ユーザー許可の変更」を参照してください。

次のポリシーでは、特定の AWS リージョンにおいて、すべてのスナップショットに対する書き込み EBS direct API の使用を許可します。このポリシーで、<Region> はスナップショットのリージョンに置き換えます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ebs:StartSnapshot", "ebs:PutSnapshotBlock", "ebs:CompleteSnapshot" ], "Resource": "arn:aws:ec2:<Region>::snapshot/*" } ] }

次のポリシーでは、特定のキーと値のタグを持つスナップショットに対する書き込み EBS direct API の使用を許可します。このポリシーで、<Key> はタグのキー値に置き換え、<Value> はタグの値に置き換えます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ebs:StartSnapshot", "ebs:PutSnapshotBlock", "ebs:CompleteSnapshot" ], "Resource": "arn:aws:ec2:*::snapshot/*", "Condition": { "StringEqualsIgnoreCase": { "aws:ResourceTag/<Key>": "<Value>" } } } ] }

次のポリシーでは、すべての EBS direct API の使用を許可します。また、親スナップショット ID が指定されている場合に限り、StartSnapshot アクションを許可します。したがって、このポリシーでは、親スナップショットを使用せずに新しいスナップショットを開始することを禁止します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ebs:*", "Resource": "*", "Condition": { "StringEquals": { "ebs:ParentSnapshot": "arn:aws:ec2:*::snapshot/*" } } } ] }

次のポリシーでは、すべての EBS direct API の使用を許可します。また、新しいスナップショットに対する user タグキーの作成のみを許可します。また、このポリシーでは、ユーザーがタグを作成するためのアクセス権を持っていることを確認します。タグを指定できるアクションは、StartSnapshot アクションのみです。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ebs:*", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": "user" } } }, { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "*" } ] }

次のポリシーでは、特定の時間範囲に限り、アカウント内のすべてのスナップショットに対するすべての書き込み EBS direct API の使用を許可します。このポリシーは、aws:CurrentTime グローバル条件キーに基づいて EBS direct API の使用を許可します。このポリシーで、表示されている日時範囲は、必ずポリシーの日時範囲に置き換えます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ebs:StartSnapshot", "ebs:PutSnapshotBlock", "ebs:CompleteSnapshot" ], "Resource": "arn:aws:ec2:*::snapshot/*", "Condition": { "DateGreaterThan": { "aws:CurrentTime": "2018-05-29T00:00:00Z" }, "DateLessThan": { "aws:CurrentTime": "2020-05-29T23:59:59Z" } } } ] }

詳細については、「IAM ユーザーガイド」の「ユーザー許可の変更」を参照してください。

次のポリシーでは、特定の KMS キーを使用して、暗号化されたスナップショットを復号するための許可を付与します。EBS 暗号化のデフォルトの KMS キーを使用して新しいスナップショットを暗号化するための許可も付与します。このポリシー内で、<Region> を KMS キーのリージョンに、<AccountId> を KMS キーの AWS アカウント ID に、<KeyId> を KMS キーの ID にそれぞれ置き換えます。

注記

デフォルトでは、アカウント内のすべてのプリンシパルはデフォルトの Amazon EBS 向けの AWS マネージド KMS キーにアクセスでき、EBS の暗号化および復号オペレーションに使用できます。カスタマーマネージドキーを使用している場合は、新しいキーポリシーを作成するか、カスタマーマネージドキーの既存のキーポリシーを変更して、カスタマーマネージドキーへのアクセス権をプリンシパルに付与する必要があります。詳細については、「AWS Key Management Service デベロッパーガイド」の「AWS KMS でのキーポリシー」を参照してください。

ヒント

最小権限のプリンシパルに従うには、kms:CreateGrant へのフルアクセスを許可しないでください。代わりに、次の例に示すように、AWS のサービスによってユーザーに代わって許可が作成された場合にのみ、kms:GrantIsForAWSResource コンディションキーを使用して、KMS キーに許可を作成できるようにします。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncrypt*", "kms:CreateGrant", "ec2:CreateTags", "kms:DescribeKey" ], "Resource": "arn:aws:kms:<Region>:<AccountId>:key/<KeyId>", "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } } ] }

詳細については、「IAM ユーザーガイド」の「ユーザー許可の変更」を参照してください。