第 1 步:用戶 1 創建了測驗桶并上傳了幾個檔案
第 2 步:創建以下策略并將其附加到存盤桶
{
"Version":"2012-10-17",
"Id":"policy example",
"Statement":
[
{
"Effect":"Allow",
"Principal":"*",
"Action":["s3:List*","s3:Get*","s3:Put*"],
"Resource":"arn:aws:s3:::*"
}
]
}
第 3 步:用戶 1 使用s3cmd ls并能夠看到存盤桶
第 4 步:用戶 2 使用s3cmd ls并且看不到存盤桶
第 5 步:用戶 2 使用s3cmd ls s3://test-bucket并能夠看到存盤桶內容
問題:有什么方法可以定義存盤桶上的策略/訪問權限,以便 User2 能夠看到存盤桶(如步驟 4 中所述)?
非常感謝提前
uj5u.com熱心網友回復:
如果兩個 IAM 用戶在同一個 AWS 賬戶中
該s3cmd ls命令將列出 AWS Account 中的所有存盤桶。它使用s3:ListAllMyBuckets權限。存盤桶策略不會授予運行此命令的權限,因為它列出了所有存盤桶。
如果您想授予使用權限s3cmd ls,請將此權限添加到 IAM 用戶:
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action": "s3:ListAllMyBuckets",
"Resource":"*"
}
]
}
如果 IAM 用戶位于不同的AWS 賬戶中
當不同 AWS 賬戶中的用戶列出存盤桶時,不可能出現。test-bucket這是因為該s3cmd ls命令列出了當前用戶的 AWS 賬戶中的所有存盤桶。如果存盤桶是在其他賬戶中創建的,則不會列出。
還有一個警告...
您顯示的存盤桶策略非常不安全。它允許世界上的任何人:
- 列出桶的內容
- 將檔案上傳到存盤桶
- 從存盤桶下載檔案
例如,他們可以上傳盜版電影,然后邀請其他人下載檔案。您將被收取所涉及的資料傳輸費用。
授予s3:List*或s3:Put*許可*(這意味著任何人和每個人!)很少是一個好主意。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/440568.html
標籤:亚马逊网络服务 亚马逊-s3 aws-cli 头孢 s3cmd
上一篇:C#-4 方法
