s3 버킷을 간단한 웹 호스트로 사용하려고하지만 필요한 보안 컨트롤을 레이어링 할 수있는 리버스 프록시 뒤에 배치하려고합니다.AWS 리버스 프록시 용 버킷 정책
s3 웹 액세스를 제한하고자하는 역방향 프록시와 관련된 IP 주소가 있습니다. 버킷 정책에서 IP 기반 제한을 적용 할 경우 계정에서 관리 상호 작용을 차단하는 것이 매우 어려워 보입니다.
콘솔/IAM 사용자/페더레이션 역할을 통해 계정 내에서 액세스를 방해하지 않고 리버스 프록시와 관련된 IP에 대해서만 s3 사이트에 대한 http 액세스를 허용하고 싶습니다.
웹 액세스를 활성화하는 데 필요한 AWS 설명서에이 정책 설명이 필요하다는 것을 보여주기 때문에 시작에 포함 시켰습니다.
{
"Id": "S3_Policy",
"Statement": [
{
"Sid": "AllowWebAccess",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::mybucket/*"
]
}
]
}
그런 다음 웹 트래픽을 특정 IP 집합으로 제한하여이 문을 추가했습니다.
{
"Id": "S3_Policy",
"Statement": [
{
"Sid": "AllowWebAccess",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::mybucket/*"
]
},
{
"Sid": "DenyNonProxyWebAccess",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::mybucket/*",
"arn:aws:s3:::mybucket"
],
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"99.99.99.1/32",
"99.99.99.2/32",
"99.99.99.3/32",
"99.99.99.4/32",
"99.99.99.5/32"
]
}
}
}
]
}
이 거부 정책은 IAM 사용자와 내 계정 내부에서 액세스 할 수있는 나의 능력을 차단 의도하지 않은 결과를 가지고 또는 연합의 역할을 가정, 그래서 명시 적으로 그 자원을 허용 추가했습니다. 가능하다면 담요에 "계좌"를 허용하고 싶습니다. 그로 인해이 정책이 나에게 남을뿐입니다. 그리고 나는 그것을 어떻게하면 좋을지 모르는 것처럼 보입니다. 내 사용자로 관리하거나 프록시에서 웹 콘텐츠에 액세스 할 수없는 것 같습니다.
{
"Id": "S3_Policy",
"Statement": [
{
"Sid": "AllowWebAccess",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::mybucket/*"
]
},
{
"Sid": "DenyNonProxyWebAccess",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::mybucket/*",
"arn:aws:s3:::mybucket"
],
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"99.99.99.1/32",
"99.99.99.2/32",
"99.99.99.3/32",
"99.99.99.4/32",
"99.99.99.5/32"
]
}
}
},
{
"Sid": "AllowAccountUsersAccess",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:IAM::999999999999:user/[email protected]",
"arn:aws:IAM::999999999999:user/[email protected]",
"999999999999"
]
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::mybucket/*",
"arn:aws:s3:::my bucket"
]
}
]
}
S3 버킷 계정에서 버킷 자체를 관리 할 수있는 기능을 방해하지 않고 IP는 웹 액세스 범위 만 선택할 수 제한 정적 웹 호스트가 될이 할 수있는 방법이 있나요?