

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

# 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 Quick 存取您要使用的 Amazon S3 儲存貯體。如需詳細資訊，請參閱[授予 Amazon Quick 對 Amazon S3 儲存貯體的存取權](s3-admin-setup.md#s3-grant-bucket-access)。

**注意**  
僅在相同區域內支援跨帳戶 Amazon S3 存取 AWS 。

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

Amazon Quick 管理員必須先完成下列設定任務，使用者才能建立 Amazon S3 整合和知識庫。

## 授予 Amazon Quick 對 Amazon S3 儲存貯體的存取權
<a name="s3-grant-bucket-access"></a>

授予 Amazon Quick 存取您組織所需的 Amazon S3 儲存貯體。無論儲存貯體位於相同 AWS 帳戶或不同帳戶中，這都會套用。

1. 在 Amazon Quick admin 主控台**的許可**下，選擇**AWS 資源**。

1. 在**允許這些資源的存取和自動探索**下，選取 **Amazon S3** 核取方塊。

1. 選擇**選取 S3 儲存貯體**。

1. 在**選取 Amazon S3 儲存貯**體對話方塊中，選擇符合您儲存貯體位置的標籤：
   + **連結至快速帳戶的 S3 儲存貯**體 – 從清單中選取您希望 Amazon Quick 存取的儲存貯體。根據預設，選取的儲存貯體具有唯讀許可。
   + **您可以跨帳戶存取的 S3 儲存貯 AWS**體 – 對於跨帳戶儲存貯體，請確定帳戶擁有者已授權您的帳戶。選擇**使用不同的儲存貯**體，輸入儲存貯體名稱，然後選擇**新增 S3 儲存貯**體。

1. （選用） 對於跨帳戶儲存貯體，選取**限制儲存貯體存取知識庫建立者**以限制存取，以便只有建立知識庫的使用者才能使用儲存貯體。

1. 選擇**完成**。

使用者現在可以在知識庫建立期間存取選取的儲存貯體。

## 準備 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. 開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon 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. 選擇**儲存變更**。

### 設定 KMS 金鑰許可 （如果您的儲存貯體使用加密）
<a name="s3-kms-permissions"></a>

如果您的 Amazon S3 儲存貯體使用 AWS KMS 加密，請完成下列步驟。

**設定 KMS 金鑰許可**

1. 在 https：//[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. 選擇**儲存變更**。

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`為您的儲存貯體名稱。
+ 將 取代`Quick Account`為您的 Amazon Quick 帳戶。

`"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 S3 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>

在 IAM 主控台中建立 IAM AWS 政策，定義使用者可以存取哪些 Amazon S3 儲存貯體來建立知識庫。下列範例政策會授予兩個特定儲存貯體的存取權：

```
{
    "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-2` `amzn-s3-demo-bucket-1`和 取代為您要授予存取權的 Amazon S3 儲存貯體名稱。

### 步驟 2：在 Amazon Quick 中指派政策
<a name="s3-assign-iam-policy"></a>

建立 IAM 政策後，將其指派給 Amazon Quick 使用者或群組。

1. 在 Amazon Quick admin 主控台**的許可**下，選擇 **IAM 政策指派**。

1. 選擇**新增指派**。

1. 輸入指派的名稱。

1. 在**選取 IAM 政策**頁面上，搜尋並選取您在步驟 1 中建立的 IAM 政策。選擇**下一步**。

1. 在**指派使用者和群組**頁面上，選擇下列其中一項：
   + 選取**指派給所有使用者和群組**，將政策套用至所有目前和未來的使用者。
   + 搜尋並選取要指派政策的特定使用者或群組。

   選擇**下一步**。

1. 在**檢閱並啟用變更**頁面上，驗證您的指派詳細資訊，然後選擇**儲存並啟用**。

未透過 IAM 政策指派明確授予存取權的使用者，將無法存取受限的 Amazon S3 儲存貯體來建立整合或知識庫。

# 文件層級 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`。

# 文件中繼資料
<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 字首，然後使用 加上尾碼`.metadata.json`，以形成中繼資料檔案的 Amazon S3 路徑。

**注意**  
合併的 Amazon S3 金鑰、中繼資料的 Amazon S3 字首和`.metadata.json`尾碼總計不得超過 1，024 個字元。建議您的 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 表示以 ISO 8601 格式記錄的時間：歐洲中部時間 2012 年 3 月 25 日 12:30 (加 10 秒)。

`AccessControlList` 欄位是選用的陣列，可定義文件層級存取控制。陣列中的每個項目都包含下列欄位：
+ `Name` – `USER`類型為 Quick 中使用者的電子郵件地址。對於 `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 儲存貯體位置** – 選擇 **Quick Suite 執行個體帳戶**以存取啟用 Amazon Quick 的相同帳戶中的 Amazon S3 儲存貯體，或選擇**其他 AWS 帳戶**以存取不同帳戶中的儲存貯體。 AWS 
   + **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. 選擇**動作**下的三點圖示，然後選擇**編輯知識庫**。

1. 視需要更新您的組態設定，然後選擇**儲存**。

### 建立其他知識庫
<a name="s3-create-additional-knowledge-base"></a>

您可以從相同的 Amazon S3 整合建立多個知識庫：

1. 在 Amazon Quick 主控台中，選擇**整合**，然後選取**資料**索引標籤。

1. 從清單中選擇現有的 Amazon S3 整合。

1. 選擇**動作**下的三點圖示，然後選擇**建立知識庫**。

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 中其他帳戶使用 Amazon S3 儲存貯體的存取權。 AWS 

**解決方案：**要求管理員授予跨帳戶 Amazon S3 存取權。如需詳細資訊，請參閱[授予 Amazon Quick 對 Amazon S3 儲存貯體的存取權](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 日誌**，以識別特定許可問題。 AccessDenied 
+ **檢查 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)。