마이크로서비스

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의 축소된 버전이 나오는 걸 확인할 수 있었다.

 

기존사진

 

결과물