AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
IAM ID へのアクセスを特定の Amazon EC2 リソースに制限する方法を教えてください。
AWS Identity and Access Management (IAM) の ID のアクセスを特定の Amazon Elastic Compute Cloud (Amazon EC2) リソースに制限したいと考えています。
簡単な説明
Amazon EC2 は、リソースレベルのアクセス許可または条件を部分的にサポートしています。リソースレベルのアクセス許可を使用して、IAM ID が特定の Amazon EC2 リソースにアクセスする方法を制御できます。
ABAC (タグに基づく認証) を使用して AWS リソースへのアクセスを制御することもできます。詳細については、「IAM チュートリアル: タグに基づいて AWS リソースにアクセスする権限を定義する」を参照してください。
解決策
次の IAM ポリシー例を使用して、ユースケースに合わせて Amazon EC2 インスタンスへのアクセスを制限してください。次に、アクセスを制限する IAM ID にポリシーをアタッチします。
アクセスをインスタンスの起動、停止、再起動のみに制限する
以下のポリシー例では、IAM ID へのアクセスを EC2 インスタンスの起動、停止、または再起動のみに制限しています。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances", "ec2:RebootInstances" ], "Resource": [ "arn:aws:ec2:*:AccountId:instance/*" ], "Condition": { "StringEquals": { "ec2:ResourceTag/Owner": "Bob" } } } ] }
注: Owner をタグキーに、Bob をタグ値に、AccountId を AWS アカウント ID に置き換えます。
他の Amazon EC2 リソースを AWS リージョンごとに制限するには、アクションがリソースレベルのアクセス権限と条件をサポートしていることを確認してください。
EC2 インスタンスの起動をタグで制限する
以下のポリシー例では、Owner タグキーを使用して IAM ID へのアクセスを EC2 インスタンスのみ起動するように制限しています。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:*:AccountId:instance/*" ], "Condition": { "StringNotLike": { "aws:RequestTag/Owner": "*" } } }, { "Sid": "AllowRunInstances", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:*::image/*", "arn:aws:ec2:*::snapshot/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:key-pair/*", "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:volume/*" ] }, { "Sid": "AllowToDescribeAll", "Effect": "Allow", "Action": [ "ec2:Describe*" ], "Resource": "*" }, { "Sid": "AllowCreateTagsOnLaunching", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:AccountId:*/*" ], "Condition": { "StringEquals": { "ec2:CreateAction": [ "RunInstances" ] } } } ] }
注: Owner をタグキーに、AccountId をアカウント ID に置き換えます。
EC2 インスタンスの起動をインスタンスタイプで制限する
次のポリシー例では、IAM ID へのアクセスを t3.* インスタンスタイプ で EC2 インスタンスのみ起動するように制限しています。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:*:AccountId:instance/*" ], "Condition": { "StringNotLike": { "ec2:InstanceType": "t3.*" } } }, { "Sid": "AllowRunInstances", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:*::image/*", "arn:aws:ec2:*::snapshot/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:key-pair/*", "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:volume/*" ] }, { "Sid": "AllowToDescribeAll", "Effect": "Allow", "Action": [ "ec2:Describe*" ], "Resource": "*" }, { "Sid": "AllowCreateTagsOnLaunching", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:AccountId:*/*" ], "Condition": { "StringEquals": { "ec2:CreateAction": [ "RunInstances" ] } } } ] }
注: インスタンスタイプ t3.* を使用するインスタンスタイプ (t3.nano など) に置き換えます。また、AccountId は使用するアカウント ID に置き換えます。
詳細については、「Amazon EC2 インスタンスタイプの命名規則」を参照してください。
関連情報
タグを使用して Amazon EC2 リソースへのアクセスを制御する IAM ポリシーを作成する方法を教えてください。
IAM ポリシータグを使用して EC2 インスタンスまたは EBS ボリュームの作成方法を制限するにはどうすればよいですか?

