

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

# Amazon S3 統合
<a name="s3-integration"></a>

Amazon Quick での Amazon S3 統合を使用すると、S3 バケットに保存されているドキュメントからナレッジベースを作成できます。この統合は、S3 コンテンツのインデックス作成と検索のためのデータ取り込み機能をサポートしています。

**注記**  
このガイドでは、ナレッジベースを作成するための Amazon S3 データ取り込み統合について説明します。ファイルのアップロード、ダウンロード、削除などの Amazon S3 オペレーションを実行する Amazon S3 アクションコネクタについては、「」を参照してください[AWS サービスアクションコネクタ](builtin-services-integration.md)。Amazon S3 アクションは Quick Automate でのみサポートされています。

## できること
<a name="s3-integration-capabilities"></a>

Amazon S3 ユーザーは、Amazon S3 バケットに保存されているコンテンツについて質問できます。たとえば、ユーザーはドキュメントから主要な検出結果について問い合わせたり、複数のファイルタイプで特定の情報を検索したり、データパターンを分析したりできます。

統合により、ユーザーはファイルの場所やタイプに関係なく、Amazon S3 コンテンツから情報にすばやくアクセスして理解できます。また、変更日やファイルメタデータなどのコンテキストの詳細も提供し、情報検出の効率化と情報に基づいた意思決定に役立ちます。

## [開始する前に]
<a name="s3-integration-prerequisites"></a>

Amazon S3 統合を設定する前に、以下があることを確認してください。
+ AWS Amazon S3 アクセスを持つ アカウント。
+ インデックスを作成するドキュメントを含む Amazon S3 バケット。
+ Amazon Quick Enterprise サブスクリプション。
+ Amazon S3 統合を作成するために必要なアクセス許可。
+ 管理者は、使用する Amazon S3 バケットへの Amazon Quick アクセスを許可する必要があります。詳細については、「[Amazon S3 バケットへの Amazon Quick Access の付与](s3-admin-setup.md#s3-grant-bucket-access)」を参照してください。

**注記**  
クロスアカウント Amazon S3 アクセスは、同じ AWS リージョン内でのみサポートされます。

# 管理者の設定
<a name="s3-admin-setup"></a>

ユーザーが Amazon S3 統合とナレッジベースを作成する前に、Amazon Quick 管理者は以下のセットアップタスクを完了する必要があります。

## Amazon S3 バケットへの Amazon Quick Access の付与
<a name="s3-grant-bucket-access"></a>

組織が必要とする Amazon S3 バケットへの Amazon Quick アクセスを付与します。これは、バケットが同じ AWS アカウントにあるか、別のアカウントにあるかにかかわらず適用されます。

1. Amazon Quick 管理コンソールのアクセス**許可**で、**AWS リソース**を選択します。

1. **これらのリソースへのアクセスと自動検出を許可する **で、**Amazon S3** チェックボックスをオンにします。

1. **[Select S3 buckets]** (S3 バケットの選択) を選択します。

1. **Amazon S3 バケットの選択**ダイアログで、バケットの場所に一致するタブを選択します。
   + **S3 Buckets Linked To Quick Account** – Amazon Quick がアクセスするバケットをリストから選択します。選択したバケットには、デフォルトで読み取り専用のアクセス許可があります。
   + アクセス**可能な S3 バケット AWS** – クロスアカウントバケットの場合は、アカウント所有者がアカウントを承認していることを確認します。**別のバケットを使用する** を選択し、バケット名を入力し、**S3 バケットの追加** を選択します。

1. (オプション) クロスアカウントバケットの場合は、**ナレッジベース作成者にバケットアクセスを制限する**を選択してアクセスを制限し、ナレッジベースを作成するユーザーのみがバケットを使用できるようにします。

1. [**Finish**] を選択してください。

選択したバケットにナレッジベースの作成中にユーザーがアクセスできるようになりました。

## IAM ロールとポリシーのセットアップを準備する
<a name="s3-integration-authentication"></a>

Amazon S3 統合では、 AWS 認証を使用して Amazon S3 バケットにアクセスします。ユーザーが統合を設定する前に、IAM ロールとポリシーの設定を準備します。

### 必要な IAM 許可
<a name="s3-integration-iam-permissions"></a>

 AWS アカウントに Amazon S3 バケットに対する以下の最小限のアクセス許可があることを確認します。
+ `s3:GetObject` – バケットからオブジェクトを読み取ります。
+ `s3:ListBucket` – バケットの内容を一覧表示します。
+ `s3:GetBucketLocation` – バケットリージョン情報を取得します。
+ `s3:GetObjectVersion` – オブジェクトバージョンを取得します。
+ `s3:ListBucketVersions` – バケットバージョンを一覧表示します。

### クロスアカウントアクセス用に Amazon S3 バケットのアクセス許可を設定する
<a name="s3-cross-account-bucket-policy"></a>

別の AWS アカウントで Amazon S3 バケットにアクセスする場合は、ソース AWS アカウントで IAM ポリシーを設定する必要があります。

**クロスアカウントアクセス用に Amazon S3 バケットのアクセス許可を設定するには**

1. Amazon S3 バケットを含むアカウントの AWS マネジメントコンソールにサインインします。

1. Amazon S3 コンソール ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) を開きます。

