【发布时间】:2016-04-14 01:39:08
【问题描述】:
我第一次在 AWS 上开发 nodejs 应用程序,并且仍在学习所有服务。我正在处理我的应用程序身份验证和授权,并且正在创建我的用户角色和组。 AWS IAM 服务是用于 AWS 管理和您的应用程序的用户授权,还是我应该使用 nodejs 的 ACL 模块之一并在 AWS IAM 服务之外管理我的角色和用户?
【问题讨论】:
标签: node.js amazon-web-services aws-sdk amazon-iam
我第一次在 AWS 上开发 nodejs 应用程序,并且仍在学习所有服务。我正在处理我的应用程序身份验证和授权,并且正在创建我的用户角色和组。 AWS IAM 服务是用于 AWS 管理和您的应用程序的用户授权,还是我应该使用 nodejs 的 ACL 模块之一并在 AWS IAM 服务之外管理我的角色和用户?
【问题讨论】:
标签: node.js amazon-web-services aws-sdk amazon-iam
随着 API 网关和 lambda 的兴起,我想知道这个建议是否仍然适用。
我在 node 中有一个 非常 简单的 API,它几乎只是在 mongo 中存储一个 JSON 数据块的 ACL。
如果我可以在 IAM 中为我的权限建模并使用 lambda 函数来处理 mongo 写入/读取,那么将 IAM 用于我的应用程序用户凭据似乎是明智的。
这可能是 Cognito 发布支持的内容? (虽然我没有研究这么多)
【讨论】:
您应该为应用程序用户使用 AWS IAM 角色和权限吗?
不,你不应该。 AWS IAM 角色和权限控制 AWS 用户/实例通过 EC2 用户配置文件和实例对AWS 服务的访问。它们不旨在用于在专有应用程序中指定用户身份验证或角色。
我应该使用 nodejs 的 ACL 模块之一并在 AWS IAM 服务之外管理我的角色和用户吗?
是的,正确。使用本机方法/库来管理应用程序中特定于应用程序的用户身份验证和角色。
【讨论】:
AWS IAM users 用于与某人(例如您的团队)共享您的亚马逊服务,而无需透露您的个人密码。
其中一个主要优势是能够向任何员工授予管理员访问权限,而不允许其访问您的信用卡数据。
如果您需要为您的应用程序或网站创建一个简单的身份验证模块(带有用户名和密码的系统的常见情况),那么您可以尝试使用类似PassportJS
【讨论】: