【发布时间】:2019-11-13 20:22:25
【问题描述】:
我在 Node.js 中有一个使用 SDK 方法 listVersionsByFunction 的 AWS Lambda 函数。
它是从此 AWS SAM 模板创建的:
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:
const result = await lambda.listVersionsByFunction({
FunctionName: 'my-project-special',
}).promise();
部署并发出请求后,出现AccessDeniedException 错误:
用户: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 模板允许此访问?
【问题讨论】:
标签: node.js amazon-web-services aws-lambda aws-sam