我的开发人员在 AWS 上创建了一个 EC2 实例,我希望能够通过我自己的仪表板访问它。
我所做的是:
- 作为 root 用户,我为我和他创建了一个 IAM 帐户,并将我们俩都分配给了一个名为 PowerUsers 的组
- 我创建了一个组织单位并将他的帐户添加到其中
当他转到他的 EC2 仪表板时,他看到了他创建的实例。但是当我转到我的 EC2 仪表板时,我什么也看不到。我们都选择了正确的区域。
我希望有人可以在这里帮助我们,我似乎无法从 AWS 文档中得到任何更明智的信息。
我的开发人员在 AWS 上创建了一个 EC2 实例,我希望能够通过我自己的仪表板访问它。
我所做的是:
当他转到他的 EC2 仪表板时,他看到了他创建的实例。但是当我转到我的 EC2 仪表板时,我什么也看不到。我们都选择了正确的区域。
我希望有人可以在这里帮助我们,我似乎无法从 AWS 文档中得到任何更明智的信息。
tl; dr视觉访问和技术访问之间存在差异。技术是可能的,通过 IAM 角色和权限等。视觉访问是不可能的,不是在来自不同账户的 AWS 控制台中。
通常,您看不到您有权访问的其他帐户的资源。这根本不是 AWS / IAM 或基本上任何复杂权限系统的工作方式。
对于 S3 存储桶也是如此,您无法在 S3 控制台中看到您有权访问的 S3 存储桶,而不是对所有人公开的存储桶,也不会看到您明确被授予权限的存储桶。您只会看到您/您的帐户实际拥有的存储桶。
从技术角度来看,原因很简单:AWS 根本不知道您可以访问哪些存储桶/EC2 实例。它知道您的权限,如果您想访问特定资源,AWS 可以检查权限是否允许您访问它,但反之则不行。
IAM 具有可以根据 IP、时间、VPC 等授予权限的权限。这使得显示您现在可以访问的内容变得不可能且没有真正意义,因为在 10 秒内或从不同的网络可能无法看到它根本没有。
让我从个人经验告诉您,目前我自己正在构建一个:如果您构建一个权限系统,它旨在回答“我可以做 X”,但列出所有 X 是一个非常不同的故事,IAM 无法回答,我没有遇到一个可以回答问题的权限系统,同时具有复杂的权限结构和高效。似乎您不能同时拥有效率、复杂性和反向查找/列表。
请注意,您仍然可以访问该资源。例如,当操作浏览器 URL 以直接访问资源时,即使您没有登录到拥有的帐户,您也可以查看它,但此时您会问“我可以做 X”(X = “查看资源”),这可以是很容易回答。您只能列出资源。
第二个注意事项:您看到的一些列出的资源以及您的账户拥有的您仍然无法访问,因为Deny
您当前的角色可能有一个明确的 IAM 策略,该策略仅在与资源交互时生效。
以下是一些选项;
更好的方法是使用,使用切换角色的跨账户访问,也参考这个
使用Python 登录脚本有点棘手的方法。