S3 정적 웹사이트 IP 접근 제한 방법

S3를 정적 웹사이트 제공하는 서비스로 사용할 때 IP를 접근 제한하는 방법이다.

‍

해당 웹사이트를 예컨대 회사 내부용으로만 쓴다던지 할 경우 특정 IP를 넣어서 접근을 제한할 수 있다.

‍

1. IP 접근 허용 정책

S3의 버킷 정책에 다음과 같이 정책을 넣는다.

‍

이 경우 1.1.1.1과 8.8.8.8, 10.10.10.0/24 IP에서만 접근이 가능하게 된다.

‍

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::homepage-test/*", "Condition": { "IpAddress": { "aws:SourceIp": [ "1.1.1.1", "8.8.8.8", "10.10.10.0/24" ] } } } ] }

‍

S3 버킷 정책은 묵시적인 거부 정책이기 때문에 허용 IP만 넣어줘도 그 IP외에 다른 IP로 부터의 접근을 차단된다.

‍

만약 명시적으로 거부 정책을 넣고 싶다면 다음과 같은 식으로 버킷 정책을 넣는다.

‍

2. 해당 IP가 아니면 차단

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IPAllow", "Effect": "Deny", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::homepage-test/*", "Condition": { "NotIpAddress": { "aws:SourceIp": [ "1.1.1.1", "8.8.8.8", "10.10.10.0/24" ] } } }, { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::homepage-test/*" } ] }

  • IP 접근 허용 정책

  • 해당 IP가 아니면 차단

관련 키워드
클라우드
보안
클라우드보안
관련 키워드
클라우드
보안
클라우드보안
관련 콘텐츠