首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用AWS的Lambda上的AWS

使用AWS的Lambda上的AWS
EN

Stack Overflow用户
提问于 2019-11-12 23:03:22
回答 1查看 390关注 0票数 0

我在Node.js中有一个AWS函数,它使用SDK方法listVersionsByFunction

它是从这个AWS SAM模板创建的:

代码语言:javascript
复制
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Globals:
  Function:
    Timeout: 3
Resources:
  special:
    Type: AWS::Serverless::Function
    Properties:
      FunctionName: 'my-project-special'
      CodeUri: ./handlers
      Handler: special.handler
      Runtime: nodejs10.x
  getLatest:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: ./handlers
      Handler: getLatest.handler
      Runtime: nodejs10.x
      Events:
        getLatest:
          Type: Api
          Properties:
            Path: /latest/
            Method: get

处理程序像这样调用SDK:

代码语言:javascript
复制
const result = await lambda.listVersionsByFunction({
    FunctionName: 'my-project-special',
}).promise();

在部署和发出请求之后,会出现一个AccessDeniedException错误:

User: arn:aws:sts::999999999:assumed-role/my-project-getLatest-ADFADSFASD/my-project-getLatest-HJLKHLKJKJ未被授权执行: lambda:ListVersionsByFunction资源: arn:aws:lambda:us-east-2:999999999:function:my-project-special

如何通过AWS SAM模板允许这种访问?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-13 11:02:45

此错误指示您的Lambda没有对其他资源(另一个Lambda)执行ListVersionsByFunction操作的权限。

您需要做的是创建一个自定义策略并将其添加到您的template中。

代码语言:javascript
复制
getLatest:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: ./handlers
      Handler: getLatest.handler
      Runtime: nodejs10.x
      Policies:
         - Version: '2012-10-17'
           Statement:
             - Effect: Allow
               Action:
                 - lambda:ListVersionsByFunction
               Resource: '*'
      Events:
        getLatest:
          Type: Api
          Properties:
            Path: /latest/
            Method: get

见参考资料

也可以将此策略作为inline policy添加到IAM管理控制台中,在角色下选择函数getLatest并添加策略。见快照。

希望它能帮上忙

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58827977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档