使用跨账户访问AWS控制台的第三方?

有两个公司:客户和承包商。 两个都有AWS账户。 我正在寻找简单但安全的方式,让承包商团队的工作人员可以访问客户端的AWS 控制台 。 是的,我在承包商方面。

到目前为止我能记得的方式:

  • 在客户的账户中创build一个用户并提供login/密码。 据我所知这不是build议。 另外,承包商有很多客户来pipe理所有的凭证,而且在工作date间很不舒服地切换账户(主要原因)。
  • 联邦。 可能的错误:客户端需要添加联邦提供者,如果提供者是承包商的AD,那么对于我来说,看起来并不比创build账户更好。 使用第三方(第四方)身份提供商(谷歌)对我来说不好看,因为我的偏执狂抗议公开承包商的证书,仅供内部使用公共类BigBrother服务。 也许我错了,或者在这里错过了一些东西,很高兴听到你的有根据的意见。
  • 使用跨账户访问(推荐)。

第三个看起来是最正确的,但问题是:到目前为止,我找不到一个现成的方式来这样做。 我的发现: 如何使用外部ID , 提供对AWS账户的访问以及如何启用跨账户访问控制台 。 它们都不是现成的,而是让你知道在哪里继续前进。 另外我知道Rackspace有自己的解决scheme,但无法find代码。

所以我会重复一遍:我正在寻找简单而安全的方式,让承包商团队的工作人员能够访问客户端的AWS控制台。 我会很乐意省下一些努力,而不是重新发明自行车。 你知道/有这样的解决scheme吗?

要提供跨账户访问权限,您需要在客户账户中扮演一个angular色,我们称之为“承包商”。 在具有所需权限的客户帐户中以及在AssumeRolePolicyDocument add中创build此angular色:

{ "Statement": { "Action": "sts:AssumeRole", "Effect": "Allow" "Principal": { "AWS": [ arn:aws:iam::12345678910:user/contractor.user ] } } }

其中12345678910是承包商帐户的帐户ID。

然后,当您login到承包商angular色时,您可以select右上angular的“切换angular色”,input客户账户的账户名称或ID,并键入angular色名称“承包商”和繁荣。