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

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

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

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

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

重要

以下のポリシーを ユーザーに割り当てる際には注意が必要です。これらのポリシーを割り当てることで、 CopySnapshot や CreateVolume アクションなどの Amazon EC2 APIsを介して同じリソースへのアクセスを拒否されたユーザーにアクセス権を付与できます。

次のポリシーでは、リード EBS direct APIsを特定の AWS リージョンのすべてのスナップショットで使用できます。このポリシーで、<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 ユーザーガイド」の「ユーザー許可の変更」を参照してください。

次のポリシーでは、APIs の書き込みを特定の AWS リージョンのすべてのスナップショットで使用できます。このポリシーで、<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 キーのアカウントの ID AWS に、<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 ユーザーガイド」の「ユーザー許可の変更」を参照してください。