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

如何查看AWS Lambda关联IAM角色的实际操作权限以细化策略?

如何收紧AWS Lambda IAM角色权限:查看实际执行的资源操作

你完全不用再靠低效的试错法调整权限了,AWS有几个内置工具可以帮你精准定位角色实际使用的权限,下面是最实用的两种方法:

1. 使用AWS CloudTrail查看具体API调用记录

CloudTrail会完整记录所有AWS服务的API调用,包括你的Lambda角色发起的请求,操作步骤如下:

  • 登录AWS控制台,打开CloudTrail服务,进入Event history页面
  • 在筛选条件中,选择Event source,输入你关注的服务(比如iot.amazonaws.com、ssm.amazonaws.com、sts.amazonaws.com),再添加Role name筛选器,填入你的Lambda角色名称
  • 查看结果里的Event name字段,这里就是角色实际执行的具体动作(比如IoTDataPlane.Publish、SSM.GetParameter、sts.AssumeRole),同时Resources列会显示对应的资源ARN(如果有明确资源的话)
  • 如果需要分析更长周期的记录,可以把CloudTrail日志导出到S3,用Athena做深度查询,或者用CloudWatch Insights进行日志分析

2. 用IAM Access Advisor快速查看权限使用情况

IAM的Access Advisor功能直接展示角色在过去90天内实际使用过的权限,操作更直观简单:

  • 打开IAM控制台,找到你的Lambda角色,切换到Access advisor标签页
  • 页面会按服务分组,列出每个服务下角色使用过的具体权限,以及最后一次使用的时间;从未被使用的权限会被明确标记出来
  • 你可以直接基于这些已使用的权限,来裁剪原来过于宽松的策略

生成细粒度策略的小技巧

  • 把收集到的具体动作(比如ssm:GetParameter而非ssm:*)和对应的资源ARN(比如arn:aws:ssm:us-east-1:123456789012:parameter/my-app/config)整理出来
  • 可以用IAM控制台的Policy Generator工具生成规范的JSON策略,或者直接手动修改原有的iamRoleStatements:
    iamRoleStatements:
      - Effect: Allow
        Action:
          - iot:Publish
          - ssm:GetParameter
          - sts:AssumeRole
        Resource:
          - "arn:aws:iot:us-east-1:123456789012:topic/my-topic"
          - "arn:aws:ssm:us-east-1:123456789012:parameter/my-app/*"
          - "arn:aws:sts::123456789012:role/allowed-assume-role"
    
  • 调整后建议在测试环境验证一段时间,确保所有必要操作都能正常执行,避免遗漏低频使用的权限

内容的提问来源于stack exchange,提问作者Patrick W.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:56:15