メニュー
Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

Amazon EC2 API アクションでサポートされるリソースレベルのアクセス許可

リソースレベルのアクセス許可とは、ユーザーがアクションを実行可能なリソースを指定できることを意味します。Amazon EC2 では、リソースレベルのアクセス許可が部分的にサポートされます。これは、特定の Amazon EC2 アクションでは、満たす必要がある条件、またはユーザーが使用できる特定のリソースに基づいて、ユーザーがそれらのアクションをいつ使用できるかを制御できることを意味します。たとえば、特定の AMI のみを使用して、特定のタイプのインスタンスだけを起動するアクセス許可をユーザーに付与できます。

次の表では、現在リソースレベルのアクセス許可をサポートしている Amazon EC2 API アクションと、サポートされるリソースとその ARN、および各アクションの条件キーについて説明していますARN の指定時、正確なリソース ID を指定できない (したくない) 場合などに、パスに * ワイルドカードを使用できます。ワイルドカードの使用例については、「AWS CLI または AWS SDK で使用するサンプルポリシー」を参照してください。

重要

Amazon EC2 API アクションがこの表に示されていない場合、リソースレベルのアクセス許可をサポートしていません。Amazon EC2 API アクションでリソースレベルのアクセス許可がサポートされない場合、アクションを使用するアクセス許可をユーザーに付与できますが、ポリシーステートメントのリソース要素として * を指定する必要があります。例については、「1: 読み取り専用アクセス」を参照してください。リソースレベルのアクセス許可を現在サポートしていない Amazon EC2 API アクションのリストについては、「サポートされていないリソースレベルのアクセス許可」 (Amazon EC2 API Reference) を参照してください。

すべての Amazon EC2 アクションは、ec2:Region 条件キーをサポートします。例については、「2: 特定のリージョンへのアクセスの制限」を参照してください。

API アクション リソース 条件キー
AcceptVpcPeeringConnection

VPC ピア接続

