如何通过命令行向用户授予Route 53托pipe域的权限?

我正在使用Amazon Route 53来托pipe多个域,我需要将权限授予几个用户。

我如何从命令行执行此过程?

我不确定IAM是否允许在Route53内授权访问特定的区域文件。 如果是这样,我想可以归结为这些步骤:

  • 为您的帐户设置IAM。 您可能需要设置一个“AWS账户别名”地址,您的IAM用户可以login到父账户。
  • 为每个权限集创build一个IAM组。 因此,对于要委派company1.com区域控制的用户,您可以创build一个“Company1Admins”组。 这样,如果您需要授予更多人的访问权限,所有权限都将被设置,您可以将其添加到组中。
  • 在创build组时,现在是更复杂的部分:您需要编写或编辑每个组的权限策略。 您可以首先select一个模板(可能是“Amazon Route 53 Full Access”模板,然后从那里进行编辑。有关策略的详细信息,请参阅下面的代码。
  • 为您正在委派的用户创build一个或多个用户帐户。 IAM允许您向用户添加特定权限,或者将其添加到具有特定权限的组。 您可以为每个用户分配一个密码。 此外,创build用户时,您将获得他们的访问密钥(密钥ID和密钥,用于命令行访问),如果您愿意,可以要求他们使用双因素身份validation。
  • 一旦创build了组,并创build了您的用户帐户,只需将您的用户添加为组的成员即可。
  • testing!!!

关于政策

以下是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是否属于这种情况。

祝你好运!