是否可以按项目分离资源(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/