0
A
回答
2
有幾種不同的方式授予訪問Amazon S3存儲數據:
- 權限的各個對象自身是允許訪問整個桶或目錄 (灰心)
- 桶政策
- IAM用戶策略授予特定IAM用戶/組的權限
- 預先簽名即授予對象暫時的,有時間限制的訪問(好程序批准通過應用訪問)的URL
你的用例將適合Bucket Policies。
您可以授予訪問整個亞馬遜S3存儲有這樣的政策:
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AddPerm",
"Effect":"Allow",
"Principal": "*",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::examplebucket/*"]
}
]
}
可以基於一個範圍內的IP 授予訪問地址這樣的:
{
"Version": "2012-10-17",
"Id": "S3PolicyId1",
"Statement": [
{
"Sid": "IPAllow",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::examplebucket/*",
"Condition": {
"IpAddress": {"aws:SourceIp": "54.240.143.0/24"},
"NotIpAddress": {"aws:SourceIp": "54.240.143.188/32"}
}
}
]
}
您的情況下,您希望「允許公開讀取我的S3存儲桶,除了2個文件夾」稍微難一些,因爲它是「除了」用例以外的所有內容。
選項1:特定文件夾
- 格蘭特公共訪問特定的文件夾,以及
- 格蘭特限制地訪問特定的文件夾
例如:
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AddPerm",
"Effect":"Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource":["arn:aws:s3:::examplebucket/folder1/*",
"arn:aws:s3:::examplebucket/folder2/*"]
},
{
"Sid": "IPAllow",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": ["arn:aws:s3:::examplebucket/folder3/*",
"arn:aws:s3:::examplebucket/folder4/*"],
"Condition": {
"IpAddress": {"aws:SourceIp": "54.240.143.0/24"}
}
]
}
但是,這要求你特別列出每個文件夾。
選項2:所有除...
在這個規則中,您授予公共訪問,但後來拒絕某些文件夾,如果他們不從正確的IP範圍:
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AddPerm",
"Effect":"Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource":["arn:aws:s3:::examplebucket/*"]
},
{
"Sid": "IPAllow",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": ["arn:aws:s3:::examplebucket/folder3/*",
"arn:aws:s3:::examplebucket/folder4/*"],
"Condition": {
"NotIpAddress": {"aws:SourceIp": "54.240.143.0/24"}
}
]
}
注使用Deny
與NotIpAddress
,這表示如果請求不是來自定義的IP地址範圍,則訪問被拒絕。
然而,DENY
覆蓋ALLOW
,所以這也意味着你將不能,除非你來自那個範圍內的IP訪問限制桶地址 - 即使你的IAM用戶已明確授予的權限ALLOW
這樣做。例如,如果您是在S3中具有所有權限的管理員,那麼如果您來自給定的IP範圍,則您仍將被拒絕訪問受限制的文件夾。因此,它可能對你來說太嚴格了,因爲它會影響所有使用情況,即使通過控制檯/ API進行訪問也是如此。
相關問題
- 1. 限制用戶使用Amazon IAM訪問單個S3存儲桶?
- 2. 如何訪問cloudfront到s3存儲桶對象簡單網址
- 3. 如何限制S3存儲桶到特定的IAM用戶只能通過API令牌訪問它
- 4. 如何限制在S3桶
- 5. 訪問IAM角色S3存儲桶圖像通過亞馬遜S3 sdk for javascript
- 6. AWS S3 - 如何將IAM用戶限制爲單個存儲桶?
- 7. 限制xulrunner網絡訪問
- 8. 無法使用Zend S3訪問存儲桶S3.php
- 9. Amazon S3:授予來自IP的匿名訪問(通過存儲桶策略)
- 10. 如何通過System.DirectoryServices訪問Novell網絡?
- 11. 如何通過網絡訪問文件
- 12. 限制插件通過appdomain訪問文件系統和網絡
- 13. sql 2005 - 限制通過存儲過程訪問的策略
- 14. 更快的s3存儲桶複製
- 15. 如何存儲和訪問經過訓練的神經網絡
- 16. Amazon AWS S3存儲桶通知權限更改
- 17. 僅適用於公共限制的Amazon S3存儲桶策略
- 18. 如何將Amazon S3存儲桶權限設置爲IAM用戶?
- 19. 如何撤銷Amazon S3存儲桶中的公共權限
- 20. 將對s3存儲桶的訪問僅限於特定的ec2實例
- 21. 上傳到S3存儲桶
- 22. Amazon S3存儲桶策略
- 23. 的NodeJS LAMBDA S3存儲桶
- 24. 權限爲s3時針對S3存儲桶的ListObjects的AccessDenied:*
- 25. S3:存儲桶不能被其root帳戶訪問?
- 26. 訪問由其他用戶創建的S3存儲桶
- 27. 亞馬遜S3 - 從nodejs SDK訪問存儲桶
- 28. ERR_INSECURE_RESPONSE訪問s3存儲桶中的文件
- 29. 配置用戶和IP的S3存儲桶訪問
- 30. 亞馬遜S3存儲桶對象訪問
非常感謝你!這正是我需要的。所以不可能根據網絡進行限制? –
「按照網絡」是什麼意思?對我而言,這意味着一個IP地址範圍。你的定義是什麼? –
我的意思是ISP。指定ISP比IP地址範圍更容易。 –