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

AWS SSO对接自定义SAML 2.0应用触发No access 403错误咨询

403报错根因分析

  • 首要根因:你没有在AWS SSO控制台为当前登录的用户/用户组分配该自定义SAML应用的访问权限。AWS SSO对所有自定义应用默认关闭公开访问,未显式授权的用户触发应用访问请求时,平台会直接返回com.amazonaws.switchboard.portal#ForbiddenException 403错误。你在samltest.id平台测试正常,是因为该测试平台没有应用访问权限校验逻辑,SAML流程正确即可运行。
  • 次要配置问题:你的Go服务实际监听端口为8000,但SP根路径、元数据中的ACS/SLO地址全部指向9000端口,该问题不会触发当前AWS SSO平台返回的403,但会在权限配置完成后导致回调失败,需要同步修复。
  • 其他可能校验失败原因:如果AWS SSO控制台中填写的应用ACS URL、SAML受众(实体ID)和你上传的元数据对应值不完全匹配(包括后缀斜杠、大小写差异),也会触发SAML请求校验失败返回403。

解决步骤

  1. 配置应用访问权限
    • 进入AWS SSO控制台,打开你创建的自定义SAML应用详情页
    • 切换到「分配用户和组」标签页,点击「分配」按钮
    • 选择你当前登录AWS SSO的用户或所属的用户组,确认完成分配
    • 等待1-2分钟配置生效后,重新访问应用测试
  2. 修复端口配置不一致问题,二选一修改即可:
    • 修改Go代码启动端口为9000:将http.ListenAndServe(":8000", nil)改为http.ListenAndServe(":9000", nil)
    • 将SP根URL、元数据中的所有9000端口替换为8000,重新上传元数据到AWS SSO
  3. 校验SAML配置一致性:进入AWS SSO应用的「SAML 2.0 配置」页,手动核对两个参数:
    • 断言使用者服务(ACS)URL和元数据中AssertionConsumerService的Location值完全一致
    • SAML受众(实体ID)和元数据中EntityDescriptor的entityID值完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:09:01