翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
IAM を使用して EBS direct API へのアクセスを制御
ユーザーが EBS direct API を使用するためには、次のポリシーが必要です。詳細については、「ユーザー許可の変更」を参照してください。
EBS direct API リソース、アクション、条件コンテキストキーの IAM 許可ポリシーでの使用については、「サービス認証リファレンス」の「Amazon Elastic Block Store 用のアクション、リソース、条件キー」を参照してください。
以下のポリシーを ユーザーに割り当てる際には注意が必要です。これらのポリシーを割り当てることで、Amazon EC2 API (CopySnapshot アクションや CreateVolume アクションなど) を介して、同じリソースへのアクセスが拒否されているユーザーにアクセスが許可される場合があります。
次のポリシーでは、読み取り EBS direct APIsを特定の AWS リージョン内のすべてのスナップショットで使用できます。このポリシーで、<Region>
はスナップショットのリージョンに置き換えます。
- JSON
-
-
{
"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>
はタグの値に置き換えます。
- JSON
-
-
{
"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 の使用を許可します。このポリシーで、表示されている日時範囲は、必ずポリシーの日時範囲に置き換えます。
- JSON
-
-
{
"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 ユーザーガイド」の「ユーザー許可の変更」を参照してください。
次のポリシーでは、書き込み EBS direct APIsを特定の AWS リージョンのすべてのスナップショットで使用できます。このポリシーで、<Region>
はスナップショットのリージョンに置き換えます。
- JSON
-
-
{
"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>
はタグの値に置き換えます。
- JSON
-
-
{
"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
アクションを許可します。したがって、このポリシーでは、親スナップショットを使用せずに新しいスナップショットを開始することを禁止します。
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ebs:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"ebs:ParentSnapshot": "arn:aws:ec2:*::snapshot/*"
}
}
}
]
}
次のポリシーでは、すべての EBS direct API の使用を許可します。また、新しいスナップショットに対する user
タグキーの作成のみを許可します。また、このポリシーでは、ユーザーがタグを作成するためのアクセス権を持っていることを確認します。タグを指定できるアクションは、StartSnapshot
アクションのみです。
- JSON
-
-
{
"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 の使用を許可します。このポリシーで、表示されている日時範囲は、必ずポリシーの日時範囲に置き換えます。
- JSON
-
-
{
"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 キーに対する権限の作成をユーザーに許可します。
- JSON
-
-
{
"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 ユーザーガイド」の「ユーザー許可の変更」を参照してください。