如何保護我的 Amazon S3 儲存庫中的檔案?
2 分的閱讀內容
0
我想限制對我的 Amazon Simple Storage Service (Amazon S3) 資源的許可,並監控對這些資源的存取。
簡短描述
若要確保檔案和 Amazon S3 儲存貯體安全無虞,請遵循以下最佳做法:
- **限制對 S3 資源的存取:**使用 AWS 時,請限制對資源的存取,僅提供給絕對需要的人員。遵循最低權限原則。
- **監控您的 S3 資源:**使用 AWS CloudTrail 日志、S3 伺服器存取記錄、AWS Config、AWS Identity and Access Management (IAM) 存取分析器、Amazon Macie、Amazon CloudWatch 或 AWS Trusted Advisor 的 S3 儲存貯體權限檢查監控您的資源。
- **使用加密保護您的資料:**Amazon S3 支援傳輸期間加密、伺服器端加密 (SSE) 和用戶端加密。
解決方法
限制對 S3 資源的存取
預設情況下,所有 S3 儲存貯體都是私有的,只有獲得明確授予存取權的使用者才能存取。
透過執行下列動作,限制對 S3 儲存貯體或對象的存取:
- 撰寫 IAM 使用者政策,以指定可存取特定儲存貯體和對象的使用者。IAM 政策提供程式設計方式,可管理多個使用者的 Amazon S3 許可。如需有關建立和測試使用者政策的詳細資訊,請參閱 AWS 政策產生器和 IAM 政策模擬器。
- 撰寫儲存貯體政策,以定義對特定儲存貯體和物件的存取。您可以使用儲存貯體政策授予跨 AWS 帳戶的存取權限、授予公開或匿名許可,並根據條件允許或封鎖存取。如需有關建立和測試儲存貯體政策的詳細資訊,請參閱 AWS 政策產生器。
**注意:**您可以在儲存貯體政策中使用拒絕陳述式,限制特定 IAM 使用者的存取權限。即使已在 IAM 政策中授予使用者存取權,您也可以限制存取。 - 使用 Amazon S3 封鎖公開存取集中限制公開存取。封鎖公開存取設定會覆寫儲存貯體政策和對象許可。請務必為您不希望允許公開存取的所有帳戶和儲存貯體啟用封鎖公開存取。
- 在儲存貯體和對象上設定存取控制清單 (ACL)。
**注意:**如果您需要以程式設計方式管理許可,請使用 IAM 政策或儲存貯體政策,而不是 ACL。但是,當儲存貯體政策超過 20 KB 檔案大小上限時,您可以使用 ACL。或者,您也可以使用 ACL 授予對 Amazon S3 伺服器存取日誌或 Amazon CloudFront 日誌的存取權。
使用 ACL 保護資源安全時,請考慮下列最佳做法:
- 請務必檢閱允許在儲存貯體或物件上執行 Amazon S3 動作的 ACL 許可。如需 ACL 許可及其允許動作清單,請參閱我可以授予哪些權限?
- 嚴格限制獲得讀取和寫入存取權限的人員。
- 向 Everyone 群組授予讀取權限前,請仔細考量您的使用案例,因為這將允許任何人存取該儲存貯體或物件。
- 絕對不要向 Everyone 群組授予寫入權限。此設定會允許任何人將物件新增至您的儲存貯體,然後由您支付費用。此設定也可會允許任何人刪除儲存貯體中的對象。
- 絕對不要向任何經過身分驗證的 AWS 使用者群組授予寫入存取權限。此群組包含具備作用中 AWS 帳戶的任何人,不只是您帳戶中的 IAM 使用者。若要控制您帳戶中 IAM 使用者的存取權限,請改用 IAM 政策。如需 Amazon S3 如何評估 IAM 政策的詳細資訊,請參閱 Amazon S3 如何授權請求。
除了使用政策、封鎖公開存取和 ACL 之外,您也可以透過下列方式限制特定動作的存取權:
- 啟用 MFA 刪除,這會要求使用者在刪除物件或停用儲存貯體版本控制前,先使用多重要素驗證 (MFA) 裝置進行身分驗證。
- 設定 MFA 保護的 API 存取,這要求使用者在呼叫特定 Amazon S3 API 操作前,先使用 AWS MFA 裝置進行身分驗證。
- 如果您暫時與其他使用者共用 S3 對象,請建立預先簽章的 URL 以授予對該對象的限時存取權。如需詳細資訊,請參閱使用預先簽章的 URL 共用對象。
監控您的 S3 資源
您可以使用下列方式啟用日誌和監控 S3 資源:
- 設定 AWS CloudTrail 日誌。預設情況下,CloudTrail 只會追蹤儲存貯體層級的動作。若要追蹤物件層級動作 (例如 GetObject),請啟用 Amazon S3 資料事件。
- 啟用 Amazon S3 伺服器存取日誌記錄。如需檢閱這些日誌的詳細資訊,請參閱 Amazon S3 伺服器存取日誌格式。
- 使用 AWS Config 監控儲存貯體 ACL 和儲存貯體政策,確認是否存在允許公開讀取或寫入存取的違規。如需詳細資訊,請參閱 s3-bucket-public-read-prohibited 和 s3-bucket-public-write-prohibited。
- 使用 AWS IAM Access Analyzer 協助您檢閱授權存取其他 AWS 帳戶中 S3 資源的儲存貯體或 IAM 政策。
- 使用 Amazon Macie 自動識別儲存在儲存貯體中的敏感資料、對儲存貯體的廣泛存取權,以及帳戶中未加密的儲存貯體。
- 將 CloudTrail 與 CloudWatch 或 AWS Lambda 等其他服務搭配使用,進而在對您的 S3 資源執行特定動作時叫用特定程序。如需詳細資訊,請參閱使用 CloudWatch 事件記錄 Amazon S3 對象層級操作。
- 如果您有業務支援計劃或企業支援計劃,您可以使用 AWS Trusted Advisor 的 S3 儲存貯體許可檢查。此檢查會通知您具備公開存取權的儲存貯體。
**注意:**此 Trusted Advisor 檢查不會監控會覆寫儲存貯體 ACL 的儲存貯體政策。
使用加密保護資料
如果您的使用案例需要在傳輸期間加密,Amazon S3 支援 HTTPS 通訊協定,可對往返 Amazon S3 的傳輸中的資料進行加密。預設情況下,所有 AWS SDK 和 AWS 工具都使用 HTTPS。
**注意:**如果使用第三方工具與 Amazon S3 互動,請聯絡開發人員以確認其工具是否也支援 HTTPS 通訊協定。
如果您的使用案例需要對靜態資料進行加密,Amazon S3 提供伺服器端加密 (SSE)。SSE 選項包括 SSE-S3、SSE-KMS 或 SSE-C。您可以在將物件寫入儲存貯體時指定 SSE 參數。您也可以啟用儲存貯體的預設 SSE-S3 或 SSE-KMS 加密。
如果您的使用案例需要用戶端加密,請參閱使用用戶端加密保護資料。
相關資訊
沒有評論
相關內容
- 已提問 5 個月前lg...
- 已提問 3 個月前lg...
- 已提問 2 個月前lg...
- 已提問 2 個月前lg...
- 已提問 10 個月前lg...
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 10 個月前