【发布时间】:2021-06-27 23:05:45
【问题描述】:
我是 AWS Lambda 的新手。我正在尝试来自https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html 的教程。当用户将 jpg 文件上传到名为 greetingsproject 的 S3 存储桶时,会触发 lambda 函数。
错误:9a62ff86-3e24-491d-852e-ded2e2cf5d94
信息:获取对象时出错 = AccessDenied:访问被拒绝
我在以下代码 sn-p 中收到拒绝访问错误:
try {
console.log("srcBucket=" + srcBucket);
console.log("srcKey=" + srcKey);
const params = {
Bucket: srcBucket,
Key: srcKey
};
var origimage = await s3.getObject(params).promise();
} catch (error) {
console.log("error while getting object = " + error);
return;
}
我的角色政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:PutLogEvents",
"logs:CreateLogGroup",
"logs:CreateLogStream"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": "arn:aws:s3:::greetingsproject"
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::greetingsproject",
"arn:aws:s3:::greetingsproject/*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::greetingsproject",
"arn:aws:s3:::greetingsproject/*"
]
}
]
}
不确定我需要向策略添加哪些其他权限。
【问题讨论】:
-
lambda函数和s3桶在同一个aws账户吗?
-
“角色策略” - 哪个角色? Lambda 执行角色?
标签: amazon-web-services amazon-s3 aws-lambda