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

如何在AWS SAM模板中为Lambda函数添加特定DynamoDB表内联策略

在AWS SAM模板中添加内联DynamoDB访问策略

你只需要把内联策略的JSON对象直接加入到Policies列表中,和已有的标准托管策略放在一起就可以了。下面是修改后的完整SAM模板示例:

Resources:
  QueryFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: query/
      Handler: app.lambda_handler
      Policies:
        # 保留原有的标准托管策略
        - AmazonDynamoDBFullAccess
        - AWSLambdaVPCAccessExecutionRole
        # 添加你的内联策略
        - Version: '2012-10-17'
          Statement:
            - Effect: Allow
              Action: dynamodb:*
              Resource: "arn:aws:dynamodb:us-east-1:123456789012:table/YourSpecificTableName"
      Runtime: python3.7

几个关键注意事项:

  • 务必把Resource字段的值替换成你实际的DynamoDB表ARN,格式为arn:aws:dynamodb:<区域>:<账号ID>:table/<表名>
  • 如果你的DynamoDB表是在同一个SAM模板里定义的资源,可以用SAM内置函数动态获取ARN,比如:
    Resource: !GetAtt YourDynamoDBTableResourceName.Arn
    
  • 要是表名通过模板参数定义,还能使用!Sub拼接ARN:
    Resource: !Sub "arn:aws:dynamodb:${AWS::Region}:${AWS::AccountId}:table/${YourTableNameParameter}"
    

这样配置后,你的Lambda函数就会同时拥有标准托管策略的权限,以及这条内联策略限定的特定表访问权限啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:50:36