我正在使用Amazon Route 53来托pipe多个域,我需要将权限授予几个用户。
我如何从命令行执行此过程?
我不确定IAM是否允许在Route53内授权访问特定的区域文件。 如果是这样,我想可以归结为这些步骤:
以下是IAM中Route53权限的默认“完全pipe理”模板:
{ "Statement": [ { "Effect": "Allow", "Action": [ "route53:*" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "elasticloadbalancing:DescribeLoadBalancers" ], "Resource": [ "*" ] } ] }
你会在这里看到IAM授予这个策略的两个权限 – Route53和ELB。 如果一些Route53用户将区域顶点指向ELB地址的别名(请参阅http://aws.amazon.com/route53/faqs/#Zone_apex ),则需要ELB。 我build议你离开那部分,除非你知道你的用户不需要这个,如果它testing的很好。 这个政策只允许用户列出ELB而不是控制它们,所以看起来最糟糕的风险是他们把自己的域名指向了某个ELB,你可能在某个时候想要或者需要这个ELB。
Route53允许的操作中的*将允许您的用户在授予其权限的区域文件中创build,编辑或删除logging集。
因此,唯一需要编辑的部分是Resource": ["*"]内部的* Resource": ["*"]指令。您需要跳转到AWS仪表板的Route53面板,并查找您想要的域的“Hosted Zone ID”委托到,像ZNMGKD5JKTWVZ(似乎是一个13或14个字符的string – 我刚刚检查了我的帐户中的几个区域,有些是13个字符长,有些是14),然后粘贴代替*或只要给出string的第一个12/13或13/14,并把*作为最后一个字符,或者简单地用整个string进行testing,根本不用*。
所以你的政策最终会看起来像这样:
{ "Statement": [ { "Effect": "Allow", "Action": [ "route53:*" ], "Resource": [ "arn:aws:route53::::Z5SL2DJKUDXFAK" ] }, { "Effect": "Allow", "Action": [ "elasticloadbalancing:DescribeLoadBalancers" ], "Resource": [ "*" ] } ] }
但是,回顾一下你的问题,你可以询问如何从CLI执行此操作。 我不确定是否要从CLI执行所有委派,或者让用户通过CLI执行DNS工作? 如果是前者,则可以通过API控制IAM,包括为您创build的组指定安全策略。
这是API的IAM工具: http : //aws.amazon.com/developertools/AWS-Identity-and-Access-Management/4143
以下是您可以对该API进行的许多调用: http : //aws.amazon.com/iam/#detailed_description
这里有一堆其他的IAM资源: http : //aws.amazon.com/iam/#resources
如果IAM政策需要调整,这可能是非常有用的: http : //awpolicygen.s3.amazonaws.com/policygen.html
如果我有空闲时间,我可以尝试自己testing一下,看看是否清楚。 我见过其他服务,IAM认为它正在委派,但一些用户权限仍然不能正常工作。 我会有兴趣看看Route53是否属于这种情况。
祝你好运!