使用 Amazon Cognito 用户池安全功能
您可能想要保护应用程序,防止受到网络入侵、密码猜测、用户模拟以及恶意注册和登录的侵害。Amazon Cognito 用户池安全特征的配置是安全架构中的一个关键组件。您的应用程序的安全性就是客户“云中的安全性”责任,如 Amazon 责任共担模式
在配置用户池时,必须作出的一项重要决定是,是否允许公开注册和登录。某些用户池选项(例如机密客户端、以管理员身份创建用户和确认,以及没有域的用户池)受到互联网攻击影响的程度较小。而一个常见的使用场景是公共客户端,它们接受互联网上任何人的注册并将所有操作直接发送到您的用户池。在任何配置中(尤其是在这些公共配置中),我们建议在规划和部署用户池时要考虑安全特征。当不受欢迎的来源创建新的活跃用户或试图利用现有用户时,安全性不足也会影响您的 Amazon 账单。
MFA 和高级安全特征适用于本地用户。第三方 IdP 负责联合用户的安全状况。
用户池安全特征
- 多重身份验证 (MFA)
-
请求一个由用户池通过短信或身份验证器应用程序发送的验证码,用以确认用户池登录。
- 高级安全特征
-
监控登录以了解风险指标,并应用 MFA 或阻止登录。向访问令牌添加自定义声明和范围。通过电子邮件发送 MFA 代码。
- Amazon WAF Web ACL
-
检查用户池端点和身份验证 API 的传入流量,以了解网络层和应用程序层是否存在不想要的活动。
- 区分大小写
-
防止创建除了字符大小写有所不同之外,其电子邮件地址或首选用户名与另一个用户完全相同的用户。
- 删除保护
-
防止自动化系统意外删除您的用户池。需要在 Amazon Web Services Management Console 中进一步确认删除用户池。
- 用户存在错误
-
防止泄露用户池中现有的用户名和别名。无论用户名是否有效,在身份验证失败时都返回一个通用错误。