2

我的开发人员在 AWS 上创建了一个 EC2 实例,我希望能够通过我自己的仪表板访问它。

我所做的是:

  1. 作为 root 用户,我为我和他创建了一个 IAM 帐户,并将我们俩都分配给了一个名为 PowerUsers 的组
  2. 我创建了一个组织单位并将他的帐户添加到其中

当他转到他的 EC2 仪表板时,他看到了他创建的实例。但是当我转到我的 EC2 仪表板时,我什么也看不到。我们都选择了正确的区域。

我希望有人可以在这里帮助我们,我似乎无法从 AWS 文档中得到任何更明智的信息。

4

2 回答 2

2

tl; dr视觉访问和技术访问之间存在差异。技术是可能的,通过 IAM 角色和权限等。视觉访问是不可能的,不是在来自不同账户的 AWS 控制台中。


通常,您看不到您有权访问的其他帐户的资源。这根本不是 AWS / IAM 或基本上任何复杂权限系统的工作方式。

对于 S3 存储桶也是如此,您无法在 S3 控制台中看到您有权访问的 S3 存储桶,而不是对所有人公开的存储桶,也不会看到您明确被授予权限的存储桶。您只会看到您/您的帐户实际拥有的存储桶。

从技术角度来看,原因很简单:AWS 根本不知道您可以访问哪些存储桶/EC2 实例。它知道您的权限,如果您想访问特定资源,AWS 可以检查权限是否允许您访问它,但反之则不行。

IAM 具有可以根据 IP、时间、VPC 等授予权限的权限。这使得显示您现在可以访问的内容变得不可能且没有真正意义,因为在 10 秒内或从不同的网络可能无法看到它根本没有。

让我从个人经验告诉您,目前我自己正在构建一个:如果您构建一个权限系统,它旨在回答“我可以做 X”,但列出所有 X 是一个非常不同的故事,IAM 无法回答,我没有遇到一个可以回答问题的权限系统,同时具有复杂的权限结构和高效。似乎您不能同时拥有效率、复杂性和反向查找/列表。


请注意,您仍然可以访问该资源。例如,当操作浏览器 URL 以直接访问资源时,即使您没有登录到拥有的帐户,您也可以查看它,但此时您会问“我可以做 X”(X = “查看资源”),可以是很容易回答。您只能列出资源。


第二个注意事项:您看到的一些列出的资源以及您的账户拥有的您仍然无法访问,因为Deny您当前的角色可能有一个明确的 IAM 策略,该策略仅在与资源交互时生效。

于 2021-01-11T10:49:42.040 回答
0

以下是一些选项;

  1. 更好的方法是使用,使用切换角色的跨账户访问,也参考这个

  2. 使用Python 登录脚本有点棘手的方法。

于 2021-01-11T10:57:10.990 回答