如何在 AWS 上部署身份验证:使用 Shufti 的分步指南
通过2026, 30%的企业 由于人工智能生成的深度伪造技术,独立的身份验证解决方案将被认为不可靠。对于负责解决此问题的工程团队来说,问题很少在于选择哪种解决方案,而在于如何在AWS环境中运行这些方案,同时避免凭证泛滥、忽略审计跟踪,以及避免在高负载下丢失事件的Webhook。
本指南将引导您完成集成过程。 舒夫提的身份验证 将 REST API 集成到 AWS 应用程序中。内容涵盖账户设置、在 AWS Secrets Manager 中存储 API 密钥、IAM 角色配置、验证请求结构、Webhook 处理程序设置以及沙箱测试。熟悉 AWS 环境的开发人员应该可以在 30 分钟内获得第一个验证结果。
为什么基于 AWS 构建的团队会选择 API 优先身份验证?
基于云的身份验证现在拥有 全球IDV市场65.12% 预计到 2031 年,该领域将以 12.72% 的复合年增长率增长。这一份额反映了工程工作负载的现有部署位置。当您的应用程序运行在 EC2 或 Lambda 上时,通过 REST 调用添加验证步骤,可以很好地融入您团队已管理的架构,包括 IAM 角色、CloudWatch 日志、环境密钥和 Webhook 端点。
另一种方法是从零开始构建自己的文档 OCR、人脸比对和活体检测技术栈,这需要数月时间,并且需要持续维护模型。Shufti 的 API 可在 15 秒内返回通过或失败的判定结果。 文件验证 涵盖230多个国家/地区的10,000多种文档类型, 脸部验证 对每个生物特征匹配都运行主动活体检测。AWS 负责您的计算和网络。Shufti 负责合规性逻辑。

首次调用 API 之前需要准备什么?
编写任何代码之前,你需要准备好三件事。
首先,需要一个 Shufti 账户。访问 developers.shuftipro.com 注册并访问开发者门户。注册后,门户会提供一个客户端 ID 和一个密钥。请勿将这些信息泄露到您的源代码中。
其次,您需要一个拥有相应权限的 AWS 账户。请确认您拥有创建 IAM 角色和策略、读取 Secrets Manager 以及部署 EC2 实例或 Lambda 函数的权限。如果您计划通过 Webhook 异步接收结果,则还需要一个 API 网关或应用程序负载均衡器终端节点。
第三,需要一份测试身份证明文件和一个带摄像头的设备用于沙箱运行。Shufti 的沙箱环境可以接受真实扫描并返回合成结果,因此您可以在任何生产数据迁移之前验证完整的集成流程。
如何在 AWS 上部署 Shufti:分步指南
步骤 1. 将您的 API 凭证存储在 AWS Secrets Manager 中
在 Secrets Manager 中创建一个名为“其他类型密钥”的新密钥。添加两个键值对,一个用于存储客户端 ID,另一个用于存储密钥。将密钥命名为与环境相关的名称,例如 shufti/production 或 shufti/staging。
您的 Lambda 或 EC2 角色会在运行时检索这些值。这不仅仅关乎安全规范。如果您的应用程序需要通过 SOC2 或 ISO 27001 审计,审计人员会关注集中式、访问控制的凭证管理,而不是环境变量或源文件中的 API 密钥。
步骤 2. 配置具有最小权限原则的 IAM 角色
为您的 EC2 实例或 Lambda 函数创建 IAM 角色。附加一个策略,授予 secretsmanager:GetSecretValue 权限,用于访问您在步骤 1 中创建的特定密钥 ARN,以及 logs:CreateLogGroup、logs:CreateLogStream 和 logs:PutLogEvents 权限,以便 CloudWatch 可见。
请勿将 AmazonSecretsManagerReadWriteAccess 或 AdministratorAccess 权限附加到您的应用程序角色。最小权限原则是 ISO 27001 和 SOC2 审核中的一项标准控制要求,而不仅仅是一项建议。
步骤 3:发送您的第一份验证请求
Shufti 的 API 使用 Bearer Token 身份验证。您的应用程序从 Secrets Manager 获取客户端 ID 和密钥,对其进行 Base64 编码,然后通过 POST /access-token 请求将其交换为一个短期访问令牌。完整的令牌端点和请求架构文档请参见[此处]。 Shufti API 参考.
使用有效的令牌,构建验证请求负载。指定所需的服务,例如文档。 身份证明文件 检查、人脸识别(生物特征匹配)或两者兼有。使用 Authorization: Bearer 向 https://api.shuftipro.com/ POST 请求有效负载。头部信息。简单的检查会返回同步结果。复杂的或多服务的检查会返回一个用于 webhook 发送的 event_id。
步骤 4. 配置您的 Webhook 端点
将验证负载中的 callback_url 字段设置为您的 API 网关或 ALB 端点。处理完成后,Shufti 会调用此 URL 并传递验证结果。
您的 Webhook 处理程序应验证传入请求的签名,解析结果对象,并根据状态字段执行相应操作。状态为“已批准”时,用户将进入您的注册流程。状态为“已拒绝”时,申请人将被路由至您的人工审核队列或拒绝逻辑。当结果为“待审核”时,需要人工审核才能记录最终决定。
将每个回调事件连同事件 ID、状态和时间戳一起记录到 CloudWatch。这样,您的合规团队就能获得可审计的记录,而无需您的系统在本地存储原始生物识别数据。
第五步:上线前运行沙箱测试
Shufti 的沙箱环境模拟了生产环境的行为。测试您计划使用的每个验证服务,包括正常审批流程、文档拒绝和超时处理。使用 KYC API 参考开发者文档,为每种场景构建有效载荷。
一旦沙盒流程顺利通过 webhook 处理程序,请使用生产凭据更新 Secrets Manager 值,将 callback_url 指向您的生产端点,然后进行部署。

