[AWS] S3 보안 정책

비전·2025년 1월 10일
0

AWS 실습

목록 보기
45/54

Amazon S3는 다양한 서비스와 통합되어 데이터를 저장하고 관리할 수 있으며, 액세스 제어를 통해 안전하게 보호할 수 있습니다. 보안은 사용자 기반과 리소스 기반 보안으로 나눌 수 있습니다.

1. S3 보안

1. 사용자 기반 보안(IAM Policies)

  • IAM 정책을 사용하여 특정 API 호출을 허용하거나 거부할 수 있습니다.
  • 권한은 Allow 또는 Deny로 설정하고, 특정 사용자에 대해 적용됩니다.

2. 리소스 기반 보안

  • 버킷 정책: 버킷과 객체에 대한 액세스를 제어하는 JSON 기반 정책입니다. 예를 들어, 다른 - 계정에 대한 액세스 허용, 객체 암호화 강제 등을 설정할 수 있습니다.
  • 객체 ACL: 객체에 대해 세밀한 권한 설정이 가능하지만, 비활성화할 수 있습니다.
  • 버킷 ACL: 덜 사용되며, 버킷 전체에 대한 액세스를 제어합니다.

3. 액세스 조건

IAM 권한이나 리소스 정책이 Allow 하거나, Deny가 없는 경우에만 액세스가 가능합니다.

4. 데이터 암호화

S3는 객체를 암호화할 수 있으며, 암호화 키를 사용해 데이터를 보호할 수 있습니다. 버킷 정책을 통해 암호화 여부를 강제할 수 있습니다.


2. S3 버킷 정책

S3 버킷 정책은 JSON 형식으로 작성되며, 특정 리소스에 대한 액세스를 제어하는 데 사용됩니다. 주요 구성 요소는 다음과 같습니다

다음 사진은 JSON 형식의 버킷정책 예시입니다.

  • 리소스: 정책이 적용되는 리소스는 버킷과 객체입니다.
  • Effect: Allow 또는 Deny로 액세스를 허용하거나 거부합니다.
  • Actions: 허용하거나 거부할 API 호출을 설정합니다.
  • Principal: 정책이 적용될 계정 또는 사용자를 지정합니다.

S3 버킷 정책 활용 사례

  • 공용 액세스 허용: 버킷에 대해 공개 액세스를 허용할 수 있습니다.
  • 업로드 시 객체 암호화 강제: 객체 업로드 시 반드시 암호화되도록 강제할 수 있습니다.
  • 다른 계정에 대한 액세스 허용: 크로스 계정 액세스를 설정하여 다른 AWS 계정에 액세스를 허용할 수 있습니다.
profile
아는 만큼 보인다

0개의 댓글