[s3-example] 2. 버킷 생성 및 권한 설정

Project
2023-07-27

AWS S3의 모든 객체는 버킷에 저장되기 때문에 S3에 파일과 폴더를 업로드하려면, 먼저 객체가 저장될 버킷을 생성해야 한다.

또한 Node.js에서 @aws-sdk/client-s3 라이브러리로 AWS 버킷과 객체를 제어하기 위해서는 권한 설정이 필요하다.

버킷 생성

image

[서비스] - [S3] 클릭 후 [버킷]에서 [버킷 만들기] 버튼 클릭

image

[버킷 만들기]에서 [버킷 이름] 입력 후 [AWS 리전]을 [아시아 태평양(서울) ap-northeast-2]로 설정

image

[모든 퍼블릭 액세스 차단] 체크 해제 후 아래 빨간 박스 체크하기

버킷 권한 설정

image

내가 만든 버킷 들어가서 [권한] - [버킷 정책] - [편집] 클릭

image

[정책]에 아래 내용 추가하고 "내가 만든 버킷명"에 버킷명 입력하기

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject", "s3:DeleteObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::내가 만든 버킷명/*" } ] }
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject", "s3:DeleteObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::내가 만든 버킷명/*" } ] }

이 프로젝트에서는 이미지 불러오기, 추가하기, 삭제하기 기능만을 사용하기 때문에 Actions3:GetObject, s3:DeleteObject, s3:PutObject 만 추가했다. 만약 모든 Action을 허용하고 싶으면 "s3:*" 을 추가하면 된다.

관련 포스트

post thumbnail

[react-auth-example] 2. 프론트엔드

로컬 스토리지, 세션 스토리지, 쿠키의 차이점을 알기 쉽게 페이지 및 API를 따로 구현했다. 프론트엔드에서 fetch 요청 시 옵션으로 credentials: "include"를

2023-08-08
post thumbnail

[s3-example] 4. S3 이미지 불러오기

퍼블릭화한 S3 버킷의 객체 URL은 https://[버킷명].s3.[버킷리전].awazonaws.com/[객체]로 되어있다. ex) https://doromo-example.s3

2023-07-27
post thumbnail

[s3-example] 3. 백엔드 구축

Node.js와 express로 백엔드를 구축했다. 백엔드에서 aws-sdk를 이용하여 버킷과 객체에 접근할 것이다. MY_AWS_ACCESS_KEY : IAM 설정에서 발급받은

2023-07-27
post thumbnail

[s3-example] 1. IAM 설정

Node.js는 @aws-sdk/client-s3 라이브러리를 이용하여 S3 버킷과 객체를 제어한다. 라이브러리를 사용하기 위해서는 일단 AWS S3에서 IAM 사용자를 만들어 액

2023-07-27

도로모의 기술 블로그

# Contact : jyw966@naver.com

Copyright © doromo. All Rights Reserved.