Amazon S3 버킷 정책 예시와 적용 방법
Amazon S3에서 버킷을 보호하고 제어하는 방법은 여러 가지가 있지만, 그 중에서도 버킷 정책을 활용한 방법은 매우 중요한 보안 설정입니다. 여기서는 S3 버킷 정책을 사용하여 특정 조건에 따라 접근을 제어하는 방법에 대해 설명합니다. 특히 시험에서 자주 다루어질 수 있는 몇 가지 중요한 버킷 정책을 소개하겠습니다.
1. HTTPS 강제 암호화
목표: 전송 중인 데이터의 보안을 보장하기 위해 HTTPS를 사용하도록 강제하는 정책을 설정합니다.
설정 방법: 버킷 정책을 통해 SecureTransport 조건을 설정하여 HTTPS를 사용하지 않는 요청을 차단할 수 있습니다. 이 설정을 사용하면 HTTP 요청은 거부되고, HTTPS 요청만 허용됩니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyNonHttpsRequests",
"Effect": "Deny",
"Action": "s3:*",
"Resource": "arn:aws:s3:::your-bucket-name/*",
"Condition": {
"Bool": {
"aws:SecureTransport": "false"
}
}
}
]
}
2. 공용 IP 주소로 접근 제한
목표: 특정 IP 주소에서만 S3 버킷에 접근할 수 있도록 제한하는 정책을 설정합니다.
설정 방법: CIDR 범위로 지정된 IP 주소에서만 S3 버킷에 접근할 수 있도록 허용합니다. 예를 들어, 회사의 네트워크에서만 접근을 허용하는 경우입니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowCorporateAccess",
"Effect": "Allow",
"Action": "s3:*",
"Resource": "arn:aws:s3:::your-bucket-name/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "203.0.113.0/24"
}
}
}
]
}
3. 특정 사용자 ID로 접근 제한
목표: 특정 AWS 계정이나 사용자만 S3 버킷에 접근할 수 있도록 제한하는 정책을 설정합니다.
설정 방법: AWS 사용자 ID 태그를 사용하여 특정 사용자나 계정 ID에 대해서만 접근을 허용합니다. 이를 통해 지정된 사용자만 리소스를 접근할 수 있습니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSpecificUser",
"Effect": "Allow",
"Action": "s3:*",
"Resource": "arn:aws:s3:::your-bucket-name/*",
"Condition": {
"StringEquals": {
"aws:userId": "YOUR_USER_ID"
}
}
}
]
}
결론
이와 같은 버킷 정책을 사용하여 S3 리소스에 대한 접근을 보다 안전하고 세밀하게 제어할 수 있습니다. 각 정책은 특정 조건을 설정하여 악의적인 접근을 차단하고, 필요한 사용자만 접근할 수 있도록 허용합니다. 정책을 설정할 때는 각 조건과 설정이 정확하게 적용되도록 주의해야 하며, AWS에서는 기본적으로 S3 버킷 정책을 설정할 수 있는 다양한 방법을 제공합니다. 이 강의에서 소개한 예시들을 실무에 적용해 보세요.
참고: 각 정책의 Resource와 Action은 자신의 S3 버킷과 사용 환경에 맞게 수정해야 합니다.
'자격증 > AWS Certified Security - Specialty' 카테고리의 다른 글
[AWS SCS] S3 버킷 정책으로 인한 잠금 문제와 해결 방법 (0) | 2024.12.21 |
---|---|
[AWS SCS] S3 - VPC 엔드포인트 전략 (0) | 2024.12.21 |
[AWS SCS] S3 - Cross Account Access and Canned ACL (0) | 2024.12.21 |
[AWS SCS] S3 - 권한 평가 프로세스 (0) | 2024.12.21 |
[AWS SCS] EC2 Instance Metadata - IMDSv1 vs IMDSv2 (1) | 2024.12.21 |