本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
配置 ACLs
本節說明如何使用存取控制清單 (ACLs) 管理 S3 儲存貯體和物件的存取許可。您可以ACL使用 AWS Management Console, AWS Command Line Interface (CLI) REST API、或 AWS SDKs.
儲存貯體許可與物件許可各自互相獨立。物件不會繼承其儲存貯體的許可。例如,若您建立儲存貯體,並將寫入存取授予使用者,除非使用者明確授予存取權給您,否則您無法存取該使用者的物件。
您可以將權限授予其他人 AWS 帳戶 使用者或預先定義的群組。您要授予許可的使用者或群組稱為「被授予者」。依預設,擁有者為 AWS 帳戶 創建存儲桶,具有完整權限。
您授與使用者或群組的每個權限,都會在與值區相關聯的ACL項目中新增一個項目。這些ACL清單會授與,用來識別受權者和授與的權限。
S3 物件擁有權是 Amazon S3 儲存貯體層級設定,可用來控制上傳到儲存貯體之物件的擁有權,以及停用或啟用。ACLs依預設,[物件擁有權] 會設定為 [值區擁有者強制執行] 設定,且全部ACLs都會停用。停用時,值區擁有者會擁有值區中的所有物件,並使用存取管理原則專門管理ACLs這些物件的存取權。
Amazon S3 中的大多數現代使用案例不再需要使用ACLs。除非您需要個別控制每個物件的存取權限,否則建議您保持ACLs停用狀態。ACLs停用後,您可以使用政策來控制值區中所有物件的存取權,無論是誰將物件上傳至您的值區。如需詳細資訊,請參閱控制物件的擁有權並停ACLs用值區。
重要
如果儲存貯體使用 S3 物件擁有權的儲存貯體擁有者強制執行設定,則您必須使用政策將存取權授予儲存貯體及其中的物件。啟用值區擁有者強制設定後,設定存取控制清單 (ACLs) 或更新的要求ACLs會失敗,並傳回AccessControlListNotSupported
錯誤碼。仍然支持讀取ACLs請求。
警告
我們強烈建議您避免授予「所有人」(公開存取) 或「已驗證的使用者」群組 (全部) 的寫入權限 AWS 已驗證的使用者) 群組。如需詳細資訊了解授予寫入存取權限對這些群組的影響,請參閱「Amazon S3 預先定義的群組」。
主控台會顯示重複被授予者的合併存取授予。要查看的完整列表ACLs,請使用 Amazon S3 RESTAPI, AWS CLI,或 AWS SDKs.
下表顯示您可以在 Amazon S3 主控台中為儲存貯體設定的ACL許可。
存儲桶的 Amazon S3 控制台ACL許可 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
主控台許可 | ACL許可 | Access (存取) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Objects (物件) – List (列出) | READ |
允許被授予者列出儲存貯體中的物件。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Objects (物件) - Write (寫入) | WRITE |
允許被授予者在儲存貯體中建立新物件。對於現有物件的儲存貯體和物件擁有者,還允許刪除和覆寫這些物件。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
值區 ACL-讀取 | READ_ACP |
允許受權者讀取值區ACL。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
鏟斗 ACL-寫入 | WRITE_ACP |
允許受權者為適用ACL的值區寫入。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
每個人(公開存取):物件 - 列出 | READ |
對儲存貯體中的物件授予公開讀取存取權限。當您將列出存取權限授予每個人(公開存取權限)時,世界上的任何人都可以存取儲存貯體中的物件。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
所有人(公共訪問):桶 ACL-讀 | READ_ACP |
授予值區的公開讀取權限ACL。當您將讀取存取權授予「所有人」(公開存取權) 時,全世界的任何人都可以存取值區ACL。 |
如需有關ACL權限的詳細資訊,請參閱存取控制清單 (ACL) 概觀。
重要
如果儲存貯體使用 S3 物件擁有權的儲存貯體擁有者強制執行設定,則您必須使用政策將存取權授予儲存貯體及其中的物件。啟用值區擁有者強制設定後,設定存取控制清單 (ACLs) 或更新的要求ACLs會失敗,並傳回AccessControlListNotSupported
錯誤碼。仍然支持讀取ACLs請求。
若要設定值區的ACL權限
登入 AWS Management Console 並在打開 Amazon S3 控制台https://console.aws.amazon.com/s3/
。 -
在 Buckets (儲存貯體) 清單中,選擇要設定許可的儲存貯體名稱。
-
選擇 Permissions (許可)。
-
在 Access control list (存取控制清單) 下,選擇 Edit (編輯)。
您可以編輯值區的下列ACL權限:
物件
-
List (清單) – 允許承授者列出儲存貯體中的物件。
-
Write (寫入) – 允許承授者在儲存貯體中建立新物件。對於現有物件的儲存貯體和物件擁有者,還允許刪除和覆寫這些物件。
在 S3 主控台中,您只能授與寫入存取權給 S3 日誌傳遞群組和儲存貯體擁有者 ( AWS 帳戶). 我們強烈建議您不要授與其他受權者的寫入存取權。不過,如果您需要授與寫入權限,您可以使用 AWS CLI, AWS SDKs,或 RESTAPI.
水桶 ACL
-
讀取 — 允許受權者讀取值區ACL。
-
寫入 — 允許受權者為適用的ACL值區寫入。
-
-
若要變更值區擁有者的權限,請在值區擁有者 (您的 AWS 帳戶),清除或從下列ACL權限中選取:
-
Objects (物件) – List (列出) 或 Write (寫入)
-
桶 ACL-讀取或寫入
所有者指的是 AWS 帳戶根使用者,不是 AWS Identity and Access Management IAM使用者。如需有關 root 使用者的詳細資訊,請參閱 AWS 帳戶根使用者 (在 IAM 使用者指南中)
-
-
若要授予或復原一般大眾 (網際網路上的所有人) 的權限,請在 [所有人 (公開存取)] 旁邊清除或選取下列ACL權限:
-
Objects (物件) – List (列出)
-
桶 ACL-讀
警告
將 S3 儲存貯體的公開存取授予 Everyone (每個人) 群組時請小心。當您將存取授予此群組時,全世界的所有人都能存取您的儲存貯體。強烈建議您絕不要授予任何種類的 S3 儲存貯體公用寫入存取。
-
-
若要授與或復原權限給任何擁有 AWS 帳戶,已驗證的使用者群組旁邊 (任何具有 AWS 帳戶),清除或從下列ACL權限中選取:
-
Objects (物件) – List (列出)
-
桶 ACL-讀
-
-
若要授與或撤消 Amazon S3 寫入儲存貯體的伺服器存取日誌的許可,請在 S3 日誌交付群組下清除或從下列ACL許可中選取:
-
Objects (物件) – List (列出) 或 Write (寫入)
-
桶 ACL-讀取或寫入
如果儲存貯體設定為要接收存取日誌的目標儲存貯體,儲存貯體許可必須將儲存貯體的寫入存取授予 Log Delivery (日誌交付) 群組。當您啟用儲存貯體上的伺服器存取記錄日誌時,Amazon S3 主控台會將寫入存取權限授予您選擇接收日誌之目標儲存貯體的 Log Delivery (日誌交付) 群組。如需伺服器存取記錄日誌的詳細資訊,請參閱「啟用 Amazon S3 伺服器存取記錄日誌」。
-
-
若要授與存取權給其他人 AWS 帳戶,執行下列動作:
-
選擇 Add grantee (新增承授者)。
-
在「受權者」方塊中,輸入另一個人的標準 ID AWS 帳戶.
-
從下列ACL權限中選取:
-
Objects (物件) – List (列出) 或 Write (寫入)
-
桶 ACL-讀取或寫入
-
警告
當你授予其他 AWS 帳戶 訪問您的資源,請注意 AWS 帳戶 可以將其權限委派給其帳戶下的使用者。這稱為跨帳戶存取。如需有關使用跨帳戶存取的資訊,請參閱《使用指南》中的建立角色以將權限委派給使用IAM者。IAM
-
-
若要移除對其他人的存取 AWS 帳戶,在其他存取權下 AWS 帳戶,選擇「移除」。
-
若要儲存您所做的變更,請選擇 Save changes (儲存變更)。
主控台會顯示重複被授予者的合併存取授予。要查看的完整列表ACLs,請使用 Amazon S3 RESTAPI, AWS CLI,或 AWS SDKs。下表顯示您可以在 Amazon S3 主控台中為物件設定的ACL許可。
物件的 Amazon S3 主控台ACL許可 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
主控台許可 | ACL許可 | 存取 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
物件 - 讀取 | READ |
允許被授予者讀取物件資料及其中繼資料。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
物件 ACL-讀取 | READ_ACP |
允許受權者讀取物ACL件。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
物件 ACL-寫入 | WRITE_ACP |
允許受權者為適用ACL的物件寫入 |
如需有關ACL權限的詳細資訊,請參閱存取控制清單 (ACL) 概觀。
重要
如果儲存貯體使用 S3 物件擁有權的儲存貯體擁有者強制執行設定,則您必須使用政策將存取權授予儲存貯體及其中的物件。啟用值區擁有者強制設定後,設定存取控制清單 (ACLs) 或更新的要求ACLs會失敗,並傳回AccessControlListNotSupported
錯誤碼。仍然支持讀取ACLs請求。
若要設定物件的ACL權限
登入 AWS Management Console 並在打開 Amazon S3 控制台https://console.aws.amazon.com/s3/
。 -
在 Buckets (儲存貯體) 清單中,選擇包含該物件的儲存貯體名稱。
-
在 objects (物件) 清單中,選擇您要設定許可的物件名稱。
-
選擇 Permissions (許可)。
-
在 [存取控制清單 (ACL)] 下,選擇 [編輯]。
您可以編輯物件的下列ACL權限:
物件
-
Read (讀取) – 允許承授者讀取物件資料及其中繼資料
物件 ACL
-
讀取 — 允許受權者讀取物ACL件。
-
寫入 — 允許受權者為適用的ACL物件寫入。在 S3 主控台中,您只能授予儲存貯體擁有者 (您的 AWS 帳戶). 我們強烈建議您不要授與其他受權者的寫入存取權。不過,如果您需要授與寫入權限,您可以使用 AWS CLI, AWS SDKs,或 RESTAPI.
-
-
您可以管理下列項目的物件存取許可:
-
其他擁有者的存取
所有者指的是 AWS 帳戶根使用者,而不是 AWS Identity and Access Management IAM使用者。如需有關 root 使用者的詳細資訊,請參閱 AWS 帳戶根使用者 (在 IAM 使用者指南中)
若要變更擁有者的物件存取權限,請在物件擁有者的存取權下,選擇您的 AWS 帳戶(所有者)。
選取您要變更之許可的核取方塊,然後選擇 Save (儲存)。
-
訪問其他 AWS 帳戶
若要授與權限 AWS 來自不同的用戶 AWS 帳戶,在其他存取權下 AWS 帳戶,選擇 [新增帳戶]。在「輸入 ID」欄位中,輸入 AWS 您要授與物件權限的使用者。如需有關尋找規範 ID 的資訊,請參閱您的 AWS 帳戶中的識別碼 Amazon Web Services 一般參考。 您最多可以新增 99 個使用者。
選取您要授予使用者之許可的核取方塊,然後選擇 Save (儲存)。若要顯示許可的相關資訊,請選擇說明圖示。
-
公用存取
若要將物件的存取權授予一般大眾 (全世界的所有人),請在 Public access (公開存取) 下,選擇 Everyone (每個人)。授予公用存取許可表示全世界的所有人都能存取該物件。
選取您要授予之許可的核取方塊,然後選擇 Save (儲存)。
警告
-
將 Amazon S3 物件的匿名存取權授予每個人群組時請謹慎小心。當您將存取權授予此群組時,全世界任何人都能存取您的物件。若必須將存取權授予每個人,強烈建議您只授予 Read objects (讀取物件) 許可。
-
強烈建議您「不要」將寫入物件許可授予 Everyone (每個人) 群組。這樣做可讓任何人覆寫物件的ACL權限。
-
-
本節提供如何在值區和物件上設定存取控制清單 (ACL) 授與的範例。
重要
如果儲存貯體使用 S3 物件擁有權的儲存貯體擁有者強制執行設定,則您必須使用政策將存取權授予儲存貯體及其中的物件。啟用值區擁有者強制設定後,設定存取控制清單 (ACLs) 或更新的要求ACLs會失敗,並傳回AccessControlListNotSupported
錯誤碼。仍然支持讀取ACLs請求。
Amazon S3 可APIs讓您在建立儲存貯體或物件ACL時設定。Amazon S3 也提供在現有儲存貯體或物件ACL上設定的功API能。這些APIs提供了以下方法來設置ACL:
-
ACL使用請求標頭設定:當您傳送建立資源 (值區或物件) 的要求時,您可以ACL使用要求標頭來設定。使用這些標頭,您可以指定固定ACL或明確指定授權 (明確識別受權者和權限)。
-
ACL使用要求主體設定:當您傳送要求以針ACL對現有資源設定時,您可以在要求標頭或內文中設定。ACL
如需管理RESTAPI支援的相關資訊ACLs,請參閱 Amazon 簡單儲存服務API參考中的以下各節:
重要
如果儲存貯體使用 S3 物件擁有權的儲存貯體擁有者強制執行設定,則您必須使用政策將存取權授予儲存貯體及其中的物件。啟用值區擁有者強制設定後,設定存取控制清單 (ACLs) 或更新的要求ACLs會失敗,並傳回AccessControlListNotSupported
錯誤碼。仍然支持讀取ACLs請求。
存取控制清單 (ACL) 特定要求標頭
您可以使用標頭來授與存取控制清單 (ACL) 型權限。所有物件預設皆為私有。只有擁有者有完整的存取控制權。新增物件時,您可以將權限授與個人 AWS 帳戶 或由 Amazon S3 定義的預先定義群組。然後,這些權限會新增至物件的「存取控制清單」(ACL)。如需詳細資訊,請參閱存取控制清單 (ACL) 概觀。
透過此操作,您可以使用下列兩種方法之一授與存取許可:
-
罐裝 ACL (
x-amz-acl
) — Amazon S3 支援一組預先定義的ACLs,稱為罐裝ACLs。每個罐頭都ACL有一組預先定義的受權者和權限。如需詳細資訊,請參閱罐裝 ACL。 -
存取權限 — 明確授與特定存取權限 AWS 帳戶 或群組,請使用下列標頭。每個標頭都會對應到 Amazon S3 支援的特定許可ACL。如需詳細資訊,請參閱存取控制清單 (ACL) 概觀。在標頭中,您指定取得特定許可的授與者清單。
-
x-amz-grant-read
-
x-amz-grant-write
-
x-amz-grant-read-ACP
-
x-amz-grant-write-ACP
-
x-amz-grant-full-控制
-
如需ACLs使用管理的詳細資訊 AWS CLI,請參閱put-bucket-acl
重要
如果儲存貯體使用 S3 物件擁有權的儲存貯體擁有者強制執行設定,則您必須使用政策將存取權授予儲存貯體及其中的物件。啟用值區擁有者強制設定後,設定存取控制清單 (ACLs) 或更新的要求ACLs會失敗,並傳回AccessControlListNotSupported
錯誤碼。仍然支持讀取ACLs請求。