【问题标题】:Can you export/migrate users out of AWS cognito, does it cause vendor lock-in?您可以将用户导出/迁移出 AWS cognito,这会导致供应商锁定吗?
【发布时间】:2017-02-24 19:54:38
【问题描述】:

这是一个关于供应商锁定和 AWS cognito 的问题。如果我们离开 AWS,用户数据和加密/哈希密码是否可以从 cognito 中导出?

cognito 是否可以/是否使用标准散列或用户密码的可配置散列或允许导出令牌之类的东西?

【问题讨论】:

    标签: amazon-web-services amazon-cognito


    【解决方案1】:

    目前,Cognito 不允许从用户池中导出用户。不过,我们已经从其他客户那里听到了这一要求,并已将其优先用于未来的发布。

    就密码而言,Cognito 使用secure remote password protocol 进行实际身份验证,因此可能出现的元数据可能不是特别有用,如果它被包含在内的话。

    【讨论】:

    • 将池转移到另一个 AWS 账户怎么样?
    • 相同的答案,目前不支持,但这是我们多次听到的请求。
    • 缺少真正重要的功能
    • @JeffBailey - 这仍然是真的吗?您的答案已接近 2 岁。
    【解决方案2】:

    考虑到亚马逊仍未更新他们的答案,这里有一个解决方法(以增加接受的答案):

    试试npmjs.com/package/cognito-backup-restore

    注意。我没有测试过这个包。

    那么:

    1. 构建您的替代身份验证系统
    2. 登录时,使用新系统测试身份验证
    3. 尝试使用 Cognito 进行身份验证
    4. 如果 Cognito 成功,将用户的详细信息导入您的新系统
    5. 新系统需要更新密码

    来源:forums.aws.amazon.com/thread.jspa?threadID=240242

    【讨论】:

    • 正如您所提到的,此方法需要为每个用户重置密码,因为正如 NPM 库中的评论所说“请注意:无法在 cognito 中获取用户的密码,因此您可以需要让他们使用 ForgotPassword 来恢复他们的帐户。”。所以不是一个非常无缝的用户体验,可能会失去一批用户。
    【解决方案3】:

    Cognito 实际上可以使用 CSV 文件导入用户,但是没有导出功能可用(除非您列出用户并写入 CSV)

    【讨论】:

    • 即使列出用户并构建 CSV 仍然需要所有用户重置密码
    • csv 导入对我们来说非常有问题,所以我们最终打开了一个 EC2 并使用 CLI 进行导入。这允许设置任意密码。
    【解决方案4】:

    这个参考架构可能会有一些用处:https://aws.amazon.com/solutions/implementations/cognito-user-profiles-export-reference-architecture/

    它使用ListUsers API 将用户配置文件导出到 DynamoDB 表。它旨在按计划(每天/每周/等)运行,以使 DynamoDB 表与用户池中的配置文件保持同步。源在 GitHub 上,因此可以修改解决方案以导出为 CSV。

    如果将配置文件导入新的用户池,用户仍需要重置密码。部署指南中列出的其他限制。

    【讨论】:

    • 感谢分享——似乎很多资源都说您无法让用户退出 Cognito,但似乎可以。
    猜你喜欢
    • 2017-06-30
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    • 2021-03-18
    • 2018-09-09
    • 2021-04-16
    • 1970-01-01
    相关资源
    最近更新 更多