2017-01-06 1 views
1

정적 웹 사이트를 호스팅하는 데 사용되는 S3 버킷이 있습니다. This example은 (즉, 웹 사이트를 공개하고) 지정된 버킷의 개체에 모두 액세스 권한을 부여하는 정책을 보여줍니다호스팅 된 정적 웹 사이트의 S3 버킷 정책

{ 
    "Version":"2012-10-17", 
    "Statement":[{ 
    "Sid":"PublicReadGetObject", 
    "Effect":"Allow", 
    "Principal": "*", 
    "Action":["s3:GetObject"], 
    "Resource":["arn:aws:s3:::example-bucket/*"] 
    }] 
} 

는 그러나, 나는 특정 아마존 사용자가 웹 사이트에 액세스 할 수 있도록하고자합니다. 그래서 this documentation 다음, 나는 Principal에서 이러한 사용자 지정

{ 
    "Version":"2012-10-17", 
    "Statement":[{ 
    "Sid":"PublicReadGetObject", 
    "Effect":"Allow", 
    "Principal": { 
     "AWS": "arn:aws:iam::Account-ID:user/Dave" 
    }, 
    "Action":["s3:GetObject"], 
    "Resource":["arn:aws:s3:::example-bucket/*"] 
    }] 
} 

을이 올바르게 S3 콘솔을 통해 리소스에 액세스 할 수있는 권한을 수 있지만, 그것은 호스팅 된 웹 사이트에 액세스하려고 모두에 대한 (403)을 초래한다.

호스트 된 버킷에 대한 액세스를 제한하는 사용자 수준 권한을 가질 수 있습니까?

답변

2

아니요, S3의 정적 웹 사이트 버킷에 사용자 수준 권한을 적용 할 수 없습니다. Permissions Required for Website Access :

버킷을 웹 사이트로 구성 할 때 제공 할 개체를 공개적으로 읽을 수 있도록 설정해야합니다.