목표
- link-replica 버킷은 특정 인스턴스(A 서버)에서 Read-Only로만 접근 가능. 그 외 모든 inbound는 차단
- link-replica 버킷은 특정 IP에서만 버킷 정책 변경, 객체 삭제 가능. 그 외 모든 IP에서는 불가
설정 방법
1. S3 Bucket 생성
2. S3 bucket과 동일한 리전 선택> VPC> 엔드포인트> 엔드포인트 생성> AWS 서비스> s3 Gateway 선택> 그 외 기본값 설정 후 생성
3. VPC> 보안그룹> 보안 그룹 생성> 아웃바운드 규칙> 대상에서 기본값인 0.0.0.0/0을 삭제하고 pl로 시작하는 AWS s3 서비스에 대한 접두사 목록 ID 추가(둘 중 하나가 s3 서비스)한 후 저장(보안그룹 이름 : S3-AccessOnly)
4. EC2> 해당 인스턴스 선택> 작업> 보안> 보안그룹 변경> 아웃바운드 규칙 편집> default SG를 삭제하고 'S3-AccessOnly' 추가> 저장5. EC2 실행> S3 연결 및 인터넷 접속 불가 확인
5. S3> link-replica 버킷 선택> 권한> 버킷 정책> 편집> 아래와 같이 입력
- SourceVpc : A서버 Security Group에 설정되어 있는 vpc ID 입력
{
"Version": "2012-10-17",
"Id": "Policy1622628198663",
"Statement": [
{
"Sid": "Stmt1622628006817",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::link-replica",
"arn:aws:s3:::link-replica/*"
],
"Condition": {
"StringEquals": {
"aws:SourceVpc": "vpc-8250f4e0"
}
}
},
{
"Sid": "Stmt1622628093734",
"Effect": "Deny",
"Principal": "*",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::link-replica",
"arn:aws:s3:::link-replica/*"
],
"Condition": {
"StringNotEquals": {
"aws:SourceVpc": "vpc-8250f4e0"
}
}
},
{
"Sid": "Stmt1622628197712",
"Effect": "Deny",
"Principal": "*",
"Action": [
"s3:DeleteObject",
"s3:GetObjectAcl",
"s3:ListBucket",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::link-replica",
"arn:aws:s3:::link-replica/*"
],
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"1.1.1.1"
]
}
}
}
]
}
* 참고 : https://docs.aws.amazon.com/ko_kr/vpc/latest/privatelink/vpce-gateway.html
게이트웨이 VPC 엔드포인트 - Amazon Virtual Private Cloud
[Policy] 탭에는 엔드포인트 정책만 표시됩니다. 엔드포인트 작업 권한이 있는 IAM 사용자의 IAM 정책 관련 정보는 표시되지 않습니다. 또한 S3 버킷 정책과 같은 서비스별 정책도 표시되지 않습니다
docs.aws.amazon.com
버킷 정책 예제 - Amazon Simple Storage Service
이 정책을 사용하기 전에 이 예제의 IP 주소 범위를 사용 사례에 적합한 값으로 바꾸십시오. 그렇지 않으면 버킷에 액세스할 수 없습니다.
docs.aws.amazon.com
'AWS 관련' 카테고리의 다른 글
[Day 317] AWS Transit Gateway (0) | 2021.06.22 |
---|---|
[Day 309] AWS CDK (0) | 2021.06.14 |
[Day 299] 특정 인스턴스 - S3 외 모든 Outbound 차단 설정 (0) | 2021.06.04 |
[Day 298] AWS S3 - Source IP 기반으로 접근권한 제한 (0) | 2021.06.03 |
[Day 297] S3 복제 설정 (0) | 2021.06.02 |