您应该为应用程序用户使用 AWS IAM 角色和权限吗?

Should you use AWS IAM roles and permission for application users?

我是第一次在 AWS 上开发 nodejs 应用程序,并且仍在学习所有服务。我正在处理我的应用程序身份验证和授权,并且正准备创建我的用户角色和组。 AWS IAM 服务是否同时用于 AWS 管理和应用程序的用户授权,或者我应该使用 nodejs 的 ACL 模块之一并在 AWS IAM 服务之外管理我的角色和用户?

AWS IAM users 用于与某人(例如您的团队)共享您的亚马逊服务,而无需透露您的个人密码。

其中一个主要优势是能够向任何员工授予管理员访问权限,而不允许其访问您的信用卡数据。

如果您需要为您的应用程序或网站创建一个简单的身份验证模块(具有用户名和密码的系统的常见情况),那么您可以尝试使用 PassportJS

Should you use AWS IAM roles and permission for application users?

不,你不应该。 AWS IAM 角色和权限控制 AWS user/instance 仅通过 EC2 用户配置文件和实例访问 AWS 服务。它们不是用于在专有应用程序中指定用户身份验证或角色。

Should I use one of nodejs's ACL modules and manage my roles and users outside of AWS IAM service?

是的,正确。使用本机 methods/libraries 管理应用程序特定的用户身份验证和应用程序中的角色。

随着 API 网关和 lambda 的兴起,我想知道这个建议是否仍然适用。

我在节点中有一个非常简单的API,它几乎只是围绕在mongo中存储JSON的blob的ACL .

如果我可以在 IAM 中为我的权限建模并使用 lambda 函数来处理 mongo write/read,那么将 IAM 用于我的应用程序用户信用似乎是明智的。

可能这就是 Cognito 的发布支持? (虽然我还没看这么多)