首页 > 解决方案 > Amazon S3 AccessDenied:在 Request.extractError 处拒绝访问 - 带有活动对象标记

问题描述

我们尝试通过设置 Lambda 函数向其中添加自定义标签来自动化我们的 S3 工作流程。

我们的 Lambda 函数失败:

2019-11-04T11:32:40.057Z 41513606-8bdd-4c24-85c4-7773d213fc32 { AccessDenied: Access Denied
at Request.extractError (/var/runtime/node_modules/aws-sdk/lib/services/s3.js:585:35)
at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
at Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
at Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:683:14)
at Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:685:12)
at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:116:18)
message: 'Access Denied',
code: 'AccessDenied',
region: null,
time: 2019-11-04T11:32:40.056Z,
requestId: '8F7360D2A816BF54',
extendedRequestId: 'yGXP21UJARJfGq7uz/Pr8JZiX0flImx3e11PL398cFae+S79rWp5dH7G9m2zmYAVysbFQvBChiI=',
cfId: undefined,
statusCode: 403,
retryable: false,
retryDelay: 25.314823366706207 }

我们还在 UI 上看到了一条通知:

要启用对象标签的复制,如果用于跨区域复制的 IAM 策略是在引入对象标签之前创建的,则必须更新它们。

在此处输入图像描述

标签: amazon-s3

解决方案


我们遇到了这个AccessDenied错误

我们必须为我们的 IAM 角色启用更多策略:

"Action": [
                "s3:PutObject",
                "s3:GetObjectAcl",
                "s3:GetObject",
                "s3:GetObjectTagging",
                "s3:PutObjectTagging",
                "s3:PutObjectAcl"
],

如您所见,有针对GetObjectTaggingPutObjectTagging


推荐阅读