第三方可以使用跨账户访问 AWS 控制台吗?

第三方可以使用跨账户访问 AWS 控制台吗?

有两家公司:客户和承包商。两者都有 AWS 账户。我正在寻找一种简单但安全的方法,让承包商团队的员工可以访问客户的 AWS安慰。是的,我站在承包商那边。

我目前能记得的方法有:

  • 在客户账户中创建用户并提供登录名/密码。据我所知,不建议这样做。此外,对于拥有众多客户的承包商来说,管理所有凭证可能是一件令人头疼的事情,而且在工作日期间在账户之间切换会非常不方便(主要原因)。
  • 联合。可能的陷阱:客户端需要添加联合提供商,如果提供商是 Contractor 的 AD,那么对我来说,这并不比直接创建帐户更好。使用第三方(第四方?)身份提供商(谷歌)对我来说并不好,因为我偏执地反对将 Contractor 的凭证暴露给类似 BigBrother 的公共服务,供内部使用。也许我错了,或者这里缺少了什么,很高兴听到您的有理有据的意见。
  • 使用跨账户访问(推荐)。

第三个看起来最正确,但问题是:到目前为止,我找不到现成的方法。我的发现:如何使用外部 ID [...]提供对 AWS 账户的访问权限 [...]如何启用跨账户访问控制台。它们都不是现成的,而是让你知道下一步该怎么做。我也知道 Rackspace 有自己的解决方案,但找不到代码。

所以我再说一遍:我正在寻找一种简单但安全的方法,让承包商团队的员工能够访问客户的 AWS 控制台。我很乐意节省一些精力,而不是重新发明自行车。你知道/有这样的解决方案吗?

答案1

要提供跨帐户访问,您需要在客户帐户中创建一个角色,我们称之为“承包商”。在客户帐户中创建此角色并赋予其所需的权限,然后添加AssumeRolePolicyDocument

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

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

然后,当您登录承包商角色时,您可以选择右上角的“切换角色”,输入客户帐户的帐户名称或 ID,然后输入角色名称“承包商”即可。

相关内容