2017-06-13 109 views
-1

我創建了一個Amazon S3存儲桶,我想爲所有公司用戶提供訪問權限,這意味着任何人都可以訪問S3存儲桶並下載對象。S3沒有檢測到存儲桶策略

我寫了一個桶政策IP限制:

{ 
    "Version": "2012-10-17", 
    "Id": "S3PolicyIPRestrict", 
    "Statement": [ 
    { 
     "Sid": "IPAllow", 
     "Effect": "Allow", 
     "Principal": "", 
     "Action": "s3:GetObject", 
     "Resource": "arn:aws:s3:::mybucket/*", 
     "Condition": { 
     "IpAddress": { 
      "aws:SourceIp": [ 
      "10.0.8.10" 
      ] 
     } 
     } 
    } 
    ] 
} 

當我添加ACL權限爲大家「讀」,則只有我能夠訪問該對象。但桶政策不適用。任何人都可以從網絡外部訪問。我做錯了什麼?

+0

歡迎來到StackOverflow!你能否請編輯你的問題,並告訴我們你的桶策略(隨時更改IP地址)。此外,請提供有關*您的用戶如何訪問存儲桶的詳細信息 - 是通過Web瀏覽器中的匿名URL,通過AWS管理控制檯,[AWS命令行界面(CLI)](http:// aws.amazon.com/cli/)等?您可以提供的信息越多,獲得有用答案的機會就越大。 –

+0

{ 「版本」: 「2012年10月17日」, 「ID」: 「S3PolicyIPRestrict」, 「聲明」:[{ 「SID」: 「IPAllow」, 「效果」: 「允許」, 「Principal」:「*」, 「Action」:「s3:GetObject」, 「Resource」:「arn:aws:s3 ::: insight.application.log-464413482301-us-east-1/*」 , 「條件」:{ 「Ip地址」:{ 「AWS:SOURCEIP」:[ 「10.0.8.10」, ] } } } ] } –

+0

這個政策即時通訊使用..我想確保..每個人都可以訪問,但內部企業網絡.. tats yi使用IP限制 –

回答

0

您的存儲桶策略授予源IP地址爲10.0.8.10的權限。這是一個專用IP地址

但是,亞馬遜S3是一個坐在互聯網上的公共服務。訪問Amazon S3時,請求會通過Internet(或至少通過Internet的AWS邊緣)發送,您的請求似乎來自公共IP地址。因此,該政策不允許訪問,因爲您的地址與政策中的地址不符。

您應該更改策略以使用公司訪問Internet時使用的公共IP地址。你可以通過http://checkip.amazonaws.com發現這個地址。另外,如果您通過存儲桶策略授予訪問權限,則應該通過ACL訪問而不是授予訪問權限。

相關問題