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

能否使用Amazon Cognito为私有API提供身份认证?

Amazon Cognito 用于私有API Gateway的相关问题解答

一、Cognito默认认证URL的公网暴露特性

  • 标准Cognito用户池生成的OAuth 2.0认证端点(格式为https://<用户池前缀>.auth.<区域>.amazoncognito.com)默认就是公网暴露的,AWS没有给原生Cognito端点提供私网部署选项,这个端点归属AWS公网服务平面,默认所有公网用户都能解析、访问到。
  • 就算你给Cognito配置了自定义域名,只要没有额外加访问控制层,这个域名依然是公网可达的,不存在默认私有的Cognito认证URL。

二、私有API对接Cognito认证的实现方式

  • 虽然没有原生私有Cognito认证URL,但完全可以通过架构调整,实现私有API场景下的Cognito OAuth 2.0认证,不需要全链路走公网:
    • 如果你要求认证全流程都不走公网:可以在自己的VPC内部署反向代理,通过AWS PrivateLink将Cognito服务接入私有VPC,所有内网客户端、API网关的认证请求全部发往VPC内的代理地址,由代理经PrivateLink转发到Cognito服务;同时给Cognito原生公网端点配置IP白名单,仅允许VPC代理的出口IP访问,阻断所有公网直连请求。
    • 如果仅要求API调用链路在私网:不需要改造Cognito端点访问逻辑——Cognito签发的是标准JWT格式Token,你可以提前把Cognito的签名公钥缓存在私有API Gateway本地,用户只需要首次通过企业VPN访问公网Cognito端点获取Token,后续所有API调用的Token校验环节完全在VPC内部完成,不需要每次请求都公网调用Cognito,校验性能和私网安全性都能满足要求。
  • 注意不要私自篡改Cognito生成的默认认证URL指向私网地址,Cognito的OAuth流程自带域名、回调地址校验,私自修改会直接触发流程报错,无法正常完成认证。

Cognito域名配置界面截图
Cognito应用客户端配置界面截图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 23:18:48