+86 13541016684Mon. - Fri. 10:00-22:00

配置IAM策略变量和TAG来控制EC2开关机权限教程

配置IAM策略变量和TAG来控制EC2开关机权限教程

配置IAM策略变量和TAG来控制EC2开关机权限教程

为了让EC2使用者自主控制EC2实例的开关机实例,需要设置相应策略给每个用户。

使用策略变量可以尽最大程度复用策略内容。

策略变量

在编写策略时,可以包含变量。

系统在验证策略时,会把变量用实际值替换掉来验证。

例如

  1. ${aws:username}

会被当前用户的实际用户名所替代

  1. ${aws:CurrentTime}

是当前时间

  1. ${aws:SourceIp}

是访问者的IP地址。

EC2的TAG

我们可以给EC2打上各种TAG来标记它的属性或状态。

这里,我们需要给EC2打上一个名为Operator的TAG,值为可以操作它的IAM的username。

假设给某一台EC2给一个值为TEST1的TAG。表明TEST1用户可以对这台机器进行操作。

IAM组

我们创建一个IAM组,自定义策略为

  1. {
  2.     “Version”: “2012-10-17″,
  3.     “Statement”: [
  4.         {
  5.             “Effect”: “Allow”,
  6.             “Action”: [“ec2:DescribeInstances”],
  7.             “Resource”: [
  8.                 “*”
  9.             ]
  10.         },
  11.         {
  12.             “Effect”: “Allow”,
  13.             “Action”: [“ec2:RebootInstances”,”ec2:StartInstances”,”ec2:StopInstances”],
  14.             “Condition”: {
  15.                 “StringEquals”: { “ec2:ResourceTag/Operator”: “${aws:username}” }
  16.             },
  17.             “Resource”: [“*”]
  18.         }
  19.     ]
  20. }

大致功能为:

  • 组员可以查看EC2实例(DescribeInstances)
  • 可以重启,关闭,启动与他的useranem有相同Operator tag值的实例
  • 不能新建EC2实例(没有显示赋予权限,即无此权限)

最后把TEST1用户加入这个组中,TEST1用户就能启动,关闭自己所能管理的服务器了。