在 AWS 上每个项目分离资源和访问权限?

在 AWS 上每个项目分离资源和访问权限?

是否可以按项目分离资源(EC2 实例、S3 存储桶等),并为每个项目赋予单独的权限?

这样,我可以将项目 A 的管理员权限授予用户 A,将项目 B 的管理员权限授予用户 B,但用户 A 和用户 B 都无法修改或访问另一个权限。这在 Google Cloud Platform 中非常简单,我想知道在 AWS 中是否也是如此。

我是一名自由职业者,有多个客户。如果我能用自己的电子邮件登录并访问所有客户的资源,而他们只能访问自己的资源,那就太好了。

答案1

可以拥有这些类型的权限,但是,无法向一个客户端“隐藏”属于另一个客户端的资源。

因此,虽然客户端 A 可以登录并仅与其资源进行交互,但他们仍然可以“看到”来自客户端 B 的资源。

此外,账单无法真正拆分。您可以使用资源标记查看账单明细,但只会有一张账单。您将负责支付该账单,并从客户那里收回相应的费用。

另一方面,您可以使用多个 AWS 账户。例如,每个客户一个账户。

这有很多好处:

  • 资源实际上是分开的
  • 客户端 A 无法看到客户端 B 的资源
  • 不那么时髦的政策书写
  • 您的每个客户都可以直接支付账单

对于每个 AWS 帐户,您都可以创建自己的“管理员”用户,以便管理该帐户。

更新:

如果您愿意支付账单并向客户收取费用,那么您可以使用 AWS“组织”。所有分离的 AWS 账户都可以归入一个伞形 AWS 账户下。

答案2

是的,在 AWS 上很容易做到。有时您必须编写策略,因此可能会有点复杂,但有很多示例和教程。

查看文档AWS 身份和访问管理(IAM)。这允许您以非常精细的级别授予特定用户对特定资源的访问权限。您可以使用组和策略来定义谁有权访问哪些资源。

IAM 角色允许您在登录帐户后访问其他帐户中的资源。基本上,一个帐户与您的帐户建立了信任关系,您可以承担一个角色来管理该帐户。这有点麻烦,但效果很好。

我无法在这个答案中提供所有需要的信息,因为它太长了。AWS 文档非常出色,有大量教程。

另外,如果你管理多个客户的 AWS 账户,我建议你使用类似Linux 学院或者云大师至少要参加 AWS Solution Architect Associate 考试。这些都涵盖在内,专业人士甚至可以更进一步。资格很好,但掌握知识才是关键。

更新了有关帐单的问题

如果您希望客户直接支付发票,则必须将每个客户放在他们自己的帐户中。这通常意味着创建一个 AMI,在新帐户中创建一个新实例,然后更改 DNS 等。

如果你代表客户开具账单,你可以使用成本分配标签计算每个客户的账单。

答案3

每个客户有多个账户,一个主计费账户中也包含您的 IAM 账户,您可以在其中切换角色。并设置一个组织来管理其他账户中的 IAM 用户。

https://aws.amazon.com/blogs/aws/new-cross-account-access-in-the-aws-management-console/

https://aws.amazon.com/organizations/

相关内容