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

如何配置身份基与资源基策略授权Cognito访问Amazon Lex Bot

问题原因
  • 核心报错是Cognito身份池分配的未授权用户角色缺少Lex接口调用权限,属于身份基策略缺失问题,完全不需要给Lex配置资源基策略。
  • 你配置资源基策略时返回Internal Error有两个直接原因:一是你当前对接的Lex V1版本本身不支持资源基策略,只有Lex V2支持该能力;二是你策略里写的lex:RecognizeText/lex:StartConversation是Lex V2的专属接口,和报错里提到的V1接口lex:PostText完全不匹配,填写的资源ARN格式也和V2规则对应不上。
  • 你贴出的报错信息里Lex资源ARN本身就有格式错误:账号ID和bot:字段之间少了半角冒号,后续配置要重点校验参数拼写,避免这类低级错误。
正确配置步骤
  1. 定位目标IAM角色
    登录AWS IAM控制台,在角色列表搜索报错信息中提到的Cognito_LiveAssistanceBotIdUnauth_Role,这就是Cognito身份池给未登录本地调试用户分配的执行角色。
  2. 附加身份基权限策略
    进入角色详情页,选择「添加权限」-「创建内联策略」,切换到JSON编辑视图,粘贴以下策略,将占位符替换为你实际的AWS账号ID、区域、Bot名称:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "lex:PostText",
                "lex:PostContent"
            ],
            "Resource": "arn:aws:lex:替换为你的部署区域,比如us-east-1:替换为你的12位AWS账号ID:bot:替换为你的Lex Bot名称:$LATEST"
        }
    ]
}
按向导提示完成策略保存即可,不需要额外添加多余的条件限制。
  1. 最终配置校验
    • 检查react-lex-plus组件中传入的Lex区域、Bot名称、别名参数,和AWS控制台中的配置完全一致,不要出现ARN拼接漏字符的问题。
    • 确认Cognito身份池已开启「允许未经验证的身份访问」开关,本地调试阶段默认使用未授权身份凭证调用AWS服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 04:06:20