繁体   English   中英

为什么AWS OpsWorks的“注册”命令需要这些权限才能运行?

[英]Why does the AWS OpsWorks “register” command require these permissions to run?

为什么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实例,例如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权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM