min8282

[AWS] 버킷 정책을 활용한 S3 권한 제어 본문

Security/Cloud

[AWS] 버킷 정책을 활용한 S3 권한 제어

min8282 2025. 2. 28. 11:20

1. S3 버킷 생성

S3 콘솔에 접속하여 새로운 버킷을 생성합니다. 버킷 이름은 유니크해야 하므로 고유한 이름을 입력합니다.

 

모든 퍼블릭 액세스 차단이 활성화된 기본 설정 상태로 버킷을 생성합니다.


2. 파일 업로드 및 접근 테스트

해당 버킷으로 이동하여 원하는 파일 하나를 업로드해야 합니다.

test01.png 파일을 업로드했습니다.

업로드한 파일을 클릭하여 정보를 확인합니다.

속성 정보에서 객체 URL(Object URL)을 확인하고 클릭하여 웹 브라우저에서 접근을 시도합니다.

AccessDenied 오류가 발생하는데, 이는 버킷에 대한 접근 권한이 없기 때문입니다.


3. S3 버킷 정책 설정 (퍼블릭 접근 허용)

기본적으로 S3 버킷은 모든 퍼블릭 액세스를 차단하도록 설정되어 있습니다. 이를 변경하여 누구나 특정 객체에 접근할 수 있도록 설정하겠습니다.

3.1 퍼블릭 액세스 차단 해제

버킷의 "권한"(Permissions) 탭으로 이동합니다.

"퍼블릭 액세스 차단 설정"에서 편집을 클릭합니다.

모든 퍼블릭 액세스 차단을 비활성화(Off) 한 후 저장합니다.


3.2 버킷 정책 적용

버킷 정책을 편집합니다.

정책을 JSON 형식으로 작성해야 하므로, AWS 정책 생성기(Policy Generator)를 사용하여 생성합니다.

 

정책 설정:

  • 정책 타입(Type): S3 Bucket Policy
  • Principal(주체): * (모든 사용자 허용)
  • Actions(액션): s3:GetObject (객체 읽기 허용)
  • Resource(ARN): 현재 버킷의 ARN을 입력

 

생성된 JSON 정책을 복사합니다.

생성된 JSON 정책을 복사하여 버킷 정책에 붙여 넣기 후 저장합니다. resourece 부분 끝에 /*을 추가해야 합니다.

 

그럼 다음과 같이 생성한 정책이 버킷 정책에 나타나게 됩니다.


4. 파일 접근 확인

다시 업로드한 파일 (test01.png)의 정보를 확인합니다.

객체 URL(Object URL)을 클릭하여 웹 브라우저에서 접근합니다.

 

이제 해당 파일이 정상적으로 로드되는 것을 확인할 수 있습니다.

웹 브라우저는 익명 사용자로 접근하기 때문에, 퍼블릭 접근 정책을 설정하면 누구나 해당 파일을 볼 수 있습니다.

 

이렇게 AWS S3 버킷 정책을 활용하여 파일에 대한 접근 권한을 설정하는 방법을 실습했습니다. 추가적으로 특정 사용자 또는 역할(Role)에게만 접근 권한을 부여하는 방식도 고려할 수 있습니다.