You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为AWS API Gateway的大量机器对机器客户端实现身份认证?

AWS B2B API身份认证方案选型困惑

我正在为客户开发一款面向其B2B客户的API,目前在AWS身份认证机制上遇到瓶颈。我有企业级集成经验,但并非身份认证领域专家。带Client ID和Client Secret的OAuth2是行业公认标准,但AWS对该模式的支持让我觉得受限。

核心需求

  • 服务100+ B2B客户,支持他们将API集成到自身ERP、CRM等业务系统
  • Lambda中需获取已认证客户的信息,用于调取自定义字段或标签
  • 客户技术能力分层:部分有开发团队可适配标准方案,部分仅能使用Power Apps、API轮询器等标准化工具,仅需提供端点、授权等基础信息

已尝试的方案及痛点

  • AWS Cognito:Client ID/Client Secret是应用客户端级别而非客户级别,为每个客户单独创建用户池和应用客户端显得不合理;且Cognito更偏向基于URL的用户认证场景,无法让ERP集成类客户通过/token端点获取令牌(该端点似乎需要用户级别的Client ID/Client Secret)
  • IAM认证:已实现,但AWSSig4签名对部分非技术客户门槛过高;且IAM权限易关联AWS内部资源,我希望通过IAM策略之外的方式做客户隔离
  • 基础认证:不倾向使用,且无原生AWS服务支持
  • 自定义Lambda授权器:可行,但觉得为这类常规需求做自定义实现有点冗余;若要通过它支持OAuth2,还需依赖第三方身份提供商(IDP)
  • 对比Azure:之前对接过的供应商提供的端点、Client ID/Client Secret加cp-apim-subscription-key模式源自Azure,疑惑为何Azure原生支持这类模式,AWS却没有类似方案

待解答的问题

  • 是否遗漏了AWS的某些基础功能,或是AWS本身的技术路径与其他厂商不同?
  • 是否可以在Cognito中设置10年有效期的刷新令牌,直接提供给客户使用?
  • 是否最终还是需要落地自定义Lambda授权器方案?

内容的提问来源于stack exchange,提问作者perage

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 18:52:31