

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

# 文件層級 ACLs
<a name="s3-acl"></a>

您可以使用兩種組態方法之一，在 Amazon S3 知識庫層級啟用存取控制清單 (ACLs)，每種方法都針對不同的使用案例進行最佳化。

**重要**  
文件層級 ACL 組態是永久的。您無法在無 ACLs 支援的情況下建立的知識庫上啟用 ACL，而且一旦啟用，就無法停用 ACLs。若要變更 ACL 組態，請從頭開始建立具有所需設定的新知識庫。

**注意**  
對於啟用 ACL 的知識庫，不會擷取沒有相關聯 ACL 項目的文件。確保每個文件都有透過全域 ACL 檔案或其中繼資料檔案中定義的 ACL。

**全域 ACL 組態檔案**  
建立單一集中式檔案，在資料夾層級定義存取許可。這提供了簡化方法來管理大型文件階層的許可。此方法非常適合具有穩定許可結構的組織。全域檔案的任何變更都需要重新索引整個受影響的字首，這可能需要數小時的知識庫，其中包含數百萬份文件。如需檔案格式，請參閱 [全域 ACL 檔案結構](#s3-global-acl)。

**文件層級中繼資料檔案**  
每個文件都有自己的中繼資料檔案，其中包含特定的存取控制資訊。此方法需要您為每個文件建立和維護個別中繼資料檔案。當許可變更時，它可大幅加快索引更新速度，因為只有受影響的文件需要重新編製索引，而不是整個資料夾結構。如需在中繼資料檔案中設定 ACLs 的詳細資訊，請參閱 [文件中繼資料](s3-metadata.md)。

選擇最符合您營運需求的方法：使用全域 ACL 檔案進行集中式管理，以便更輕鬆地管理，或選擇文件層級中繼資料檔案，以便更快速地進行許可更新和更精細的控制。

定期更新 Amazon S3 ACLs 組態，以符合組織的存取需求，讓您的文件層級 ACL 保持最新狀態。如需常見最佳實務的詳細資訊，請參閱 [在知識庫中管理 ACLs最佳實務](acl-best-practices-kb.md)。

## 全域 ACL 檔案結構
<a name="s3-global-acl"></a>

全域檔案可在資料夾層級提供集中式存取控制管理。檔案中的每個項目都會將 Amazon S3 金鑰字首映射到一組 ACL 項目，這些項目會套用至該字首下的所有文件。

全域 ACL json 檔案使用以下結構：

```
[
    {
        "keyPrefix": "s3://BUCKETNAME/prefix1/",
        "aclEntries": [
            {
                "Name": "user1@example.com",
                "Type": "USER",
                "Access": "ALLOW"
            },
            {
                "Name": "group1",
                "Type": "GROUP",
                "Access": "DENY"
            }
        ]
    },
    {
        "keyPrefix": "s3://BUCKETNAME/prefix1/document_1.txt",
        "aclEntries": [
            {
                "Name": "user1@example.com",
                "Type": "USER",
                "Access": "ALLOW"
            },
            {
                "Name": "group1",
                "Type": "GROUP",
                "Access": "DENY"
            }
        ]
    },
    {
        "keyPrefix": "s3://BUCKETNAME/prefix2/",
        "aclEntries": [
            {
                "Name": "user2@example.com",
                "Type": "USER",
                "Access": "ALLOW"
            },
            {
                "Name": "user1@example.com",
                "Type": "USER",
                "Access": "DENY"
            },
            {
                "Name": "group1",
                "Type": "GROUP",
                "Access": "DENY"
            }
        ]
    }
]
```

陣列中的每個項目都包含下列欄位：

`keyPrefix`  
ACL 項目套用的 Amazon S3 路徑字首。此字首下的所有文件都會繼承指定的許可。

`aclEntries`  
存取控制項目的陣列，每個項目都包含下列欄位：  
+ `Name` – `USER`類型為 Quick 中使用者的電子郵件地址。`GROUP` 類型為 Quick 中的群組名稱。
+ `Type` – `USER` 或 `GROUP`。
+ `Access` – `ALLOW` 或 `DENY`。