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

跨AWS账户配置Cognito触发Account A中Lambda的问题排查

跨AWS账户配置Cognito触发器(Account B调用Account A的Lambda)解决方案

跨账户场景下,Cognito控制台的触发器列表不会自动显示其他账户的Lambda函数,这是正常现象,你需要完成以下补充配置才能实现需求:

一、给Account A的Lambda添加资源策略

当前你在Account A创建的IAM角色是允许Account B扮演它来调用Lambda,但还需要给Lambda本身配置资源策略,允许Account B的Cognito服务触发它:

  1. 登录Account A的AWS控制台,打开目标Lambda函数的「配置」→「权限」页面
  2. 找到「资源策略」模块,点击「添加权限」,按以下参数配置:
    • 类型:AWS服务
    • 主要服务:Cognito
    • 来源账户:填写Account B的ID
    • 来源ARN:填写Account B中目标Cognito用户池的完整ARN(格式:arn:aws:cognito-idp:eu-central-1:Account-B-ID:userpool/你的用户池ID)
    • 操作:选择lambda:InvokeFunction
    • 点击保存

或者直接编辑资源策略,添加以下语句:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "cognito-idp.amazonaws.com"
            },
            "Action": "lambda:InvokeFunction",
            "Resource": "arn:aws:lambda:eu-central-1:Account-A-ID:function:LAMBDAFUNCTIONNAME",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceAccount": "Account-B-ID"
                },
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:cognito-idp:eu-central-1:Account-B-ID:userpool/*"
                }
            }
        }
    ]
}

二、在Account B的Cognito中手动配置触发器

由于跨账户Lambda不会出现在下拉列表,需手动输入Lambda的ARN:

  1. 登录Account B的AWS控制台,进入目标Cognito用户池的「触发器」选项卡
  2. 选择你要配置的触发器类型(如预注册、自定义消息等)
  3. 在函数输入框中,直接填写Account A中Lambda的完整ARN:arn:aws:lambda:eu-central-1:Account-A-ID:function:LAMBDAFUNCTIONNAME
  4. 选择你在Account A中创建的、允许Account B扮演的IAM角色(确保该角色的信任关系和权限策略与你提供的配置一致)
  5. 保存配置

三、验证配置

  • 触发对应Cognito事件(比如测试用户注册),查看Lambda的执行日志确认是否触发成功
  • 通过CloudTrail检查调用请求,排查是否存在权限类错误

关于跨账户架构的说明

你提到的将身份服务(Cognito)与后端服务(Lambda、API Gateway)分置于不同AWS账户是行业推荐的最佳实践,优势包括:

  • 权限隔离:身份层与业务层的权限边界更清晰,降低越权风险
  • 资源复用:后端服务可被多个账户的身份系统调用,提升资源利用率
  • 安全管控:集中管理身份服务的访问策略,便于统一监控和审计

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 04:55:19