

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ドキュメントレベルの ACLs
<a name="s3-acl"></a>

それぞれが異なるユースケースに合わせて最適化された 2 つの設定方法のいずれかを使用して、Amazon S3 ナレッジベースレベルでアクセスコントロールリスト (ACLs) を有効にできます。

**重要**  
ドキュメントレベルの ACL 設定は永続的です。ACLs サポートなしで作成されたナレッジベースで ACL を有効にすることはできません。また、一度有効にすると ACLs を無効にすることはできません。ACL 設定を変更するには、最初から必要な設定で新しいナレッジベースを作成します。

**注記**  
ACL 対応のナレッジベースの場合、ACL エントリが関連付けられていないドキュメントは取り込まれません。すべてのドキュメントに、グローバル ACL ファイルまたはメタデータファイルを通じて定義された ACL があることを確認します。

**グローバル ACL 設定ファイル**  
フォルダレベルでアクセス許可を定義する 1 つの集中ファイルを作成します。これにより、大規模なドキュメント階層全体のアクセス許可を効率的に管理できます。この方法は、安定したアクセス許可構造を持つ組織に最適です。グローバルファイルに変更を加えると、影響を受けるプレフィックス全体のインデックスを再作成する必要があり、数千万のドキュメントを含むナレッジベースには数時間かかる場合があります。ファイル形式については、「[グローバル 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 のユーザーの E メールアドレス。type の場合`GROUP`、Quick のグループ名。
+ `Type` - `USER` または `GROUP`。
+ `Access` - `ALLOW` または `DENY`。