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

Lambda调用AWS SSO权限集接口时报AccessDeniedException错误怎么办

问题排查方向

你附加了全权限Admin策略仍触发权限拒绝,优先排查以下几点:

  • API调用区域不匹配:AWS IAM Identity Center(原SSO)的实例是单区域部署的全局资源,调用sso-admin相关API时必须指定实例实际部署的区域,若你初始化boto3客户端时未指定区域,会默认使用Lambda所在区域,区域不匹配时就会返回AccessDenied错误。
    修正客户端初始化代码示例:
    import boto3
    # 替换为你的SSO实例实际部署的区域
    client = boto3.client('sso-admin', region_name='<SSO实例所在区域ID>')
    
  • 组织SCP限制:AWS Organizations的服务控制策略(SCP)是组织层面的权限边界,优先级高于账号内的身份权限。如果根OU或Lambda所属账号所在的OU绑定的SCP禁用了sso:PutInlinePolicyToPermissionSet操作,哪怕账号内角色有全权限也会被拒绝。
  • 权限边界限制:如果你的Lambda执行角色附加了权限边界(Permissions Boundary),权限边界会定义角色的最大权限范围,若权限边界未允许对应SSO操作,也会触发权限拒绝。
  • 账号权限不足:操作SSO权限集的权限默认只有组织管理账号的身份拥有,如果你用的是成员账号的Lambda角色,需要先将该成员账号设置为Identity Center的委托管理员,否则哪怕角色有全权限也无法操作SSO资源。

SSO权限集与常规IAM权限的核心区别

两者的操作逻辑差异很大:

  • 常规IAM权限是账号级资源,权限直接附加到对应账号的用户/角色/组上,操作IAM的API属于单账号的IAM服务范畴,只要当前账号内的身份有对应权限即可操作。
  • SSO权限集是组织级的模板资源,归属于组织的IAM Identity Center服务,操作权限集的API需要身份拥有组织层面的SSO操作权限,且必须指向SSO实例部署的区域发起调用,跨区域调用默认无效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:15:05