arn:aws:ec2:region:account:vpc-peering-connection/*

arn:aws:ec2:region:account:vpc-peering-connection/vpc-peering-connection-id

ec2:AccepterVpc

ec2:Region

ec2:ResourceTag/tag-key

ec2:RequesterVpc

VPC

arn:aws:ec2:region:account:vpc/*

arn:aws:ec2:region:account:vpc/vpc-id

このとき、vpc-id はアクセプタが所有する VPC です。

ec2:ResourceTag/tag-key

ec2:Region

ec2:Tenancy

AssociateIamInstanceProfile

インスタンス

arn:aws:ec2:region:account:instance/*

arn:aws:ec2:region:account:instance/instance-id

ec2:AvailabilityZone

ec2:EbsOptimized

ec2:InstanceProfile

ec2:InstanceType

ec2:PlacementGroup

ec2:Region

ec2:ResourceTag/tag-key

ec2:RootDeviceType

ec2:Tenancy

AttachClassicLinkVpc

インスタンス

arn:aws:ec2:region:account:instance/*

arn:aws:ec2:region:account:instance/instance-id

ec2:AvailabilityZone

ec2:EbsOptimized

ec2:InstanceProfile

ec2:InstanceType

ec2:PlacementGroup

ec2:Region

ec2:ResourceTag/tag-key

ec2:RootDeviceType

ec2:Tenancy

セキュリティグループ

arn:aws:ec2:region:account:security-group/*

arn:aws:ec2:region:account:security-group/security-group-id

セキュリティグループが VPC のセキュリティグループである場合

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

VPC

arn:aws:ec2:region:account:vpc/*

arn:aws:ec2:region:account:vpc/vpc-id

ec2:Region

ec2:ResourceTag/tag-key

ec2:Tenancy

AttachVolume

インスタンス

arn:aws:ec2:region:account:instance/*

arn:aws:ec2:region:account:instance/instance-id

ec2:AvailabilityZone

ec2:EbsOptimized

ec2:InstanceProfile

ec2:InstanceType

ec2:PlacementGroup

ec2:Region

ec2:ResourceTag/tag-key

ec2:RootDeviceType

ec2:Tenancy

ボリューム

arn:aws:ec2:region:account:volume/*

arn:aws:ec2:region:account:volume/volume-id

ec2:AvailabilityZone

ec2:Encrypted

ec2:ParentSnapshot

ec2:Region

ec2:ResourceTag/tag-key

ec2:VolumeIops

ec2:VolumeSize

ec2:VolumeType

AuthorizeSecurityGroupEgress

セキュリティグループ

arn:aws:ec2:region:account:security-group/*

arn:aws:ec2:region:account:security-group/security-group-id

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

AuthorizeSecurityGroupIngress

セキュリティグループ

arn:aws:ec2:region:account:security-group/*

arn:aws:ec2:region:account:security-group/security-group-id

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

CreateTags

DHCP オプションセット

arn:aws:ec2:region:account:dhcp-options/*

arn:aws:ec2:region:account:dhcp-options/dhcp-options-id

ec2:CreateAction

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

イメージ

arn:aws:ec2:region::image/*

arn:aws:ec2:region::image/image-id

ec2:CreateAction

ec2:ImageType

ec2:Owner

ec2:Public

ec2:Region

ec2:ResourceTag/tag-key

ec2:RootDeviceType

aws:RequestTag/tag-key

aws:TagKeys

インスタンス

arn:aws:ec2:region:account:instance/*

arn:aws:ec2:region:account:instance/instance-id

ec2:AvailabilityZone

ec2:CreateAction

ec2:EbsOptimized

ec2:InstanceProfile

ec2:InstanceType

ec2:PlacementGroup

ec2:Region

ec2:ResourceTag/tag-key

ec2:RootDeviceType

ec2:Tenancy

aws:RequestTag/tag-key

aws:TagKeys

インターネットゲートウェイ

arn:aws:ec2:region:account:internet-gateway/*

arn:aws:ec2:region:account:internet-gateway/igw-id

ec2:CreateAction

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

ネットワーク ACL

arn:aws:ec2:region:account:network-acl/*

arn:aws:ec2:region:account:network-acl/nacl-id

ec2:CreateAction

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

aws:RequestTag/tag-key

aws:TagKeys

ネットワークインターフェイス

arn:aws:ec2:region:account:network-interface/*

arn:aws:ec2:region:account:network-interface/eni-id

ec2:AvailabilityZone

ec2:CreateAction

ec2:Region

ec2:Subnet

ec2:ResourceTag/tag-key

ec2:Vpc

aws:RequestTag/tag-key

aws:TagKeys

リザーブドインスタンス

arn:aws:ec2:region:account:reserved-instance/*

arn:aws:ec2:region:account:reserved-instance/reservation-id

ec2:AvailabilityZone

ec2:CreateAction

ec2:InstanceType

ec2:ReservedInstancesOfferingType

ec2:Region

ec2:ResourceTag/tag-key

ec2:Tenancy

aws:RequestTag/tag-key

aws:TagKeys

ルートテーブル

arn:aws:ec2:region:account:route-table/*

arn:aws:ec2:region:account:route-table/route-table-id

ec2:CreateAction

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

aws:RequestTag/tag-key

aws:TagKeys

セキュリティグループ

arn:aws:ec2:region:account:security-group/*

arn:aws:ec2:region:account:security-group/security-group-id

ec2:CreateAction

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

aws:RequestTag/tag-key

aws:TagKeys

スナップショット

arn:aws:ec2:region::snapshot/*

arn:aws:ec2:region::snapshot/snapshot-id

ec2:CreateAction

ec2:Owner

ec2:ParentVolume

ec2:Region

ec2:ResourceTag/tag-key

ec2:SnapshotTime

ec2:VolumeSize

aws:RequestTag/tag-key

aws:TagKeys

スポットインスタンスリクエスト

arn:aws:ec2:region:account:spot-instances-request/*

arn:aws:ec2:region:account:spot-instances-request/spot-instance-request-id

ec2:CreateAction

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

サブネット

arn:aws:ec2:region:account:subnet/*

arn:aws:ec2:region:account:subnet/subnet-id

ec2:AvailabilityZone

ec2:CreateAction

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

aws:RequestTag/tag-key

aws:TagKeys

ボリューム

arn:aws:ec2:region:account:volume/*

arn:aws:ec2:region:account:volume/volume-id

ec2:AvailabilityZone

ec2:CreateAction

ec2:Encrypted

ec2:ParentSnapshot

ec2:Region

ec2:ResourceTag/tag-key

ec2:VolumeIops

ec2:VolumeSize

ec2:VolumeType

aws:RequestTag/tag-key

aws:TagKeys

VPC

arn:aws:ec2:region:account:vpc/*

arn:aws:ec2:region:account:vpc/vpc-id

ec2:CreateAction

ec2:Region

ec2:ResourceTag/tag-key

ec2:Tenancy

aws:RequestTag/tag-key

aws:TagKeys

VPN 接続

arn:aws:ec2:region:account:vpn-connection/*

arn:aws:ec2:region:account:vpn-connection/vpn-connection-id

ec2:CreateAction

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

VPN ゲートウェイ

arn:aws:ec2:region:account:vpn-gateway/*

arn:aws:ec2:region:account:vpn-gateway/vpn-gateway-id

ec2:CreateAction

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

CreateVolume

ボリューム

arn:aws:ec2:region:account:volume/*

ec2:AvailabilityZone

ec2:Encrypted

ec2:ParentSnapshot

ec2:Region

ec2:VolumeIops

ec2:VolumeSize

ec2:VolumeType

aws:RequestTag/tag-key

aws:TagKeys

CreateVpcPeeringConnection

VPC

arn:aws:ec2:region:account:vpc/*

arn:aws:ec2:region:account:vpc/vpc-id

このとき、vpc-id はリクエスタ VPC です。

ec2:ResourceTag/tag-key

ec2:Region

ec2:Tenancy

VPC ピア接続

arn:aws:ec2:region:account:vpc-peering-connection/*

ec2:AccepterVpc

ec2:Region

ec2:RequesterVpc

DeleteCustomerGateway

カスタマーゲートウェイ

arn:aws:ec2:region:account:customer-gateway/*

arn:aws:ec2:region:account:customer-gateway/cgw-id

ec2:Region

ec2:ResourceTag/tag-key

DeleteDhcpOptions

DHCP オプションセット

arn:aws:ec2:region:account:dhcp-options/*

arn:aws:ec2:region:account:dhcp-options/dhcp-options-id

ec2:Region

ec2:ResourceTag/tag-key

DeleteInternetGateway

インターネットゲートウェイ

arn:aws:ec2:region:account:internet-gateway/*

arn:aws:ec2:region:account:internet-gateway/igw-id

ec2:Region

ec2:ResourceTag/tag-key

DeleteNetworkAcl

ネットワーク ACL

arn:aws:ec2:region:account:network-acl/*

arn:aws:ec2:region:account:network-acl/nacl-id

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

DeleteNetworkAclEntry

ネットワーク ACL

arn:aws:ec2:region:account:network-acl/*

arn:aws:ec2:region:account:network-acl/nacl-id

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

DeleteRoute

ルートテーブル

arn:aws:ec2:region:account:route-table/*

arn:aws:ec2:region:account:route-table/route-table-id

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

DeleteRouteTable

ルートテーブル

arn:aws:ec2:region:account:route-table/*

arn:aws:ec2:region:account:route-table/route-table-id

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

DeleteSecurityGroup

セキュリティグループ

arn:aws:ec2:region:account:security-group/security-group-id

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

DeleteTags

DHCP オプションセット

arn:aws:ec2:region:account:dhcp-options/*

arn:aws:ec2:region:account:dhcp-options/dhcp-options-id

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

イメージ

arn:aws:ec2:region::image/*

arn:aws:ec2:region::image/image-id

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

インスタンス

arn:aws:ec2:region:account:instance/*

arn:aws:ec2:region:account:instance/instance-id

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

インターネットゲートウェイ

arn:aws:ec2:region:account:internet-gateway/*

arn:aws:ec2:region:account:internet-gateway/igw-id

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

ネットワーク ACL

arn:aws:ec2:region:account:network-acl/*

arn:aws:ec2:region:account:network-acl/nacl-id

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

ネットワークインターフェイス

arn:aws:ec2:region:account:network-interface/*

arn:aws:ec2:region:account:network-interface/eni-id

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

リザーブドインスタンス

arn:aws:ec2:region:account:reserved-instance/*

arn:aws:ec2:region:account:reserved-instance/reservation-id

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

ルートテーブル

arn:aws:ec2:region:account:route-table/*

arn:aws:ec2:region:account:route-table/route-table-id

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

セキュリティグループ

arn:aws:ec2:region:account:security-group/*

arn:aws:ec2:region:account:security-group/security-group-id

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

スナップショット

arn:aws:ec2:region::snapshot/*

arn:aws:ec2:region::snapshot/snapshot-id

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

スポットインスタンスリクエスト

arn:aws:ec2:region:account:spot-instances-request/*

arn:aws:ec2:region:account:spot-instances-request/spot-instance-request-id

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

サブネット

arn:aws:ec2:region:account:subnet/*

arn:aws:ec2:region:account:subnet/subnet-id

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

ボリューム

arn:aws:ec2:region:account:volume/*

arn:aws:ec2:region:account:volume/volume-id

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

VPC

arn:aws:ec2:region:account:vpc/*

arn:aws:ec2:region:account:vpc/vpc-id

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

VPN 接続

arn:aws:ec2:region:account:vpn-connection/*

arn:aws:ec2:region:account:vpn-connection/vpn-connection-id

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

VPN ゲートウェイ

arn:aws:ec2:region:account:vpn-gateway/*

arn:aws:ec2:region:account:vpn-gateway/vpn-gateway-id

ec2:Region

ec2:ResourceTag/tag-key

aws:RequestTag/tag-key

aws:TagKeys

DeleteVolume

ボリューム

arn:aws:ec2:region:account:volume/*

arn:aws:ec2:region:account:volume/volume-id

ec2:AvailabilityZone

ec2:Encrypted

ec2:ParentSnapshot

ec2:Region

ec2:ResourceTag/tag-key

ec2:VolumeIops

ec2:VolumeSize

ec2:VolumeType

DeleteVpcPeeringConnection

VPC ピア接続

arn:aws:ec2:region:account:vpc-peering-connection/*

arn:aws:ec2:region:account:vpc-peering-connection/vpc-peering-connection-id

ec2:AccepterVpc

ec2:Region

ec2:ResourceTag/tag-key

ec2:RequesterVpc

DetachClassicLinkVpc

インスタンス

arn:aws:ec2:region:account:instance/*

arn:aws:ec2:region:account:instance/instance-id

ec2:AvailabilityZone

ec2:EbsOptimized

ec2:InstanceProfile

ec2:InstanceType

ec2:PlacementGroup

ec2:Region

ec2:ResourceTag/tag-key

ec2:RootDeviceType

ec2:Tenancy

VPC

arn:aws:ec2:region:account:vpc/*

arn:aws:ec2:region:account:vpc/vpc-id

ec2:Region

ec2:ResourceTag/tag-key

ec2:Tenancy

DetachVolume

インスタンス

arn:aws:ec2:region:account:instance/*

arn:aws:ec2:region:account:instance/instance-id

ec2:AvailabilityZone

ec2:EbsOptimized

ec2:InstanceProfile

ec2:InstanceType

ec2:PlacementGroup

ec2:Region

ec2:ResourceTag/tag-key

ec2:RootDeviceType

ec2:Tenancy

ボリューム

arn:aws:ec2:region:account:volume/*

arn:aws:ec2:region:account:volume/volume-id

ec2:AvailabilityZone

ec2:Encrypted

ec2:ParentSnapshot

ec2:Region

ec2:ResourceTag/tag-key

ec2:VolumeIops

ec2:VolumeSize

ec2:VolumeType

DisableVpcClassicLink

VPC

arn:aws:ec2:region:account:vpc/*

arn:aws:ec2:region:account:vpc/vpc-id

ec2:Region

ec2:ResourceTag/tag-key

ec2:Tenancy

DisassociateIamInstanceProfile

インスタンス

arn:aws:ec2:region:account:instance/*

arn:aws:ec2:region:account:instance/instance-id

ec2:AvailabilityZone

ec2:EbsOptimized

ec2:InstanceProfile

ec2:InstanceType

ec2:PlacementGroup

ec2:Region

ec2:ResourceTag/tag-key

ec2:RootDeviceType

ec2:Tenancy

EnableVpcClassicLink

VPC

arn:aws:ec2:region:account:vpc/*

arn:aws:ec2:region:account:vpc/vpc-id

ec2:Region

ec2:ResourceTag/tag-key

ec2:Tenancy

GetConsoleScreenshot

インスタンス

arn:aws:ec2:region:account:instance/*

arn:aws:ec2:region:account:instance/instance-id

ec2:AvailabilityZone

ec2:EbsOptimized

ec2:InstanceProfile

ec2:InstanceType

ec2:PlacementGroup

ec2:Region

ec2:ResourceTag/tag-key

ec2:RootDeviceType

ec2:Tenancy

RebootInstances

インスタンス

arn:aws:ec2:region:account:instance/*

arn:aws:ec2:region:account:instance/instance-id

ec2:AvailabilityZone

ec2:EbsOptimized

ec2:InstanceProfile

ec2:InstanceType

ec2:PlacementGroup

ec2:Region

ec2:ResourceTag/tag-key

ec2:RootDeviceType

ec2:Tenancy

RejectVpcPeeringConnection

VPC ピア接続

arn:aws:ec2:region:account:vpc-peering-connection/*

arn:aws:ec2:region:account:vpc-peering-connection/vpc-peering-connection-id

ec2:AccepterVpc

ec2:Region

ec2:ResourceTag/tag-key

ec2:RequesterVpc

ReplaceIamInstanceProfileAssociation

インスタンス

arn:aws:ec2:region:account:instance/*

arn:aws:ec2:region:account:instance/instance-id

ec2:AvailabilityZone

ec2:EbsOptimized

ec2:InstanceProfile

ec2:InstanceType

ec2:PlacementGroup

ec2:Region

ec2:ResourceTag/tag-key

ec2:RootDeviceType

ec2:Tenancy

RevokeSecurityGroupEgress

セキュリティグループ

arn:aws:ec2:region:account:security-group/*

arn:aws:ec2:region:account:security-group/security-group-id

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

RevokeSecurityGroupIngress

セキュリティグループ

arn:aws:ec2:region:account:security-group/*

arn:aws:ec2:region:account:security-group/security-group-id

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

RunInstances

イメージ

arn:aws:ec2:region::image/*

arn:aws:ec2:region::image/image-id

ec2:ImageType

ec2:Owner

ec2:Public

ec2:Region

ec2:RootDeviceType

ec2:ResourceTag/tag-key

インスタンス

arn:aws:ec2:region:account:instance/*

ec2:AvailabilityZone

ec2:EbsOptimized

ec2:InstanceProfile

ec2:InstanceType

ec2:PlacementGroup

ec2:Region

ec2:RootDeviceType

ec2:Tenancy

aws:RequestTag/tag-key

aws:TagKeys

キーペア

arn:aws:ec2:region:account:key-pair/*

arn:aws:ec2:region:account:key-pair/key-pair-name

ec2:Region

ネットワークインターフェイス

arn:aws:ec2:region:account:network-interface/*

arn:aws:ec2:region:account:network-interface/eni-id

ec2:AvailabilityZone

ec2:Region

ec2:Subnet

ec2:ResourceTag/tag-key

ec2:Vpc

配置グループ

arn:aws:ec2:region:account:placement-group/*

arn:aws:ec2:region:account:placement-group/placement-group-name

ec2:Region

ec2:PlacementGroupStrategy

セキュリティグループ

arn:aws:ec2:region:account:security-group/*

arn:aws:ec2:region:account:security-group/security-group-id

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

スナップショット

arn:aws:ec2:region::snapshot/*

arn:aws:ec2:region::snapshot/snapshot-id

ec2:Owner

ec2:ParentVolume

ec2:Region

ec2:SnapshotTime

ec2:ResourceTag/tag-key

ec2:VolumeSize

サブネット

arn:aws:ec2:region:account:subnet/*

arn:aws:ec2:region:account:subnet/subnet-id

ec2:AvailabilityZone

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

ボリューム

arn:aws:ec2:region:account:volume/*

ec2:AvailabilityZone

ec2:Encrypted

ec2:ParentSnapshot

ec2:Region

ec2:VolumeIops

ec2:VolumeSize

ec2:VolumeType

aws:RequestTag/tag-key

aws:TagKeys

StartInstances

インスタンス

arn:aws:ec2:region:account:instance/*

arn:aws:ec2:region:account:instance/instance-id

ec2:AvailabilityZone

ec2:EbsOptimized

ec2:InstanceProfile

ec2:InstanceType

ec2:PlacementGroup

ec2:Region

ec2:ResourceTag/tag-key

ec2:RootDeviceType

ec2:Tenancy

StopInstances

インスタンス

arn:aws:ec2:region:account:instance/*

arn:aws:ec2:region:account:instance/instance-id

ec2:AvailabilityZone

ec2:EbsOptimized

ec2:InstanceProfile

ec2:InstanceType

ec2:PlacementGroup

ec2:Region

ec2:ResourceTag/tag-key

ec2:RootDeviceType

ec2:Tenancy

TerminateInstances

インスタンス

arn:aws:ec2:region:account:instance/*

arn:aws:ec2:region:account:instance/instance-id

ec2:AvailabilityZone

ec2:EbsOptimized

ec2:InstanceProfile

ec2:InstanceType

ec2:PlacementGroup

ec2:Region

ec2:ResourceTag/tag-key

ec2:RootDeviceType

ec2:Tenancy

RunInstances に関するリソースレベルのアクセス許可

RunInstances API アクションは 1 つ以上のインスタンスを起動し、数多くの Amazon EC2 リソースを作成して使用します。このアクションでは AMI が必要であり、インスタンスが作成されます。また、このインスタンスは、セキュリティグループに関連付けられている必要があります。VPC 内に起動するにはサブネットが必要であり、起動されるとネットワークインターフェイスが作成されます。Amazon EBS-Backed AMI から起動すると、ボリュームが作成されます。ユーザーは、これらのリソースを使用するにはアクセス許可が必要です。したがって、ec2:RunInstances アクションのリソースレベルアクセス許可を使用する任意のポリシーの Resource 要素で、アクセス許可が指定される必要があります。ec2:RunInstances アクションでリソースレベルのアクセス許可を使用しない場合、個別の ARN ではなく、ステートメントの Resource 要素で * ワイルドカードを指定できます。

リソースレベルのアクセス許可を使用する場合、ec2:RunInstances アクションを使用するために必要な最小限のリソースを以下の表に示します。

起動のタイプ 必要なリソース 条件キー
instance store-backed AMI を使用した EC2-Classic への起動

arn:aws:ec2:region:account:instance/*

ec2:AvailabilityZone

ec2:EbsOptimized

ec2:InstanceProfile

ec2:InstanceType

ec2:PlacementGroup

ec2:Region

ec2:RootDeviceType

ec2:Tenancy

arn:aws:ec2:region::image/* (または特定の AMI ID)

ec2:ImageType

ec2:Owner

ec2:Public

ec2:Region

ec2:RootDeviceType

ec2:ResourceTag/tag-key

arn:aws:ec2:region:account:security-group/* (または特定のセキュリティグループ ID)

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

Amazon EBS-backed AMI を使用した EC2-Classic への起動

arn:aws:ec2:region:account:instance/*

ec2:AvailabilityZone

ec2:EbsOptimized

ec2:InstanceProfile

ec2:InstanceType

ec2:PlacementGroup

ec2:Region

ec2:RootDeviceType

ec2:Tenancy

arn:aws:ec2:region::image/* (または特定の AMI ID)

ec2:ImageType

ec2:Owner

ec2:Public

ec2:Region

ec2:RootDeviceType

ec2:ResourceTag/tag-key

arn:aws:ec2:region:account:security-group/* (または特定のセキュリティグループ ID)

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

arn:aws:ec2:region:account:volume/*

ec2:AvailabilityZone

ec2:ParentSnapshot

ec2:Region

ec2:VolumeIops

ec2:VolumeSize

ec2:VolumeType

instance store-backed AMI を使用した VPC への起動

arn:aws:ec2:region:account:instance/*

ec2:AvailabilityZone

ec2:EbsOptimized

ec2:InstanceProfile

ec2:InstanceType

ec2:PlacementGroup

ec2:Region

ec2:RootDeviceType

ec2:Tenancy

arn:aws:ec2:region::image/* (または特定の AMI ID)

ec2:ImageType

ec2:Owner

ec2:Public

ec2:Region

ec2:RootDeviceType

ec2:ResourceTag/tag-key

arn:aws:ec2:region:account:security-group/* (または特定のセキュリティグループ ID)

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

arn:aws:ec2:region:account:network-interface/* (または特定のネットワークインターフェイス ID)

ec2:AvailabilityZone

ec2:Region

ec2:Subnet

ec2:ResourceTag/tag-key

ec2:Vpc

arn:aws:ec2:region:account:subnet/* (または特定のサブネット ID)

ec2:AvailabilityZone

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

Amazon EBS-backed AMI を使用した VPC への起動

arn:aws:ec2:region:account:instance/*

ec2:AvailabilityZone

ec2:EbsOptimized

ec2:InstanceProfile

ec2:InstanceType

ec2:PlacementGroup

ec2:Region

ec2:RootDeviceType

ec2:Tenancy

arn:aws:ec2:region::image/* (または特定の AMI ID)

ec2:ImageType

ec2:Owner

ec2:Public

ec2:Region

ec2:RootDeviceType

ec2:ResourceTag/tag-key

arn:aws:ec2:region:account:security-group/* (または特定のセキュリティグループ ID)

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

arn:aws:ec2:region:account:network-interface/* (または特定のネットワークインターフェイス ID)

ec2:AvailabilityZone

ec2:Region

ec2:Subnet

ec2:ResourceTag/tag-key

ec2:Vpc

arn:aws:ec2:region:account:volume/*

ec2:AvailabilityZone

ec2:Encrypted

ec2:ParentSnapshot

ec2:Region

ec2:VolumeIops

ec2:VolumeSize

ec2:VolumeType

arn:aws:ec2:region:account:subnet/* (または特定のサブネット ID)

ec2:AvailabilityZone

ec2:Region

ec2:ResourceTag/tag-key

ec2:Vpc

インスタンスを起動するために必要はないものの、ポリシーでキーペアリソースを指定することをお勧めします。キーペアなしでインスタンスに接続することはできません。ec2:RunInstances アクションでのリソースレベルのアクセス許可の使用例については、「5: インスタンスを起動する (RunInstances)」を参照してください。

Amazon EC2 のリソースレベルのアクセス許可の詳細については、AWS セキュリティブログの投稿「Demystifying EC2 Resource-Level Permissions」を参照してください。

Tagging に関するリソースレベルのアクセス権限

一部のリソース作成 Amazon EC2 API アクションでは、リソースの作成時にタグを指定できます。詳細については、「リソースにタグを付ける」を参照してください。

ユーザーが作成時にリソースをタグ付けできるようにするには、リソースを作成するアクションを使用するアクセス権限が必要です (たとえば、ec2:RunInstancesec2:CreateVolume など)。タグがリソース作成アクションで指定されている場合、Amazon は ec2:CreateTags アクションで追加の承認を実行してユーザーがタグを作成するアクセス権限を持っているかどうかを確認します。そのため、ユーザーには、ec2:CreateTags アクションを使用する明示的なアクセス権限が必要です。

ec2:CreateTags アクションの場合、ec2:CreateAction 条件キーを使用してタグ付け権限をリソース作成アクションのみに制限できます。たとえば、次のポリシーではユーザーがインスタンスを起動し、起動時にインスタンスおよびボリュームにタグを適用できます。ユーザーには、既存のリソースへのタグ付けが許可されません (ec2:CreateTags アクションを直接呼び出すことはできません)。

Copy
{ "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:region:account:*/*", "Condition": { "StringEquals": { "ec2:CreateAction" : "RunInstances" } } } ] }

