我是AWS的新手。在Azure方面有一些经验,但组织/用户帐户/权限部分与租户/管理组/订阅/Azure AD的思维方式完全不同。
在多账户(例如账户a、账户B和账户C(组织中,让账户a的用户以只读方式了解账户B和帐户C的最有效方法是什么?为每个帐户创建一个角色,并为每个用户添加假定角色策略?如果将来添加帐户D和E,是否有办法在顶层授予这些用户这些权限,以确保他们也具有只读访问权限?
您需要了解IAM角色和跨帐户访问。我知道这样做的两种主要方式:
解决方案1
您可以使用AWS IAM Identity Center为帐户A、B和C设置只读访问权限。例如,您可以使用ReadOnlyAccess
创建用户或组,并将这些用户配置为访问您的所有帐户。
您仍然需要配置您的AWS帐户,以便将它们集成到IAM Identity Center中,并允许您的用户访问这些帐户,但处理IAM角色跨帐户访问的大部分繁重工作将由IAM Identity Center完成。
解决方案2
另一种方法是使用IAM角色配置跨帐户访问。简而言之,你必须:
- 在帐户A上创建IAM用户
- 使用等效的
ReadOnlyAccess
策略在帐户B、C等上创建IAM角色 - 在这些IAM角色上配置信任策略,以允许帐户a用户模拟他们
- 了解这一步骤非常重要。我建议你阅读这篇AWS博客文章来领会这个想法
- 为帐户A上的IAM用户配置IAM策略,以允许他们模拟帐户B、C等上的角色
备注:
- 解决方案1实际上是在暗中使用解决方案2:Identity Center将为您创建具有适当配置的IAM角色。使用解决方案1,您将不必处理信任策略的锅炉板配置,这可能更容易,但解决方案2将为您的其他策略带来更精细的控制(增加复杂性(
- 我自愿没有详细说明每个IAM资源必须如何配置,因为这实际上取决于您的需求,您的问题仍然很广泛。我建议你阅读我链接的医生,以获得更好的想法,并亲自尝试
- 当您觉得可以轻松地迁移到生产级或更大规模的配置时,我强烈建议您使用基础设施作为代码,如CloudFormation、Pulumi或Terraform