마이크로서비스
AccessDenied: Access Denied 에러 해결
Zero_To_One
2022. 4. 14. 09:18
1. https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/with-s3-tutorial.html
자습서: Amazon S3 트리거를 사용하여 썸네일 이미지 생성 - AWS Lambda
자습서: Amazon S3 트리거를 사용하여 썸네일 이미지 생성 이 자습서에서는 Lambda 함수를 생성하고 Amazon Simple Storage Service(Amazon S3)에 대한 트리거를 구성합니다. Amazon S3는 S3 버킷에 업로드된 각 이
docs.aws.amazon.com
자습서: Amazon S3 트리거를 사용하여 썸네일 이미지 생성
를 따라하면서 발생한 오류는 다음과 같다.
2022-04-13T07:11:21.714Z 104231a1-7936-4509-bf57-5cd8aa0b35be INFO AccessDenied: Access Denied
at Request.extractError (/var/runtime/node_modules/aws-sdk/lib/services/s3.js:710: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:686: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:688:12)
at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:116:18) {
code: 'AccessDenied',
region: null,
time: 2022-04-13T07:11:21.713Z,
requestId: 'WAT38VMZ6YY093QN',
extendedRequestId: '9fIlYbbJQZodJDFq2NnLonV/fNBVl604A8DCuGL1mWOmlAjKZqVMIBJqlJQxtARHisgyiofWlus=',
cfId: undefined,
statusCode: 403,
retryable: false,
retryDelay: 93.7151740316098
}
AccessDinied: Access Denied 문제라 뜬다.
S3의 권한이 없는 걸로 보인다.
폭풍 구글링을 통해 알아본 결과 해결방법은 다음과 같다.
바로 s3에 다음과 같이 추가해 주는 것.
"Action": [
"s3:PutObject",
"s3:GetObjectAcl",
"s3:GetObject",
"s3:GetObjectTagging",
"s3:PutObjectTagging",
"s3:PutObjectAcl"
],
2개의 s3에 권한을 추가해 주었다.
소스 버켓에 sspring.jpg 파일을 올리니 썸내일 버켓에 sspring.jpg의 축소된 버전이 나오는 걸 확인할 수 있었다.
기존사진
결과물