数据驻留和合规性考量
对于处理欧盟居民个人数据的应用程序, GDPR 第 28 条 Shufti 要求与任何处理该数据的第三方处理者签订数据处理协议。Shufti 已获得 ISO 27001:2013、SOC2、PCI DSS 等认证。 《通用数据保护条例》(GDPR) 已获得认证,并可根据要求提供已签署的数据保护协议。
如果您的合规要求规定生物识别数据绝不能离开您自己的云边界,Shufti 提供了一种本地部署选项,该选项运行在您的 AWS VPC 内,不会向外部传输文档图像或面部扫描数据。REST API 接口完全相同,因此上述步骤只需稍作更改即可。POST 端点指向您的内部负载均衡器,而不是 api.shuftipro.com。AWS 还发布了…… AWS身份验证参考架构指南 这涵盖了此用例的其他基础设施模式。
在投入生产之前,请阅读原因。 KYC软件部署 当它们遇到实际环境条件时就会失效。这些失效点是可以预测的,而且大多数都可以在沙盒测试阶段被发现。
总结
在 AWS 上,身份验证在 API 层面已经得到解决,但审计跟踪的缺失、凭证的蔓延以及脆弱的 Webhook 实现才是大多数工程团队浪费迭代周期的原因。Shufti 的 REST API 与您的团队在 AWS 上已管理的架构模式完美契合,可在 15 秒内返回符合规范的身份决策,并内置了…… 深度检测在 230 多个国家/地区进行文件检查和生物特征匹配。
|
预约演示 逐步完成与您的特定技术栈和合规性要求的集成。 |
常見問題解答
我在AWS上运行Shufti需要哪种EC2实例类型?
Shufti 是一项 API 服务,而非安装在 EC2 实例上的软件。您的 EC2 或 Lambda 函数会向 Shufti 的 API 发出 HTTPS 出站请求,并通过 Webhook 接收结果。任何能够处理 HTTPS 出站请求的实例类型均可使用。您无需配置 GPU 或高内存。
集成之前我需要注册一个Shufti账号吗?
是的。在进行任何 API 调用之前,您需要客户端 ID 和密钥。请在 Shufti 开发者门户注册创建帐户。设置过程只需几分钟,沙盒环境即可立即使用,因此您无需生产环境凭据即可开始测试。
我可以在没有外部互联网访问权限的私有 VPC 中运行 Shufti 吗?
Shufti 的本地部署方案运行在您的 AWS VPC 内,文档图像和生物识别数据不会对外泄露。验证请求和结果均保留在您的私有网络内。请联系 Shufti 团队,讨论本地部署方案以及符合您合规要求的 DPA 要求。
整个安装过程需要多长时间?
从创建账户到首次成功调用沙盒 API,大多数开发者都能在 30 分钟内完成设置。Webhook 配置会根据您的基础架构增加一些时间,但 API 本身只需要访问令牌、JSON 有效负载和一个用于接收结果的端点。
验证检查后,生物识别数据会如何处理?
Shufti 处理文档图像和面部扫描数据以生成验证结果,并根据其已发布的保留政策以及贵组织已签署的任何数据处理协议 (DPA) 处理数据。对于有严格数据驻留要求的团队,本地部署选项可将所有生物识别数据保留在您自己的云边界内。
