그래서 .. http를 통해 응용 프로그램 서버에 일부 파일을 제공하려는 Amazon S3 버킷이 있습니다. 이를 위해 특정 사용자 에이전트 세트를 설정하고 IP 제한을 설정합니다. 여기 Amazon S3 버킷 정책 - 사용 에이전트 별 필터링
내가 을 한 일입니다A) 버킷 설정)
B "내 테스트 버킷"라는 새로운 버킷 "호스팅 웹 사이트를 사용"으로 만든
C) 추가 간단한)
D 버킷에 index.html을 지 인터넷에 활짝 열려 연결()
{
"Version": "2008-10-17",
"Id": "S3PolicyId1",
"Statement": [
{
"Sid": "Public",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-test-bucket/*"
}
]
}
을 테스트하기 위해 다음과 같은 버킷 정책을 설정합니다
d) 테스트를 마쳤습니다!
e)는 헤더에 사용자 에이전트를 설정하는 우체부를 사용하여 테스트 사용자 에이전트
{
"Version": "2008-10-17",
"Id": "S3PolicyId1",
"Statement": [
{
"Sid": "Public",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-test-bucket/*",
"Condition": {
"StringEquals": {
"aws:UserAgent": "test"
}
}
}
]
}
F) 및
지금 이상한 일이없는 이동을 제한하기 위해 버킷 정책을 설정합니다 .. 다른 양동이에 비슷한 양동이 정책을 사용했는데 효과적입니다. 내가 여기서 잘못하고있는 것에 대한 아이디어가 있습니까?
PS는 ..이 작동되면 그 다음
UserAgent를 기반으로 한 액세스 제한은 특히 안전하지 않습니다. 이는 보안이 보장되지 않습니다. 대신 서명 된 URL을 사용하거나 인증되지 않은 액세스를 사용하는 대신 S3 API를 직접 호출 하시겠습니까? –
캐싱 목적으로 NGINX를 통해 S3에 저장된 웹 컨텐트를 프록시 처리하여 API를 사용하지 않는 것이 좋습니다. 내가 볼 수있는 것으로부터 서명 된 UR에 대해서는 일반적으로 읽기 액세스가 아닌 콘텐츠 업로드에 사용됩니다. –