同様に、次のポリシーでは、ユーザーがボリュームを作成し、ボリューム作成時にボリュームにタグを適用することができます。ユーザーには、既存のリソースへのタグ付けが許可されません (ec2:CreateTags アクションを直接呼び出すことはできません)。

Copy
{ "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateVolume" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:region:account:*/*", "Condition": { "StringEquals": { "ec2:CreateAction" : "CreateVolume" } } } ] }

ec2:CreateTags アクションは、タグがリソース作成アクション時に適用された場合のみ評価されます。したがって、リクエストでタグが指定されていない場合、リソースを作成するアクセス権限を持っているユーザー (タグ付け条件がないと仮定) には、ec2:CreateTags アクションを実行するアクセス権限が必要ありません。ただし、ユーザーがタグを使用してリソースを作成しようとした場合、ユーザーが ec2:CreateTags アクションを使用するアクセス権限を持っていない場合はリクエストに失敗します。

リソースに適用されたタグキーと値は、次の条件キーを使用して制御できます。

  • aws:RequestTag: 特定のタグキーまたはタグキーと値がリクエストに存在している必要があることを指定する場合に使用します。リクエストでは他のタグも指定できます。

    • StringEquals 条件演算子とともに使用して、特定のタグキーと値の組み合わせを適用します。たとえば、タグ cost-center=cc123: を適用します。

      "StringEquals": "aws:RequestTag/cost-center": "cc123"
    • StringLike 条件演算子とともに使用して、リクエストで特定のタグキーを適用します。たとえば、タグキー purpose を適用します。

      "StringLike": "aws:RequestTag/purpose": "*"
  • aws:TagKeys: リクエストで使用されるタグキーを適用する場合に使用します。

    • リクエストにタグが指定されている場合は、ForAllValues 修飾子を使用して特定のタグキーのみを適用します (リクエストにタグが指定されている場合、特定のタグキーのみが許可されます。他のタグは許可されません)。たとえば、タグキー environment または cost-center が適用されます:

      "ForAllValues:StringEquals": { "aws:TagKeys": ["environment","cost-center"]}
    • ForAnyValue 修飾子とともに使用して、指定されたタグキーの少なくとも 1 つがリクエストに存在することを要求します。たとえば、タグキー environment または webserver のうち少なくとも 1 つがリクエストに存在している必要があります。

      "ForAnyValue:StringEquals": { "aws:TagKeys": ["environment","webserver"]}

これらの条件キータグ付けをサポートするリソース作成アクションと、ec2:CreateTags および ec2:DeleteTags アクションに適用できます。

リソースの作成時にタグを指定するようにユーザーに強制するには、リソース作成アクションで ForAnyValue 修飾子とともに aws:RequestTag 条件キーまたは aws:TagKeys 条件キーを使用する必要があります。ユーザーがリソース作成アクションのタグを指定しない場合、ec2:CreateTags アクションは評価されません。

条件においては、条件キーでは大文字と小文字が区別されず、条件値では大文字と小文字が区別されます。したがって、タグキーの大文字と小文字を区別するには、条件の値としてタグキーが指定される aws:TagKeys 条件キーを使用します。

複数値の条件の詳細については、IAM ユーザーガイド の「複数のキー値をテストする条件を作成する」を参照してください。IAM ポリシーの例は、「AWS CLI または AWS SDK で使用するサンプルポリシー」を参照してください。