【问题标题】:AWS Cognito - how to create a backup?AWS Cognito - 如何创建备份?
【发布时间】:2020-10-21 23:26:41
【问题描述】:

我们目前正在将我们的身份验证服务迁移到 AWS Cognito。由于用户配置文件 + 数据安全至关重要,我们需要备份主用户池。我们注意到有一个选项可以通过 .csv 文件导入用户,其标题等于池属性,但没有自动创建 .csv 的选项。有谁知道自动生成此类文件的解决方案?重点是保护用户配置文件不被意外删除整个用户池(不小心,假设周五晚上一个疲惫的开发人员)?我个人尝试通过执行所有手动工作(获取标题、用户、映射它们并创建 csv)来实施解决方案,但这不是很可靠。

【问题讨论】:

    标签: amazon-web-services csv backup amazon-cognito


    【解决方案1】:

    我知道我参加聚会迟到了,但将其留在这里以备将来搜索。

    我在使用 Cognito 时也遇到了同样的问题,因此制作了一个工具来进行备份并将它们恢复到用户池。

    您可以在这里找到它:https://www.npmjs.com/package/cognito-backup-restore

    这可以通过cli 或imports 使用(如果您想编写自己的包装器或脚本)。 请提出任何改进建议:https://github.com/rahulpsd18/cognito-backup-restore


    这仍在开发中,因为我计划使用 Cognito 用户池导入作业 而不是使用 aws-sdk's adminCreateUser 创建用户,同时恢复以改进当前的实现。但目前它工作正常。

    Cross-Region Cognito Replication 将在我微调还原过程后实施。

    【讨论】:

    • 嗨,密码呢?你不能从 Cognito 获取用户密码,对吧?
    • Cognito 为您注册时使用的密码存储盐和验证器,并且不会以您输入的形式存储它。它也不能访问它。所以,不,你不能从 cognito 获取用户密码。您能做的最好的事情就是要求您的用户使用重置密码来设置新密码。
    【解决方案2】:

    亚马逊发布了Cognito User Profiles Export Reference Architecture,用于从用户池中导出/导入用户。有limitations:

    • 密码未备份;用户需要重置
    • 不支持使用 MFA 的池
    • Cognito 子属性将是新的,因此如果系统依赖它们,则需要将它们复制到自定义用户属性中
    • 联合用户也对 WRT sub 提出挑战
    • 高级安全性 - 不导出用户历史记录
    • 不支持允许选择电话或电子邮件用户名的池
    • 不支持跟踪设备

    【讨论】:

      猜你喜欢
      • 2017-01-06
      • 2019-10-31
      • 2017-04-23
      • 2019-07-31
      • 2017-10-29
      • 2019-08-09
      • 2014-10-04
      • 2016-10-02
      • 1970-01-01
      相关资源
      最近更新 更多