跳至主要内容

AWS 解决方案库

AWS 上基于 Okta 手机的多重身份验证指南

概览

本指南演示如何使用 AWS 和 Okta 身份平台来实施安全且可扩展的一次性密码(OTP)交付解决方案。本指南支持多种语言和通信方法,并将特定于语言的消息模板存储在动态、可扩展的数据库中。这使您能够根据用户的首选语言和交付渠道(例如短信或语音呼叫)定制 OTP 消息。通过本指南,您可以实施可靠、灵活且安全的 OTP 交付方法,帮助您适应多样化的用户群。

工作原理

这些技术细节包含一张架构图,用于说明如何有效使用本解决方案。该架构图展示了关键组件及其相互作用,并逐步概述了架构的结构和功能。

开始使用

部署本指南

使用示例代码在您的 AWS 账户中部署本指南
示例代码

Well-Architected 支柱

上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。

本指南使用 LambdaAPI GatewayAmazon SQS 来实施无服务器方法,该方法可提供可扩展性、灵活性和易于维护性。例如,Lambda 会根据完成任务所需的最小内存和 CPU 量来调整其函数的大小。如果一个函数遇到错误或异常,Lambda 会将失败事件发送到 Amazon SQS 死信队列,以便进一步调查和故障排除。此外,Amazon CloudWatch 为主动发现和解决问题提供关键监控,支持卓越运营。

阅读“卓越运营”白皮书

本指南通过实施强大的访问控制和数据保护机制来增强安全性。AWS WAF 通过应用托管规则来阻止恶意流量,从而保护 API Gateway 端点。自定义 Lambda 函数充当授权方,在允许请求继续之前验证 JWT。该授权方会解码 JWT(使用 Okta 的公钥来验证签名)并检查到期时间,以确认令牌的有效性。 IAM 使用最低权限原则管理访问权限,以确保只有授权用户和服务才能访问资源。此外,AWS 密钥管理服务 (AWS KMS) 对敏感数据(例如 OTP)进行加密,并对 CloudWatch 日志进行加密,以保护记录的信息的机密性。

阅读《安全性》白皮书

本指南通过分布式工作负载、错误处理机制、持久数据存储和高可用性消息消息收发服务支持可靠性。它将 Lambda 函数分布在多个可用区(AZ)中,帮助您避免由 AZ 中断导致的单点故障风险。Amazon SQS 死信队列通过处理错误和重试提供可靠的消息传递,并使您能够调查任何失败的消息处理。此外,DynamoDB 为用户首选项和消息模板提供了高可用性和持久性的数据存储。最后,AWS 最终用户消息发送服务通过为 SMS 和语音通信提供高度可用且可扩展的消息传递服务来增强可靠性。

阅读《可靠性》白皮书

本指南使用无服务器服务,因此您可以快速检索和处理数据,而无需手动管理基础设施。Lambda 会根据您的工作负载自动扩展并适当调整其功能以实现高效的资源利用,而 DynamoDB 则有助于快速高效地检索数据。AWS 最终用户消息发送服务可按需将文本转换为语音以进行语音通话。

阅读《性能效率》白皮书

本指南通过使用按需、即用即付服务来最大限度地降低成本。DynamoDB 提供灵活的定价模式,其按需容量模式可根据工作负载量进行调整,从而帮助您降低成本。对于 Lambda,您只需为您使用的计算时间付费,其可扩展性可帮助您优化成本。

阅读《成本优化》白皮书

本指南使用可扩展的按需服务来减少云工作负载对环境的影响并最大限度地减少浪费。Lambda 可按需自动扩展,帮助您避免使用闲置资源。此外,DynamoDB 还提供了随工作负载扩展的按需模式,从而实现高效的资源利用。这两项服务均符合最大程度地减少硬件使用和能耗的最佳实践。

阅读《可持续性》白皮书

免责声明

示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。

找到今天要查找的内容了吗?

请提供您的意见,以便我们改进网页内容的质量。