[reinvent 2025] Amazon S3 보안 및 액세스 제어 모범 사례
Summary
본 세션에서는 데이터 보안 전략 수립을 위해 Amazon S3를 기반으로 한 스토리지 보안 및 세부 접근 제어 방안을 소개합니다. S3의 접근 제어, 암호화 , 태그 기반 제어 등 최신 기능과 사용성 향상 내용을 다루며 실무에서 활용 가능한 데이터 보안 및 접근 관리 모범 사례를 제공합니다.
리인벤트 2025 테크 블로그의 더 많은 글이 보고 싶다면?
Overview
들어가며
이번 세션을 통해 S3 데이터를 안전하게 운영하고, 정책 변경과 조직 단위 접근 관리, 태그 기반 권한 분리 등 실질적인 워크플로우를 개선할 수 있는 구체적인 전략과 AWS 도구 활용법에 대한 방법을 알 수 있을 것 입니다.
Block public access to your data

Enable bucket-level encryption keys

S3에서는 보안을 훼손하지 않으면서 효율적으로 데이터를 운영할 수 있도록 버킷 수준의 키를 제공합니다. 수백만, 수십억 개 객체가 저장된 환경에서는 KMS 요청 비용이 급격히 늘어날 수 있습니다. Bucket 키를 사용하면 중간 키를 활용하여 객체 암호화에 사용되는 데이터 키를 KMS로 복호화할 수 있으며, 규정 준수가 필요한 경우 KMS 접근을 백업으로 활용할 수 있습니다. 일반적인 경우, 정책에 버튼 하나만 추가해도 KMS 요청 비용을 크게 줄일 수 있으며, 신규 객체에는 자동으로 적용됩니다.
Divide and conquer to scale up
1. S3 Access points

대규모 환경에서 수백만 명의 사용자와 수천 개 애플리케이션을 관리하려면 접근을 효율적으로 확장해야 합니다. S3 Access Points는 사용하는 케이스별로 엔드포인트를 버킷 앞에 배치하여, 하나의 버킷을 여러 Access Point로 나눠 운영할 수 있게 해줍니다.
각 Access Point는 별도의 접근 제어 정책을 가지므로, 공유 리소스를 독립적으로 활용할 수 있습니다. 이를 통해 버킷과 스토리지 접근을 분리하고, 조직적으로 확장할 수 있습니다.
2. S3 Access Grants

3. ABAC: Attribute-Based Access Control


*ABAC : AWS는 최근 S3에 태그 기반 리소스 정책(tag-based resource policies) 기능을 추가했습니다. 이제 S3 버킷, 객체, 관련 리소스에 태그를 지정하고, 해당 태그에 적용되는 정책을 작성할 수 있습니다. 이는 기존에 비용 할당(cost allocation) 용도로 사용하던 태그와도 호환되며, 대규모 환경에서 리소스를 보다 효율적이고 일관성 있게 관리할 수 있도록 합니다.
Test your security changes on a model

개발 과정에서 가장 흔한 문제는 버킷 정책 변경으로 애플리케이션이 다운되는 경우입니다. 정책 변경을 적용하기 전에 반드시 실제 프로덕션 환경과 동일하게 구성된 환경에서 테스트하는 것이 중요합니다. 동일한 버킷, 복제 설정, 라이프사이클 규칙, 배포 환경을 사용하고, 정책 적용 전에는 긍정 케이스와 부정 케이스 모두를 테스트해야 합니다. 이렇게 하면 서비스 신뢰성을 확보하고, 정책 변경으로 인한 장애나 오류를 방지할 수 있습니다.
Simplify security with AWS Organizations

AWS Organizations를 활용하면 멀티 계정 환경에서 조직 단위 단위로 정책을 적용할 수 있으며, 중앙에서 정책을 관리할 수 있습니다. 각 OU에는 Service Control Policy(SCP)가 적용되며, 해당 OU의 모든 계정 리소스에 영향을 미칩니다. S3는 최근 더 세분화된 오류 메시지를 제공하며, OU 단위에서 Block Public Access 설정도 가능합니다. 이는 미디어 및 보안 관리의 핵심 기능입니다.


