タグを使用して Amazon EC2 リソースへのアクセスを管理する IAM ポリシーを作成するにはどうすればよいですか?

所要時間1分
0

タグを使用して Amazon Elastic Compute Cloud (Amazon EC2) インスタンスへのアクセスを制御する AWS Identity and Access Management (IAM) ポリシーを作成したいです。

簡単な説明

Amazon EC2 インスタンスの小規模なデプロイへのアクセスを以下のように管理します。

1.    ユーザーやグループに対してアクセスを許可するインスタンスに特定のタグを追加します。

2.    特定のタグを追加したインスタンスへのアクセスを許可する IAM ポリシーを作成します。

3.    インスタンスへのアクセスを許可するユーザーやグループに、この IAM ポリシーをアタッチします。

解決方法

EC2 インスタンスのグループにタグを追加する

Amazon EC2 コンソールを開き、ユーザーやグループに対してアクセスを許可する EC2 インスタンスのグループにタグを追加します。既存のタグがない場合は、新規タグを作成します。

注意: リソースにタグを付けるときは、事前にタグの制限をよく読んで理解してください。Amazon EC2 のタグは大文字と小文字が区別されます。

特定のタグを付けたインスタンスへのアクセスを許可する IAM ポリシーを作成する

以下を実行する IAM ポリシーを作成します。

  • タグが付いたインスタンスの制御を許可する。
  • 条件キー ec2:ResourceTag/UserName の値がポリシー変数 aws:username と一致した場合に Amazon EC2 リソースへのアクセスを許可する、条件付きステートメントを含める。ポリシー変数 ${aws:username} は、IAM がこのポリシーを評価する際に、現在の IAM ユーザーのフレンドリ名に置き換えられる。
  • Amazon EC2 リソースに対する ec2:Describe* のアクションへのアクセスを許可する。
  • ec2:CreateTags アクションと ec2:DeleteTags アクションへのアクセスを明示的に拒否し、ユーザーによるタグの作成や削除を禁止する。
    注意: これにより、ユーザーが EC2 インスタンスに特定のタグを追加してインスタンスを管理することを禁止します。

完成したポリシーは、次のようになります。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "ec2:ResourceTag/UserName": "${aws:username}"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "ec2:Describe*",
      "Resource": "*"
    },
    {
      "Effect": "Deny",
      "Action": [
        "ec2:CreateTags",
        "ec2:DeleteTags"
      ],
      "Resource": "*"
    }
  ]
}

注意: このポリシーは、ec2:ResourceTag 条件キーを使用する Amazon EC2 インスタンスに適用されます。タグを使用した新しい Amazon EC2 インスタンスの起動を制限するには、EC2 インスタンスや EBS ボリュームの作成方法を、IAM ポリシーのタグを使用して制限する方法を参照してください。

インスタンスへのアクセスを許可するユーザーやグループに IAM ポリシーをアタッチする

最後に、インスタンスへのアクセスを許可するユーザーやグループに対して作成した IAM ポリシーをアタッチします。IAM ポリシーをアタッチするには、AWS マネジメントコンソール、AWS CLI、または AWS API を使用します。


関連情報

Amazon EC2 リソースに必要なアクセス許可を付与する

Amazon EC2 の IAM ポリシー

コメントはありません

関連するコンテンツ