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

AWS CLI配置IoT Analytics调用Lambda权限报错及IAM配置咨询

错误核心原因

报错User is not authorized to perform lambda:AddPermission on Resource的本质是当前执行AWS CLI命令的IAM身份(用户/角色)没有目标Lambda函数的lambda:AddPermission操作权限,和IoT Analytics Pipeline本身的权限无关。常见触发场景包括:

  • 当前CLI绑定的身份仅持有Lambda调用类权限,没有修改Lambda资源策略的管理权限
  • 身份所属账号配置了组织SCP、权限边界规则,显式拦截了lambda:AddPermission操作
  • 目标Lambda函数配置了资源级权限限制,当前身份不在该函数的授权管理员范围内
  • 若Lambda函数属于其他AWS账号,当前身份没有跨账号修改该函数资源策略的权限
CLI报错修复步骤
  1. 给当前执行CLI命令的IAM身份补齐对应权限,在身份绑定的自定义权限策略中添加以下语句,注意替换为你实际的账号ID、区域、函数名:
{
    "Effect": "Allow",
    "Action": "lambda:AddPermission",
    "Resource": "arn:aws:lambda:us-east-1:123456789012:function:myLambda1"
}
  1. 排查身份关联的所有策略(包括托管策略、内嵌策略、权限边界、组织SCP),确认没有针对lambda:AddPermission操作的显式Deny规则
  2. 权限生效后重新执行原CLI命令即可完成授权:
aws lambda add-permission --function-name myLambda1 --action lambda:InvokeFunction --statement-id iotanalytics --principal iotanalytics.amazonaws.com --source-account 123456789012 --source-arn arn:aws:iotanalytics:us-east-1:123456789012:pipeline/analytics_lambda1_pipeline

注意:命令中保留source-account和source-arn参数可以严格限制仅指定的IoT Analytics Pipeline能调用该函数,避免产生跨账号越权调用的安全风险。

其他授权途径(含IAM控制台配置方式)

除AWS CLI外,有三种常用授权方式,无需执行命令即可完成配置:

  • Lambda控制台可视化配置资源策略
    1. 进入Lambda控制台,打开目标函数myLambda1的详情页,切换到「配置」-「权限」标签
    2. 找到「资源策略」板块,点击「添加权限」
    3. 权限类型选择「AWS服务」,服务下拉选择「IoT Analytics」,操作项勾选lambda:InvokeFunction
    4. 语句ID填写iotanalytics,源账号填写你的12位账号ID123456789012,源ARN填写目标Pipeline的ARNarn:aws:iotanalytics:us-east-1:123456789012:pipeline/analytics_lambda1_pipeline
    5. 保存后权限立即生效
  • IAM控制台配置Pipeline执行角色(纯IAM授权方式)
    无需修改Lambda侧配置,直接给IoT Analytics Pipeline绑定的服务执行角色添加调用权限即可:
    1. 进入IAM控制台,找到你的IoT Analytics Pipeline关联的服务角色
    2. 给该角色添加内嵌权限策略,写入以下允许调用目标Lambda的语句:
    {
        "Effect": "Allow",
        "Action": "lambda:InvokeFunction",
        "Resource": "arn:aws:lambda:us-east-1:123456789012:function:myLambda1"
    }
    
    1. 保存策略后,Pipeline运行时即可凭该角色权限调用Lambda,适合统一做服务权限管控的场景
  • 基础设施即代码(IaC)配置
    如果你使用CloudFormation、Terraform等工具管理云资源,可以在资源模板中直接定义Lambda权限资源,将IoT Analytics服务作为授权主体,部署时会自动完成权限配置,避免手动操作的权限遗漏问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 01:18:21