有两家公司:客户和承包商。两者都有 AWS 账户。我正在寻找一种简单但安全的方法来让承包商团队的员工访问客户的 AWS控制台。是的,我站在承包商一边。
到目前为止我能记住的方式:
- 在客户的帐户中创建一个用户并提供登录名/密码。据我所知,不推荐。此外,对于拥有许多客户来管理所有凭据并且在工作日期间在帐户之间切换非常不舒服的承包商来说,这可能是一个令人头疼的问题(主要原因)。
- 联邦。可能的陷阱:客户需要添加联合提供者,如果提供者是承包商的广告,那么对我来说,它看起来并不比创建帐户更好。使用第三(第四?)方身份提供者(谷歌)对我来说并不好,因为我的偏执狂抗议将承包商的凭据暴露给仅供内部使用的公共 BigBrother 类服务。也许我错了或者这里缺少什么,很高兴听到你有根据的意见。
- 使用跨账户访问(推荐)。
第三个看起来是最正确的,但问题是:到目前为止,我找不到一个现成的方法来这样做。我的发现:如何使用外部 ID [...]、提供对 AWS 账户的访问 [...]以及如何启用对控制台的跨账户访问。它们都不是现成的,而是让您知道继续前进的方向。我也知道 Rackspace 有他们自己的解决方案,但无法找到代码。
所以我再重复一遍:我正在寻找一种简单但安全的方法来让承包商团队的员工访问客户的 AWS 控制台。我会很高兴节省一些精力,而不是重新发明自行车。你知道/有这样的解决方案吗?
要提供跨账户访问,您需要在客户账户中拥有一个角色,我们称之为“承包商”。在具有所需权限的客户帐户中创建此角色,并
AssumeRolePolicyDocument
添加:{ "Statement": { "Action": "sts:AssumeRole", "Effect": "Allow" "Principal": { "AWS": [ arn:aws:iam::12345678910:user/contractor.user ] } } }
其中 12345678910 是承包商账户的账户 ID。
然后,当您登录到承包商角色时,您可以选择右上角的“切换角色”,输入客户帐户的帐户名称或 ID,然后输入角色名称“承包商”和繁荣。