1. アクセスを許可するバケットを選択します。

1. **[Permissions]** (許可) を選択し、**[Bucket Policy]** (バケットポリシー) を選択します。

1. 以下の要素を含むバケットポリシーを追加します。
   + `Version` – を「2012-10-17」に設定します。
   + `Statement` – 以下を含むポリシーステートメントを含む配列:
     + `Sid` – AllowQuickSuiteS3Access」
     + `Effect` – 「許可」
     + `Principal` – アカウントの Amazon Quick サービスロールの AWS ARN。たとえば、プリンシパルは次のようになります。` "Principal": { "AWS": "arn:aws:iam::<quick_account_id>:role/service-role/aws-quicksight-service-role-v0" }`
     + `Action` – Amazon S3 アクセス許可の配列: s3:GetObject、s3:ListBucket、s3:GetBucketLocation、s3:GetObjectVersion、s3:ListBucketVersions
     + `Resource` – "\$1" (現在のキーに適用）、Amazon S3 バケットパスは次のようになります。 `"Resource": [ "arn:aws:s3:::bucket_name"]`

1. **[Save changes]** (変更の保存) をクリックします。

### KMS キーのアクセス許可を設定する (バケットが暗号化を使用している場合)
<a name="s3-kms-permissions"></a>

Amazon S3 バケットが KMS AWS 暗号化を使用している場合は、次の手順を実行します。

**KMS キーのアクセス許可を設定するには**

1. [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) で AWS Key Management Service (AWS KMS) コンソールを開きます。

1. Amazon S3 バケットの暗号化に使用される KMS キーを選択します。

1. [**Key policy (キーポリシー)**]、[**Edit (編集)**] の順に選択します。

1. 次の構造要素を含むステートメントをキーポリシーに追加します。
   + `Sid` – AllowQuickSuiteKMSAccess」
   + `Effect` – 「許可」
   + `Principal` – アカウントの Amazon Quick サービスロールの AWS ARN。たとえば、プリンシパルは次のようになります。` "Principal": { "AWS": "arn:aws:iam::<quick_account_id>:role/service-role/aws-quicksight-service-role-v0" }`
   + `Action` – KMS アクセス許可の配列: kms:Decrypt、kms:DescribeKey
   + `Resource` – "\$1" (現在のキーに適用）、Amazon S3 バケットパスは次のようになります。 `"Resource": [ "arn:aws:s3:::bucket_name"]`

1. **[Save changes]** (変更の保存) をクリックします。

1. ポリシーの変更が反映されるまで 2～3 分待ちます。

## Amazon Quick で Amazon S3 Connector の VPC アクセスを設定する
<a name="s3-vpc-support"></a>

VPC アクセス許可により、Amazon Quick は安全な VPC または VPC エンドポイント接続を介してのみ Amazon S3 バケットにアクセスできます。

### 必要なポリシーの変更
<a name="s3-vpc-required-policy"></a>

このステートメントをバケットアクセスポリシーに追加して、Amazon Quick が VPC エンドポイントを介してバケットにアクセスできるようにします。

```
{
  "Sid": "Allow-Quick-access"		 	 	 ,
  "Principal": "arn:aws:iam::Quick Account:role/service-role/aws-quicksight-service-role-v0",
  "Action": "s3:*",
  "Effect": "Allow",
  "Resource": [
    "arn:aws:s3:::amzn-s3-demo-bucket",
    "arn:aws:s3:::amzn-s3-demo-bucket/*"
  ],
  "Condition": {
    "Null": {
      "aws:SourceVpce": "false"
    }
  }
}
```
+ `amzn-s3-demo-bucket` をバケット名に置き換えます。
+ を Amazon Quick アカウント`Quick Account`に置き換えます。

この`"aws:SourceVpce": "false"`条件により、Amazon Quick は VPC エンドポイントを介してのみバケットにアクセスし、セキュリティ要件を維持できます。

### ポリシーを拒否する
<a name="s3-vpc-deny-policies"></a>

拒否ポリシーを介して特定の VPC または VPC エンドポイントへのトラフィックを制限するポリシーがバケットにある場合は、拒否ポリシーが許可ポリシーよりも優先されるため、このポリシーを元に戻す必要があります。

例えば、次のようになります。

```
{
   "Version":"2012-10-17"		 	 	 ,                   
   "Id": "Policy1415115909152",
   "Statement": [
     {
       "Sid": "Access-to-specific-VPCE-only",
       "Principal": "*",
       "Action": "s3:*",
       "Effect": "Deny",
       "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket",
                    "arn:aws:s3:::amzn-s3-demo-bucket/*"],
       "Condition": {
         "StringNotEquals": {
           "aws:SourceVpce": "vpce-0abcdef1234567890"
         }
       }
     }
   ]
}
```

以下に戻す必要があります。

```
{
   "Version":"2012-10-17"		 	 	 ,                   
   "Id": "Policy1415115909152",
   "Statement": [
     {
       "Sid": "Access-to-specific-VPCE-only",
       "Principal": "*",
       "Action": "s3:*",
       "Effect": "Allow",
       "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket",
                    "arn:aws:s3:::amzn-s3-demo-bucket/*"],
       "Condition": {
         "StringEquals": {
           "aws:SourceVpce": "vpce-0abcdef1234567890"
         }
       }
     }
   ]
}
```

### ベストプラクティス
<a name="s3-vpc-best-practices"></a>

**Amazon Quick ロールへのアクセスを制限する**

アクセスポリシーでは、発信者が Amazon Quick ロール ARN、または少なくとも Amazon Quick アカウントであることを強制する必要があります。これにより、VPC トラフィックを許可しても、呼び出しは予想されるソースからのみ送信されます。

### セキュリティに関する推奨事項
<a name="s3-vpc-security-recommendations"></a>
+ 最も安全なトラフィックのためにポリシーを Amazon Quick ロールに制限する
+ バケットポリシーを定期的に見直して、最小特権の原則に従っていることを確認します。

## IAM ポリシー割り当てを使用して Amazon S3 バケットアクセスを制限する
<a name="s3-restrict-bucket-access"></a>

IAM ポリシーを作成し、Amazon Quick IAM ポリシーの割り当てを通じて特定のユーザー、グループ、またはすべてのユーザーに割り当てることで、Amazon Quick ユーザーがナレッジベースの作成に使用できる Amazon S3 バケットを制御できます。これにより、ACL 対応のナレッジベースなど、特定のバケットに対してナレッジベースを作成できるユーザーを制限できます。

**注記**  
Amazon Quick を通じて割り当てられた IAM ポリシーは、リソースレベルのポリシーよりも AWS 優先されます。アクセス要件を確実に満たすには、IAM ポリシーを適切に設定します。

例えば、ACL 対応バケットへのアクセスを必要とする特定のユーザーに制限ポリシーを割り当て、ACL 以外のバケットのすべてのユーザーにより広範なポリシーを割り当てることができます。

### ステップ 1: IAM で Amazon S3 アクセスポリシーを作成する
<a name="s3-create-iam-policy"></a>

ナレッジベース作成のためにユーザーがアクセスできる Amazon S3 バケットを定義する AWS IAM ポリシーを IAM コンソールに作成します。次のポリシー例では、2 つの特定のバケットへのアクセスを許可します。

```
{
    "Version": "2012-10-17"		 	 	 ,
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:ListAllMyBuckets",
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Action": [
                "s3:ListBucket"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-1",
                "arn:aws:s3:::amzn-s3-demo-bucket-2"
            ]
        },
        {
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-1/*",
                "arn:aws:s3:::amzn-s3-demo-bucket-2/*"
            ]
        },
        {
            "Action": [
                "s3:ListBucketMultipartUploads",
                "s3:GetBucketLocation"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-1",
                "arn:aws:s3:::amzn-s3-demo-bucket-2"
            ]
        },
        {
            "Action": [
                "s3:PutObject",
                "s3:AbortMultipartUpload",
                "s3:ListMultipartUploadParts"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-1/*",
                "arn:aws:s3:::amzn-s3-demo-bucket-2/*"
            ]
        }
    ]
}
```

`amzn-s3-demo-bucket-1` と を、アクセスを許可する Amazon S3 バケットの名前`amzn-s3-demo-bucket-2`に置き換えます。

### ステップ 2: Amazon Quick でポリシーを割り当てる
<a name="s3-assign-iam-policy"></a>

IAM ポリシーを作成したら、Amazon Quick ユーザーまたはグループに割り当てます。

1. Amazon Quick 管理コンソールのアクセス**許可**で、**IAM ポリシーの割り当て**を選択します。

1. **新しい割り当ての追加** を選択します。

1. 割り当ての名前を入力します。

1. **IAM ポリシーの選択**ページで、ステップ 1 で作成した IAM ポリシーを検索して選択します。[**次へ**] を選択します。

1. **ユーザーとグループの割り当て**ページで、次のいずれかを選択します。
   + **すべてのユーザーとグループに割り当て**を選択して、現在および将来のすべてのユーザーにポリシーを適用します。
   + ポリシーを割り当てる特定のユーザーまたはグループを検索して選択します。

   [**次へ**] を選択します。

1. **変更の確認と有効化**ページで、割り当ての詳細を確認し、**保存と有効化**を選択します。

IAM ポリシー割り当てを通じてアクセスを明示的に許可されていないユーザーは、制限された Amazon S3 バケットにアクセスして統合またはナレッジベースを作成することはできません。

# ドキュメントレベルの 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`。

# ドキュメントメタデータ
<a name="s3-metadata"></a>

Amazon S3 バケット内のドキュメントにメタデータを追加して、チャット結果をカスタマイズし、ドキュメントレベルのアクセスを制御できます。メタデータは、タイトル、作成日、アクセス許可など、ドキュメントに関する追加情報です。

Amazon Quick は、引用を含むソース属性をサポートしています。`_source_uri` メタデータフィールドを指定した場合、チャット結果のソース属性リンクは、設定された URL にユーザーを誘導します。を指定しない場合でも`_source_uri`、ユーザーは、クエリ時にファイルをダウンロードするクリック可能な引用リンクからソースドキュメントにアクセスできます。

## ドキュメントメタデータの場所
<a name="s3-metadata-location"></a>

Amazon S3 では、各メタデータファイルをインデックス付きドキュメントに関連付けることができます。メタデータファイルは、インデックス付きファイルと同じ Amazon S3 バケットに保存する必要があります。Amazon Quick で Amazon S3 統合を設定するときに、メタデータファイルの Amazon S3 バケット内の場所を指定できます。

Amazon S3 プレフィックスを指定しない場合、メタデータファイルはインデックス付きドキュメントと同じ場所に保存する必要があります。メタデータファイルに Amazon S3 プレフィックスを指定する場合は、インデックス付きドキュメントと並行するディレクトリ構造である必要があります。Amazon Quick は、指定されたディレクトリでのみメタデータを検索します。メタデータが読み込まれない場合は、ディレクトリの場所がメタデータの場所と一致していることをチェックします。

次の例は、インデックス作成されたドキュメントの場所がメタデータファイルの場所にどのようにマッピングされるかを示しています。ドキュメントの Amazon S3 キーがメタデータの Amazon S3 プレフィックスに追加され、 にサフィックスを付けてメタデータファイルの Amazon S3 パス`.metadata.json`を形成します。

**注記**  
結合された Amazon S3 キー、メタデータの Amazon S3 プレフィックス、およびサフィックスは、合計 1,024 文字以下にする必要があります。 `.metadata.json`キーをプレフィックスとサフィックスと組み合わせる場合、Amazon S3 キーは追加文字を考慮して 1,000 文字未満にすることをお勧めします。

**Example 例 1: メタデータパスが指定されていません**  

```
Bucket name:
     s3://bucketName
Document path:
     documents
Metadata path:
     none
File mapping
     s3://bucketName/documents/file.txt -> 
        s3://bucketName/documents/file.txt.metadata.json
```

**Example 例 2: メタデータパスを指定**  

```
Bucket name:
     s3://bucketName
Document path:
     documents/legal
Metadata path:
     metadata
File mapping
     s3://bucketName/documents/legal/file.txt -> 
        s3://bucketName/metadata/documents/legal/file.txt.metadata.json
```

## ドキュメントのメタデータの構造
<a name="s3-metadata-structure"></a>

ドキュメントのメタデータ自体は JSON ファイル内で定義します。ファイルは、BOM マーカーの無い UTF-8 テキストファイルである必要があります。JSON ファイルのファイル名は `<document>.<extension>.metadata.json` である必要があります。この例では、 `document`はメタデータが適用されるドキュメントの名前で、 `extension`はドキュメントのファイル拡張子です。ドキュメント ID は `<document>.<extension>.metadata.json` 内で一意である必要があります。

JSON ファイルの内容では次のテンプレートを使用します。

```
{
    "DocumentId": "document ID",
    "Attributes": {
        "_authors": ["author of the document"],
        "_category": "document category",
        "_created_at": "ISO 8601 encoded string",
        "_last_updated_at": "ISO 8601 encoded string",
        "_source_uri": "document URI",
        "_version": "file version",
        "_view_count": number of times document has been viewed
    },
    "AccessControlList": [
        {
            "Name": "user1@example.com",
            "Type": "GROUP | USER",
            "Access": "ALLOW | DENY"
        }
    ],
    "Title": "document title",
    "ContentType": "PDF | HTML | MS_WORD | PLAIN_TEXT | PPT | RTF | XML | XSLT | MS_EXCEL | CSV | JSON | MD"
}
```

メタデータパスを指定する場合は、メタデータディレクトリ内のディレクトリ構造がデータファイルのディレクトリ構造と正確に一致していることを確認してください。

例えば、データファイルの場所が `s3://bucketName/documents/legal/file.txt` の場合、メタデータファイルの場所は `s3://bucketName/metadata/documents/legal/file.txt.metadata.json` である必要があります。

すべての属性とフィールドが必須ではないため、すべての属性を含める必要はありません。ただし、含める属性ごとに値を指定する必要があります。値を空にすることはできません。

`_created_at` および `_last_updated_at` メタデータフィールドは ISO 8601 でエンコードされた日付です。例えば、2012-03-25T12:30:10\$101:00 は、中央ヨーロッパ時間の 2012 年 3 月 25 日午後 12 時 30 分 (プラス 10 秒) の ISO 8601 の日付/時刻形式です。

`AccessControlList` フィールドは、ドキュメントレベルのアクセスコントロールを定義するオプションの配列です。配列の各エントリには、次のフィールドが含まれます。
+ `Name` – `USER`タイプの場合、Quick のユーザーの E メールアドレス。type の場合`GROUP`、Quick のグループ名。
+ `Type` - `USER` または `GROUP`。
+ `Access` - `ALLOW` または `DENY`。

**注記**  
`AccessControlList` フィールドを使用するには、ナレッジベースの作成時にドキュメントレベルの ACLs を有効にする必要があります。詳細については、「[ドキュメントレベルの ACLs](s3-acl.md)」を参照してください。

# Amazon S3 統合の設定と管理
<a name="s3-setup-manage"></a>

## Amazon S3 統合をセットアップする
<a name="s3-integration-setup"></a>

管理者がセットアップタスクを完了したら、以下の手順に従って Amazon S3 ナレッジベースを作成します。

1. Amazon Quick コンソールで、**統合**を選択します。

1. **Amazon S3** で、**追加** (プラス **\$1** ボタン) を選択します。

1. Connect **S3 バケット**ページで、データソースを選択します。
   + 既存の Amazon S3 データソースを再利用するには、ドロップダウンから選択します。次に、**次**へ を選択してナレッジベースの詳細ステップに進みます。
   + 新しい Amazon S3 バケットを接続するには、ドロップダウンから **\$1 アカウント**を追加を選択します。

1. 新しいバケットを接続する場合は、接続の詳細を入力します。
   + **名前** – Amazon S3 統合のわかりやすい名前。
   + **S3 バケットの場所** – Amazon **Quick が有効になっている同じアカウントの Amazon S3 バケットにアクセスするには Quick Suite インスタンス** AWS アカウントを選択するか、別の** AWS アカウントのバケットにアクセスするにはその他の**アカウントを選択します。 Amazon S3 
   + **S3 バケット URL** – ドキュメントを含む Amazon S3 バケットパス。Amazon S3 バケットは、Amazon Quick リージョンと同じリージョンにある必要があります。

   [**次へ**] を選択します。システムは設定を検証します。エラーが発生した場合は、エラーメッセージを確認して特定の修復手順を確認してください。
**注記**  
アクセスエラーが発生した場合は、管理者に連絡して、ユーザーに Amazon S3 バケットに必要なアクセス許可があることを確認します。

1. **ナレッジベースの作成**ページで、以下を完了します。
   + **名前** – ナレッジベースのわかりやすい名前を入力します。
   + **説明** – このナレッジベースの目的を記述します (オプション）。
   + **コンテンツ** – **すべてのコンテンツを追加**を選択してバケットからすべてを同期するか、**特定のコンテンツを追加**を選択して、含めるフォルダとファイルの S3 プレフィックスを指定します。フィルターでは大文字と小文字が区別されます。

1. **次へ: ACL とメタデータオプションを設定する追加設定**を選択するか、**作成**を選択してデフォルト設定でナレッジベースを作成します。

1. **追加設定**ページで、ACL 管理とメタデータを設定します。
**重要**  
ACLs有効または無効にする決定は、ナレッジベースの作成中に行う必要があります。このステップの後にこのオプションを変更することはできません。ACL の詳細については、「[ドキュメントレベルの ACLs](s3-acl.md)」を参照してください。
   + ドキュメントレベルの ACLs を有効にするには、**ACLs を使用してドキュメントアクセスを制御する**を選択します。有効にすると、次のオプションが表示されます。
     + **グローバル ACL ファイルの場所** – グローバル ACL 設定ファイルを使用してフォルダレベルでの一元的なアクセスコントロール管理を行う場合は、グローバル ACL ファイル (例: acl.json) への Amazon S3 パスを入力します。
     + **メタデータファイルフォルダの場所** – ACL エントリを含むドキュメントレベルのメタデータファイルを使用している場合は、メタデータフォルダへの Amazon S3 パスを入力します。
     + メタデータファイルがサイドカーメソッド (元のドキュメントと同じフォルダに保存) を使用している場合は、両方のフィールドを空白のままにすることができます。
   + 必要に応じて、ACLs を有効にしなくても**、メタデータファイルフォルダの場所**を指定できます。

1. **[作成]** を選択します。

作成を選択すると、データ同期が自動的に開始されます。

## ナレッジベースの管理
<a name="s3-integration-knowledge-base"></a>

Amazon S3 統合を設定したら、Amazon S3 コンテンツからナレッジベースを作成および管理できます。

### 既存のナレッジベースを編集する
<a name="s3-edit-knowledge-base"></a>

既存の Amazon S3 ナレッジベースを変更できます。

1. Amazon Quick コンソールで、**ナレッジベース**を選択します。

1. リストから Amazon S3 ナレッジベースを選択します。

1. **アクション**で 3 つのドットのアイコンを選択し、**ナレッジベースの編集**を選択します。

1. 必要に応じて設定を更新し、**保存**を選択します。

### 追加のナレッジベースを作成する
<a name="s3-create-additional-knowledge-base"></a>

同じ Amazon S3 統合から複数のナレッジベースを作成できます。

1. Amazon Quick コンソールで、**統合**を選択し、**データ**タブを選択します。

1. リストから既存の Amazon S3 統合を選択します。

1. **アクション**で 3 つのドットのアイコンを選択し、**ナレッジベースの作成**を選択します。

1. ナレッジベース設定を設定し、**作成**を選択します。

ナレッジベース設定オプションの詳細については、「」を参照してください[一般的な設定](knowledge-base-integrations.md#common-configuration-settings)。

**注記**  
Amazon Quick でナレッジベースを作成すると、デフォルトではナレッジベースからインサイトを取得できるのは自分だけです。共有コンテンツの場合、ナレッジベースのアクセス許可を更新することで、さまざまなユーザーやグループへのアクセスを提供できます。ナレッジベース内のドキュメントレベルのアクセスを制御するには、「」を参照してください[ドキュメントレベルの ACLs](s3-acl.md)。

# Amazon S3 統合の問題のトラブルシューティング
<a name="s3-integration-troubleshooting"></a>

Amazon S3 バケットへの接続に問題がある場合は、次の一般的な原因と解決策を確認してください。

## ACL 対応ナレッジベースに表示されないドキュメント
<a name="s3-troubleshooting-acl-documents-missing"></a>

**問題:** ドキュメントは ACL 対応のナレッジベースに取り込まれません。

**解決策:** ACL 対応ナレッジベースの場合、ACL エントリが関連付けられていないドキュメントは取り込まれません。すべてのドキュメントに、グローバル ACL ファイルまたはメタデータファイルで定義された ACL があることを確認します。詳細については、「[ドキュメントレベルの ACLs](s3-acl.md)」を参照してください。

## クロスアカウントアクセスが設定されていません
<a name="s3-troubleshooting-cross-account"></a>

**問題:** 管理者が Amazon Quick の他の AWS アカウントから Amazon S3 バケットを使用するためのアクセスを許可していません。

**解決策:** クロスアカウント Amazon S3 アクセスを許可するように管理者に依頼します。詳細については、「[Amazon S3 バケットへの Amazon Quick Access の付与](s3-admin-setup.md#s3-grant-bucket-access)」を参照してください。

## バケットが承認済みリストにない
<a name="s3-troubleshooting-bucket-not-approved"></a>

**問題:** アクセスしようとしているバケットが管理者によって承認されていません。

**解決策**:
+ バケット名のスペルが正しいことを確認します。
+ バケットが承認済みリストに含まれていることを管理者に確認します。
+ 必要に応じて、承認されたバケットリストにバケットを追加するように管理者に依頼します。

## IAM アクセス権限の不足
<a name="s3-troubleshooting-iam-permissions"></a>

**問題:** IAM ロールまたはユーザーには、Amazon S3 バケットにアクセスするために必要なアクセス許可がありません。

**解決策**:
+ IAM ポリシーに必要な Amazon S3 アクセス許可が含まれていることを確認します。
  + `s3:GetObject`
  + `s3:ListBucket`
  + `s3:GetBucketLocation`
  + `s3:GetObjectVersion`
  + `s3:ListBucketVersions`
+ アクセスをブロックしている可能性のある明示的な拒否ステートメントがないか、独自のバケットを確認します。

**注記**  
ARN `arn:aws:iam::account-id:role/service-role/aws-quicksight-service-role-v0`は、カスタムロールが作成されていない場合に使用されるデフォルトのサービスロールです。カスタムサービスロールが存在する場合は、管理者に連絡してカスタムサービスロール ARN を取得し、デフォルトの代わりに使用します。

## クロスリージョンの制限
<a name="s3-troubleshooting-cross-region"></a>

**問題:** Amazon S3 バケットが Amazon Quick アカウントまたはサービスとは異なる AWS リージョンにある。

**解決策**:
+ バケットリージョンが Amazon Quick サービスリージョンと一致していることを確認します。
+ CLI AWS を使用してバケットリージョンを確認します。 `aws s3api get-bucket-location --bucket bucket-name`
+ サービスと同じリージョンのバケットを使用します。

## 追加のトラブルシューティング手順
<a name="s3-troubleshooting-additional-steps"></a>
+ CLI AWS を使用して**バケットのアクセシビリティをテスト**します。

  ```
  aws s3 ls s3://bucket-name --profile your-profile
  ```
+ AccessDenied エラーの** CloudTrail ログ**を確認して、特定のアクセス許可の問題を特定します。
+ **Amazon S3 パブリックアクセスブロック設定を確認する** - これらは通常、認証されたアクセスには影響しませんが、特定のユースケースに干渉していないことを確認します。
+ **バケットの所有権を検証する** - バケットが存在し、正しいバケット名があることを確認します。

# 制限事項
<a name="s3-limitations"></a>

Amazon Quick で Amazon S3 統合を使用する場合は、次の制限に注意してください。
+ Amazon S3 バケットは、Amazon Quick アプリケーションと同じ AWS リージョンにある必要があります。
+ 各ドキュメントには、最大 2,500 個の個々のユーザーまたはグループの ACL エントリを含めることができます。
+ グローバル ACL 設定ファイルの最大サイズ: 100 MB。
+ ドキュメントメタデータファイルの最大サイズ: 5 MB。

ドキュメントレベルの ACL の制限の詳細については、「」を参照してください[制限事項](acl-best-practices-kb.md#acl-limitations)。