我對 S3 有點陌生,我知道可以通過存盤桶策略或 acl 授予對我的存盤桶/物件的訪問權限。問題是每個物件都可以授予 acl 訪問權限,因此我不清楚如何全面審查誰獲得了訪問權限,甚至對存盤桶中的單個物件也是如此。我的問題是如何從 aws Web 管理控制臺或從 boto3 輕松準確地評估它,以確保我是唯一可以訪問我的存盤桶及其所有物件的人。
uj5u.com熱心網友回復:
這并不容易。
首先,讓我們回顧一下可能授予權限的方式:
- 訪問控制串列 (ACL)是物件級權限,可以授予公共訪問權限或訪問特定用戶的權限。它們是 Amazon S3 早期作業方式的殘余,管理起來可能很煩人。事實上,最近推出了一項允許禁用 ACL的新功能——這正是 AWS 所推薦的!

- 存盤桶策略允許將權限分配給存盤桶或存盤桶內的路徑。這是公開存盤桶的好方法,也是提供對存盤桶的跨賬戶訪問的唯一方法。
- IAM 策略可以應用于 IAM 用戶、IAM 組或 IAM 角色。這些策略可以授予訪問同一賬戶中 Amazon S3 資源的權限。這是將權限分配給特定 IAM 用戶的好方法,而不是通過存盤桶策略進行。
Amazon S3 控制臺允許您使用 Access Analyzer for S3 查看存盤桶訪問:
S3 訪問分析器會提醒您注意配置為允許訪問 Internet 上的任何人或其他 AWS 賬戶(包括組織外部的 AWS 賬戶)的任何人的 S3 存盤桶。對于每個公共或共享存盤桶,您會收到有關公共或共享訪問的來源和級別的調查結果。例如,S3 訪問分析器可能會顯示存盤桶具有通過存盤桶訪問控制串列 (ACL)、存盤桶策略、多區域訪問點策略或訪問點策略提供的讀取或寫入訪問權限。有了這些知識,您可以立即采取精確的糾正措施,將您的存盤桶訪問權限恢復到您想要的狀態。
但是,它不會為您提供誰可以訪問哪些存盤桶的完整串列。
您想“確保您是唯一有權訪問存盤桶的人”——這需要檢查存盤桶策略和所有 IAM 用戶的權限。這樣做沒有捷徑可走。
uj5u.com熱心網友回復:
我認為另一個答案非常詳細地回答了大多數選項。但通常每個存盤桶都包含公共資料、非公共資料或敏感資料。對于任何不應包含公共資料的存盤桶,只需禁用它和 CloudFormation
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucket.html
提到此https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html以限制公共訪問。
此外,存盤桶支持加密,當您允許 KMS 加密時,您還可以通過 KMS 密鑰控制對資料的訪問。對于敏感資料,這是值得考慮的事情。
否則-是的,確實很難確保帳戶中沒有任何策略不允許您帳戶中的任何用戶訪問他們不應訪問的內容。一種方法可能是控制誰可以修改 IAM 策略(iam:* 權限)。還有用于控制策略和查找漏洞的自動工具。僅出于一個目的,創建一個目的也不是那么難。
即使存盤桶是完全私有的,物件也可以通過其他方式公開 - 通常通過 CloudFront。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/428690.html
