選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

Amazon S3 中的政策和許可

焦點模式
Amazon S3 中的政策和許可 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

此頁面提供 Amazon S3 中儲存貯體和使用者政策的概觀,並說明 AWS Identity and Access Management (IAM) 政策的基本元素。您可透過以下每個所列元素的連結,取得該元素的詳細資訊以及使用範例。

如需 Amazon S3 動作、資源和條件索引鍵的完整清單,請參閱服務授權參考中的 Amazon S3 的動作、資源和條件索引鍵

如需依 S3 資源類型列出 S3 API 操作許可的詳細資訊,請參閱Amazon S3 API 操作所需的許可

就其最基本意義而言,政策包含下列元素:

  • Resource – 要套用政策的 Amazon S3 儲存貯體、物件、存取點或作業。使用儲存貯體、物件、存取點或任務的 Amazon Resource Name (ARN) 識別資源。

    儲存貯體層級操作的範例:

    "Resource": "arn:aws:s3:::bucket_name"

    物件層級操作的範例:

    • "Resource": "arn:aws:s3:::bucket_name/*" 代表儲存貯體中的所有物件。

    • "Resource": "arn:aws:s3:::bucket_name/prefix/*" 代表儲存貯體中具有特定字首的物件。

    如需詳細資訊,請參閱Amazon S3 的政策資源

  • Actions – 針對每個資源,Amazon S3 支援一組操作。您可使用動作關鍵字,來識別允許 (或拒絕) 資源操作。

    例如,s3:ListBucket 許可允許使用者使用 Amazon S3 ListObjectsV2 操作 (s3:ListBucket 許可是動作名稱未直接映射到操作名稱的情況)。如需有關使用 Amazon S3 動作的詳細資訊,請參閱 Amazon S3 的政策動作。如需 Amazon S3 動作的完整清單,請參閱 Amazon Simple Storage Service API 參考中的動作

  • Effect – 當使用者請求特定動作時會產生什麼效果,可能是 AllowDeny

    如果您未明確授予存取 (允許) 資源,則隱含地拒絕存取。您也可以明確拒絕存取資源。您可以這樣做以確保使用者無法存取資源,即使不同的原則授予存取權限也一樣。如需詳細資訊,請參閱 IAM 使用者指南中的 IAM JSON 政策元素︰效果

  • Principal – 允許存取陳述式中動作與資源的帳戶或使用者。在儲存貯體政策中,委託人是身為此許可收件人的使用者、帳戶、服務或其他實體。如需詳細資訊,請參閱儲存貯體政策的主體

  • Condition – 政策何時生效的條件。您可以使用 AWS全局金鑰和 Amazon S3 特定金鑰,在 Amazon S3 存取政策中指定條件。如需詳細資訊,請參閱使用條件索引鍵的儲存貯體政策範例

下列範例儲存貯體政策顯示 EffectPrincipalActionResource 元素。此政策允許帳戶 123456789012 中的使用者 Akua 具有 amzn-s3-demo-bucket1 儲存貯體的 s3:GetObjects3:GetBucketLocations3:ListBucket Amazon S3 許可。

{ "Version": "2012-10-17", "Id": "ExamplePolicy01", "Statement": [ { "Sid": "ExampleStatement01", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Akua" }, "Action": [ "s3:GetObject", "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*", "arn:aws:s3:::amzn-s3-demo-bucket1" ] } ] }

如需完整的政策語言資訊,請參閱《IAM 使用者指南》中的 IAM 中的政策和許可以及 IAM JSON 政策參考

許可委派

如果 AWS 帳戶 擁有資源,則可以將這些許可授予另一個 AWS 帳戶。該帳戶則可以將這些許可或其中的一些許可,委派給帳戶中的使用者。這稱為「許可委派」。但從另一個帳戶收到許可的帳戶,無法將許可跨帳戶委派給另一個 AWS 帳戶。

Amazon S3 儲存貯體和物件擁有權

儲存貯體與物件都是 Amazon S3 資源。依預設,只有資源擁有者可以存取這些資源。資源擁有者是指 AWS 帳戶 建立資源的 。例如:

  • 您用來建立儲存貯體和上傳物件 AWS 帳戶 的 擁有這些資源。

  • 如果您使用 AWS Identity and Access Management (IAM) 使用者或角色登入資料上傳物件, AWS 帳戶 則該使用者或角色所屬的 會擁有該物件。

  • 儲存貯體擁有者可將跨帳戶許可授予其他 AWS 帳戶 (或其他帳戶中的使用者),允許其上傳物件。在此情況下,上傳物件的 AWS 帳戶 便擁有那些物件。儲存貯體擁有者沒有其他帳戶所擁有物件的許可,但以下例外:

    • 儲存貯體擁有者支付帳單。儲存貯體擁有者可拒絕對任何物件之存取,或刪除儲存貯體中的任何物件,而無須考慮其擁有者為何。

    • 儲存貯體擁有者可封存任何物件或是還原封存的物件,而無須考慮擁有者為誰。封存指的是指用於存放物件的儲存體方案。如需詳細資訊,請參閱管理物件的生命週期

擁有者和請求身分驗證

對儲存貯體的所有請求可能是已驗證或未驗證。已驗證的請求,必須包含能驗證要求傳送者身分的簽章值,未驗證的請求則沒有。如需請求驗證詳細資訊,請參閱 Amazon S3 API 參考中的提出請求

儲存貯體擁有者可以允許未驗證的請求。例如,當儲存貯體具有公有儲存貯體政策,或儲存貯體 ACL 明確授予 WRITEFULL_CONTROL 存取權給 All Users 群組或匿名使用者時,就允許未驗證的 PutObject 請求。如需公有儲存貯體政策和公開存取控制清單 (ACL) 的詳細資訊,請參閱「「公有」的意義」。

所有未驗證的請求是由匿名使用者提出。此使用者在 ACL 中是以特定的正式使用者 ID 65a011a29cdf8ec533ec3d1ccaae921c 呈現。如果物件是透過未驗證的請求上傳至儲存貯體,則匿名使用者會擁有該物件。預設的 ACL 會授與 FULL_CONTROL 給匿名使用者作為物件的擁有者。因此,Amazon S3 會允許未驗證的請求擷取物件或修改其 ACL。

為了防止物件遭到匿名使用者修改,建議您不要實作會允許對您的儲存貯體進行匿名寫入的政策,或是使用會允許匿名使用者對您的儲存貯體的寫入存取權的 ACL。您可以使用 Amazon S3 封鎖公開存取來強制此建議的行為。

如需封鎖公開存取的詳細資訊,請參閱 封鎖對 Amazon S3 儲存體的公開存取權。如需 ACL 的詳細資訊,請參閱「存取控制清單 (ACL) 概觀」。

重要

建議您不要使用 AWS 帳戶 根使用者憑證來提出已驗證的請求。而是建立 IAM 角色,然後授予該角色完整的存取。我們稱擁有此角色的使用者為管理員使用者。您可以使用指派給管理員角色的登入資料,而不是 AWS 帳戶 根使用者登入資料,來與 互動 AWS 和執行任務,例如建立儲存貯體、建立使用者和授予許可。如需詳細資訊,請參閱《IAM 使用者指南》中的AWS 安全憑證IAM 中的安全最佳實務

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。