【发布时间】:2016-09-26 15:47:20
【问题描述】:
我正在尝试从节点调用 lambda 函数。
var aws = require('aws-sdk');
var lambda = new aws.Lambda({
accessKeyId: 'id',
secretAccessKey: 'key',
region: 'us-west-2'
});
lambda.invoke({
FunctionName: 'test1',
Payload: JSON.stringify({
key1: 'Arjun',
key2: 'kom',
key3: 'ath'
})
}, function(err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
});
密钥适用于 IAM 用户。用户附加了AWSLambdaExecute 和AWSLambdaBasicExecutionRole 策略。
我收到一个权限错误:
AccessDeniedException: User: arn:aws:iam::1221321312:user/cli is not authorized to perform: lambda:InvokeFunction on resource: arn:aws:lambda:us-west-2:1221321312:function:test1
我阅读了文档和几篇博客,但我无法授权该用户调用 lambda 函数。如何让这个用户调用 lambda?
【问题讨论】:
-
我衷心希望有一个 aws cli 或 Web 界面来解决这个问题。 aws add-access "AccessDeniedException: User: ARN... is not authorized to perform: ACTION on resource: ARN..." 可能会提示您几个描述问题并添加访问角色。
标签: node.js amazon-web-services aws-lambda amazon-iam