【问题标题】:Newcomer to AWS question about Roles/Groups logicAWS 新手关于角色/组逻辑的问题
【发布时间】:2021-06-07 21:01:11
【问题描述】:

我知道这是一个非常开放的问题,但我想知道你们会采取什么方法。

背景故事: 制作一个具有许多不同角色的网站,这些角色应该对网站具有不同的访问级别。 想象一下管理员、Mod、团队领导和成员的角色。但是据说有 3 个团队,其中每个角色都在其中。角色应仅对其自己的团队具有权限级别的访问权限。所有人都可以访问自己的帐户和彼此的帐户,但只有某些级别可以在您升级时更改详细信息。管理员是具有完全访问权限的顶级管理员,Mod 可以访问博客和 wiki,团队负责人可以管理团队的详细信息等

您会使用哪些工具来实现这一目标?

我们目前正在使用 AWS Amplify、Cognito 和可能的 AppSync。

我能否使用 IAM 组或 IAM 角色或 AppSync 有效地实现这一目标? 我对所有这些都是新手。

我最初的想法是在他们登录时获取 Cognito 组、角色和标签详细信息,并在初始登录时存储他们的 TeamID 和标签/位置 ID,然后检查页面以比较商店组和访问级别并更改 UI因此,但这是最好的方法吗?有没有更好的免费工具?

谢谢

山姆

【问题讨论】:

  • IAM 用于管理对 AWS 资源的访问,例如 EC2 实例、安全组、负载均衡器、S3 存储桶或 RDS 实例。您是否尝试管理对这些类型的资源或 yoru 应用程序中的其他内容的访问?
  • 我对这个很陌生,所以我真的只是想寻求指导,比如去看看这个。我设想的方式是从页面中的数据库表中拉下一个团队,团队成员只会看到其他团队成员。团队负责人同样+查看出勤率和工作时间。以上所有的模组+可以说删除成员并添加新的团队领导,管理员可以做任何事情+删除或添加模组。我在我的用户池中使用 Coginito,所以我想知道它是如何连接起来的
  • 所以基本上不能成为管理员用户。他可以创建一个团队并将成员分配给他们在该团队中的角色,然后我会以某种方式指定角色和权限级别
  • 我已经进行了一些挖掘,可能的计划(如果我错了,则更正)可能是使用 AppSync 根据级别限制访问并将其全部存储在 DynamoDB 表中?这有意义吗

标签: reactjs amazon-web-services amazon-cognito aws-amplify aws-appsync


【解决方案1】:

角色/组令人困惑。

最好的解释是您在大多数情况下为 AWS 服务分配角色,并将真实的人分配给一个组。

如果有可以访问多个不同 AWS 项目的开发人员或领导者,您也可以给他们一个角色。

大多数情况下,角色是为 Amazon 服务保存的,例如需要访问 AWS 服务的 EC2 实例。

大多数情况下,您将人类分组。除非开发人员有不在您名下的 IAM 帐户。例如,如果您是 name@projectOne 并且 projectOne 是 root 帐户,而其他人是 name2@projectThree,它在您公司的不同部分。您可以给他们一个角色,因为他们登录的 IAM 账户来自不同的根账户。

大部分时间,为 AWS 实例(如 Ec2 等)保存角色。只需将 IAM 用户分组即可。如果他们不在您的 root 帐户下,请给他们一个角色,然后一旦他们进入,他们也可以被放入组中,或者可以将自己分配到一个组中。

不要给低级开发人员的角色,除非他们来自不同的开发团队。如果是同一个开发团队(在同一个根目录下),只需将它们分配到组。

不断检查您组中的开发人员正在使用哪些权限。点击他们的名字,然后点击安全顾问。如果您看到他们没有使用一堆东西(因为它会显示最后一天使用...)然后修改他们所在的组,或者为这些特定活动创建一个新组并将它们放入其中。 AWS 建议给予必要的最少访问权限。

【讨论】:

  • 感谢您提供的所有信息!在限制对数据库的访问方面,您会使用 Appsync 组来限制对 DynamoTable 中某些区域的访问吗?
猜你喜欢
  • 2018-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-23
  • 1970-01-01
  • 2018-03-30
  • 2019-02-11
  • 1970-01-01
相关资源
最近更新 更多