[英]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:CreateUser
和iam: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.