AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

AWS S3 버킷 읽기 권한 설정 가이드

카테고리

인프라/DevOps/보안

서브카테고리

보안

대상자

AWS S3 버킷 관리자 및 DevOps 엔지니어

  • 중급 수준 이상의 AWS IAM 및 S3 정책 이해 필요
  • 공개 액세스 설정 시 보안 리스크 관리 필요

핵심 요약

  • s3:GetObject 액션 허용

AWS S3 버킷 정책에서 s3:GetObject 액션을 모든 사용자(*)에게 허용하여 공개 읽기 권한 부여

  • 리소스 ARN 패턴

"arn:aws:s3:::Bucket-Name/*" 형식으로 모든 객체에 적용

  • 보안 고려사항

Principal: "*", Effect: "Allow" 설정은 보안 위험 요소로 주의 필요

섹션별 세부 요약

1. 정책 생성 목적

  • 공개 읽기 권한 설정

외부 사용자가 S3 버킷 내 파일을 읽을 수 있도록 허용

  • 정책 적용 범위

특정 버킷(Bucket-Name) 내 모든 객체(/*)에 적용

2. 정책 구조 예시

  • 버전 지정

"Version": "2012-10-17" AWS IAM 정책 표준 버전 적용

  • 정책 문(statement)

```json

{

"Sid": "PublicReadGetObject",

"Effect": "Allow",

"Principal": "*",

"Action": ["s3:GetObject"],

"Resource": ["arn:aws:s3:::Bucket-Name/*"]

}

```

  • 주요 매개변수

- Effect: 권한 허용 여부(Allow)

- Principal: 적용 대상(* = 모든 사용자)

- Action: 허용할 액션(s3:GetObject)

3. 보안 설정 고려사항

  • 공개 액세스 리스크

Principal: "*", Effect: "Allow" 설정은 보안 취약점 유발 가능

  • 대체 권장 사항

- 특정 IAM 역할(arn:aws:iam::account-id:role/role-name) 대상 지정

- Effect: "Deny" + Principal: "AWS" 조합으로 제한적 권한 부여

  • 모니터링 필요성

AWS CloudTrail로 정책 변경 이력 추적 및 S3 액세스 로그 분석

결론

  • 보안 강화 가이드라인

- 공개 읽기 권한은 iam:PassRole 정책과 결합하여 제한적 사용

- Bucket-Name을 실제 버킷 이름으로 교체 후 적용

- AWS WAF 및 S3 Block Public Access 설정으로 보안 강화 권장