为什么 AWS OpsWorks "register" 命令需要这些权限才能运行?



为什么aws opsworks register命令需要这些权限才能运行?:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "opsworks:AssignInstance",
        "opsworks:CreateStack",
        "opsworks:CreateLayer",
        "opsworks:DeregisterInstance",
        "opsworks:DescribeInstances",
        "opsworks:DescribeStackProvisioningParameters",
        "opsworks:DescribeStacks",
        "opsworks:UnassignInstance"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeInstances"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:AddUserToGroup",
        "iam:CreateAccessKey",
        "iam:CreateGroup",
        "iam:CreateUser",
        "iam:ListInstanceProfiles",
        "iam:PassRole",
        "iam:PutUserPolicy"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

也许我过于谨慎了,但在我看来,任何授予iam:CreateUseriam:PutUserPolicy完全权限的策略基本上都是一个巨大的安全漏洞,因为这种级别的访问权限将使您有权在任何时候创建管理员用户。

我是不是错过了什么?或者,上述策略是否可以更安全,并且仍然适用于OpsWorks?

这些IAM权限用于为实例创建IAM用户,并且这些权限仅用于aws opsworks register命令一次。

只对一个命令拥有一次所有这些权限有点麻烦,但更多的是为了简化实例注册配置。如果您关心权限问题,您可以从工作站注册实例,而不是使用实例配置文件(如aws opsworks register --infrastructure-class ec2 --region us-east-1 --stack-id ac95d52c-3f4d-4452-b134-b44f6b4c4f02 --ssh-username [username] --ssh-private-key [key-path] i-050e2a8c)在实例内部注册实例。这样,只有您的工作站需要这样的IAM权限。

相关内容

  • 没有找到相关文章

最新更新