【问题标题】:Should you use AWS IAM roles and permission for application users?您是否应该为应用程序用户使用 AWS IAM 角色和权限?
【发布时间】:2016-04-14 01:39:08
【问题描述】:

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

【问题讨论】:

    标签: node.js amazon-web-services aws-sdk amazon-iam


    【解决方案1】:

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

    我在 node 中有一个 非常 简单的 API,它几乎只是在 mongo 中存储一个 JSON 数据块的 ACL。

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

    这可能是 Cognito 发布支持的内容? (虽然我没有研究这么多)

    【讨论】:

    • 感谢您提供有关 Cognito 的提示。我会对此进行更多研究,但乍一看,它确实是我正在寻找的服务。
    【解决方案2】:

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

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

    我应该使用 nodejs 的 ACL 模块之一并在 AWS IAM 服务之外管理我的角色和用户吗?

    是的,正确。使用本机方法/库来管理应用程序中特定于应用程序的用户身份验证和角色。

    【讨论】:

    • 感谢您直接回答我的问题。这证实了我的猜测。
    【解决方案3】:

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

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

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

    【讨论】:

    • 感谢 PassportJS 的建议。在我的简短研究中,我还没有看到那个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 2021-12-07
    • 2021-01-03
    • 2018-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多