如何访问我的开发人员创建的 EC2?

How do I get access to the EC2 my developer has created?

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

我做的是:

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

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

我希望有人能在这里帮助我们,我似乎无法从 AWS 文档中获得任何智慧。

tl;dr 视觉访问和技术访问之间存在差异。技术是可能的,通过 IAM 角色和权限等。无法进行可视化访问,无法通过其他帐户在 AWS 控制台中进行访问。


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

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

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

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

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


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


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

以下是一些选项;

  1. 更好的方法是使用,Cross-Account Access using switch roles and also refer this

  2. 使用 Python sign-in script.

    有点棘手