

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

# Amazon Kendra Web 爬蟲程式連接器 2.0 版
<a name="data-source-v2-web-crawler"></a>

您可以使用 Amazon Kendra Web 爬蟲程式來編目和編製網頁索引。

您只能網路爬取公開網站或使用安全通訊協定超文字傳輸通訊協定安全 (HTTPS) 的內部公司網站。如果在網路爬取網站時收到錯誤訊息，可能是網站阻止網路爬取。若要爬取內部網站，可設定 Web 代理伺服器。Web 代理伺服器必須可供公網存取。也可透過驗證方式存取並爬取網站。

Amazon Kendra Web Crawler v2.0 使用 Selenium Web 爬蟲程式套件和 Chromium 驅動程式。 會使用持續整合 (CI) Amazon Kendra 自動更新 Selenium 和 Chromium 驅動程式的版本。

*選取要索引的網站時，您必須遵守 [Amazon 可接受的使用政策](https://aws.amazon.com/aup/)以及 Amazon所有其他條款。請記住，您只能使用 Amazon Kendra Web Crawler 為您自己的網頁或您有權編製索引的網頁編製索引。若要了解如何停止 Amazon Kendra Web Crawler 為您的網站編製索引 （請參閱 [為 Amazon Kendra Web 爬蟲程式設定 `robots.txt` 檔案](stop-web-crawler.md))，請參閱 *。濫用 Amazon Kendra Web 爬蟲程式來積極地爬取非您所擁有的網站或網頁，**並不**被視為可接受使用。

如需對 Amazon Kendra Web 爬蟲程式資料來源連接器進行故障診斷，請參閱 [對資料來源進行故障診斷](troubleshooting-data-sources.md)。

**注意**  
Web Crawler 連接器 v2.0 *不支援*從 AWS KMS 加密儲存 Amazon S3 貯體中爬取網站清單。它僅支援具有 Amazon S3 受管金鑰的伺服器端加密。

**重要**  
不支援建立 Web Crawler v2.0 連接器。 CloudFormation如果您需要 CloudFormation 支援，請使用 Web Crawler v1.0 連接器。

**Topics**
+ [支援的功能](#supported-features-v2-web-crawler)
+ [先決條件](#prerequisites-v2-web-crawler)
+ [連線指示](#data-source-v2-procedure-web-crawler)

## 支援的功能
<a name="supported-features-v2-web-crawler"></a>
+ 欄位對應
+ 包含/排除篩選條件
+ 完整和增量內容同步
+ Web 代理伺服器
+ 網站的基本、NTLM/Kerberos、SAML 和表單驗證
+ 虛擬私有雲端 (VPC)

## 先決條件
<a name="prerequisites-v2-web-crawler"></a>

在您可以使用 Amazon Kendra 為網站編製索引之前，請檢查網站和 AWS 帳戶的詳細資訊。

**對於您的網站，請確定您有：**
+ 複製您要編製索引之網站的種子或網站地圖 URLs。您可以將 URLs存放在文字檔案中，並將其上傳至 儲存 Amazon S3 貯體。文字檔案中的每個 URL 必須單獨位於一行。如果您想要將網站地圖存放在 Amazon S3 儲存貯體中，請確定您已複製網站地圖 XML，並將其儲存在 XML 檔案中。您也可以將多個網站地圖 XML 檔案合併為 ZIP 檔案。
**注意**  
（內部部署/伺服器） 會 Amazon Kendra 檢查 中包含的端點資訊是否 AWS Secrets Manager 與資料來源組態詳細資訊中指定的端點資訊相同。這有助於防止[混淆代理人問題](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)，這是一個安全問題，其中使用者沒有執行動作的許可，但使用 Amazon Kendra 做為代理來存取設定的秘密並執行動作。如果您稍後變更端點資訊，則必須建立新的秘密才能同步此資訊。
+ **若網站需要基本身分驗證、NTLM 驗證或 Kerberos 身分驗證：**
  + 請注意您的網站身分驗證登入資料，其中包含使用者名稱和密碼。
**注意**  
Amazon Kendra Web Crawler v2.0 支援包含密碼雜湊的 NTLM 身分驗證通訊協定，以及包含密碼加密的 Kerberos 身分驗證通訊協定。
+ **若網站需要 SAML 或登入表單驗證：**
  + 請注意您的網站身分驗證登入資料，其中包含使用者名稱和密碼。
  + 複製使用者名稱欄位 （以及使用 SAML 時的使用者名稱按鈕）、密碼欄位和按鈕的 XPaths (XML 路徑語言），並複製登入頁面 URL。可透過瀏覽器的開發人員工具取得元素的 XPath。XPath 通常採用以下格式：`//tagname[@Attribute='Value']`。
**注意**  
Amazon Kendra Web Crawler v2.0 使用無頭 Chrome 瀏覽器和表單中的資訊來驗證和授權 OAuth 2.0 受保護 URL 的存取。
+ **選用**：如果您想要使用 Web 代理連線到您要抓取的內部網站，請複製 Web 代理伺服器的主機名稱和連接埠號碼。Web 代理必須是公開面向。 Amazon Kendra 支援連接到基本身分驗證支援的 Web 代理伺服器，或者您可以不使用身分驗證進行連線。
+ **選用：**若要使用虛擬私有雲端 (VPC) 連接至您要爬取的內部網站，請複製 VPC 子網路 ID。如需詳細資訊，請參閱[設定 Amazon VPC](https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html)。
+ 已檢查您要編製索引的每個網頁文件是唯一的，而且在您計劃用於相同索引的其他資料來源中也是如此。您要用於索引的每個資料來源不得包含跨資料來源的相同文件。文件 IDs是索引的全域 ID，且每個索引必須是唯一的。

**在您的帳戶中 AWS ，請確定您有：**
+ [建立 Amazon Kendra 索引](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html)，如果使用 API， 會記下索引 ID。
+ 為您的資料來源[建立 IAM 角色](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)，如果使用 API， 會記下 IAM 角色的 Amazon Resource Name。
**注意**  
如果您變更身分驗證類型和登入資料，則必須更新您的 IAM 角色以存取正確的 AWS Secrets Manager 秘密 ID。
+ 對於需要身分驗證的網站，或者如果使用 Web 代理搭配身分驗證， 會將您的身分驗證憑證存放在 AWS Secrets Manager 秘密中，如果使用 API， 會記下秘密的 ARN。
**注意**  
建議定期更新或輪換憑證與機密。僅授予作業所需的最低存取層級，以確保自身安全。**我們不**建議您在資料來源和連接器版本 1.0 和 2.0 （如適用） 之間重複使用登入資料和秘密。

如果您沒有現有的 IAM 角色或秘密，您可以在連接web crawler資料來源時，使用 主控台建立新的 IAM 角色和 Secrets Manager 秘密 Amazon Kendra。如果您使用的是 API，則必須提供現有 IAM 角色和 Secrets Manager 秘密的 ARN，以及索引 ID。

## 連線指示
<a name="data-source-v2-procedure-web-crawler"></a>

若要 Amazon Kendra 連線至web crawler資料來源，您必須提供web crawler資料來源的必要詳細資訊， Amazon Kendra 才能存取您的資料。如果您尚未web crawler為 設定 ， Amazon Kendra 請參閱 [先決條件](#prerequisites-v2-web-crawler)。

------
#### [ Console ]

** Amazon Kendra 連線至 web crawler** 

1. 登入 AWS 管理主控台 並開啟 [Amazon Kendra 主控台](https://console.aws.amazon.com/kendra/)。

1. 從左側導覽窗格中，選擇**索引**，然後從索引清單中選擇您要使用的索引。
**注意**  
您可以選擇在索引設定下設定或編輯**使用者存取控制**設定。 ****

1. 在**入門**頁面上，選擇**新增資料來源**。

1. 在**新增資料來源**頁面上，選擇 **Web 爬蟲程式連接器**，然後選擇**新增連接器**。如果使用版本 2 （如適用），請選擇具有「V2.0」標籤的 **Web 爬蟲程式連接器**。

1. 在**指定資料來源詳細資訊**頁面上，輸入下列資訊：

   1. 在**名稱和描述**中，針對**資料來源名稱** - 輸入資料來源的名稱。您可以包含連字號，但不能包含空格。

   1. （選用） **描述** — 輸入資料來源的選用描述。

   1. 在**預設語言** - 選擇語言來篩選索引的文件。除非您另有指定，否則語言預設為英文。文件中繼資料中指定的語言會覆寫選取的語言。

   1. 在**標籤**中，針對**新增標籤** - 包含選用標籤，以搜尋和篩選您的資源或追蹤您的 AWS 成本。

   1. 選擇**下一步**。

1. 在**定義存取和安全性**頁面上，輸入下列資訊：

   1. **來源** - 選擇**來源 URLs**、**來源網站地圖**、**來源 URLs 檔案**、**來源網站地圖檔案**。如果您選擇使用包含最多 100 URLs 清單的文字檔案，您可以指定儲存檔案的 Amazon S3 儲存貯體路徑。如果您選擇使用網站地圖 XML 檔案，您可以指定儲存檔案的儲存 Amazon S3 貯體路徑。您也可以將多個網站地圖 XML 檔案合併為 ZIP 檔案。否則，您可手動輸入最多 10 個種子/起點 URL，以及最多 3 個網站地圖 URL。
**注意**  
若要由編目程式爬取網站地圖，請確認基礎或根 URL 是否與網站地圖頁面中列出的 URL 相同。例如：若您的網站地圖 URL 為 *https://example.com/sitemap-page.html*，則該網站地圖頁面中列出的 URL 也必須使用相同的基本 URL "https://example.com/"。

      如果您的網站需要身分驗證才能存取網站，您可以選擇基本、NTLM/Kerberos、SAML 或表單身分驗證。否則，請選擇沒有身分驗證的選項。
**注意**  
如果您想要稍後編輯資料來源以使用身分驗證將種子 URLs 變更為網站地圖，則必須建立新的資料來源。 會使用 Secrets Manager 秘密中的種子 URLs端點資訊 Amazon Kendra 來設定資料來源以進行身分驗證，因此在變更為網站地圖時無法重新設定資料來源。

      1. **AWS Secrets Manager 秘密** — 如果您的網站需要相同的身分驗證才能存取網站，請選擇現有的秘密或建立新的 Secrets Manager 秘密來存放您的網站登入資料。如果您選擇建立新的秘密，則會開啟 AWS Secrets Manager 秘密視窗。

        如果您選擇**基本**或 **NTML/Kerberos** 身分驗證，請輸入秘密的名稱，以及使用者名稱和密碼。NTLM 驗證協定包含密碼雜湊，Kerberos 身分驗證協定包含密碼加密。

        如果您選擇 **SAML** 或**表單**身分驗證，請輸入秘密的名稱，以及使用者名稱和密碼。將 XPath 用於使用者名稱欄位 （如果使用 SAML，則將 XPath 用於使用者名稱按鈕）。將 XPaths 用於密碼欄位和按鈕，以及登入頁面 URL。您可使用網頁瀏覽器的開發人員工具尋找元素的 XPath (XML 路徑語言)。XPath 通常採用以下格式：`//tagname[@Attribute='Value']`。

   1. （選用） **Web 代理** — 輸入要用來連線至內部網站的代理伺服器主機名稱和連接埠號碼。例如， 的主機名稱*https://a.example.com/page1.html*為 "a.example.com"，連接埠號碼為 443，HTTPS 的標準連接埠。如果需要 Web 代理登入資料才能連線到網站主機，您可以建立 AWS Secrets Manager 來存放登入資料。

   1. **Virtual Private Cloud (VPC)** — 您可以選擇使用 VPC。若是如此，您必須新增**子網路**和 **VPC 安全群組**。

   1. **IAM role** - 選擇現有 IAM 角色或建立新的 IAM 角色，以存取您的儲存庫登入資料和索引內容。
**注意**  
IAM 用於索引的 角色無法用於資料來源。如果您不確定現有角色是否用於索引或常見問答集，請選擇**建立新角色**以避免錯誤。

   1. 選擇**下一步**。

1. 在**設定同步設定**頁面上，輸入下列資訊：

   1. **同步範圍** - 設定網路爬取網頁的限制，包括其網域、檔案大小和連結；以及使用 regex 模式篩選 URLs。

      1. （選用） **爬取網域範圍** - 選擇是否僅爬取網站網域、具有子網域的網域，還是也要爬取網頁連結的其他網域。根據預設， Amazon Kendra 只會編目您要編目的網站網域。

      1. （選用） **其他組態** - 設定下列設定：
         + **爬蟲深度** - 從種子層級到爬蟲的「深度」或關卡數量。例如，種子 URL 頁面為深度 1，而且此頁面上也爬取的任何超連結為深度 2。
         + **檔案大小上限** - 要爬取之網頁或附件的大小上限，以 MB 為單位。
         + **每個頁面的連結上限** — 單一網頁上要爬取URLs 數目上限。
         + **爬取速度的最大限流** — 每分鐘每個網站主機爬取URLs 數目上限。
         + **檔案** - 選擇編目網頁連結的檔案。
         + **編目和索引 URLs** - 新增規則表達式模式，以包含或排除編目特定 URLs，並為這些 URL 網頁上的任何超連結編製索引。

   1. **同步模式** - 選擇您希望在資料來源內容變更時更新索引的方式。當您 Amazon Kendra 第一次使用 同步資料來源時，預設會爬取所有內容並編製索引。如果初始同步失敗，即使您未選擇完全同步做為同步模式選項，仍必須執行資料的完整同步。
      + 完全同步：全新編製所有內容的索引，每次資料來源與索引同步時取代現有的內容。
      + 新的、已修改、已刪除的同步：每次資料來源與您的索引同步時，僅索引新的、已修改和已刪除的內容。 Amazon Kendra 可以使用資料來源的機制來追蹤自上次同步以來變更的內容和索引內容。

   1. **同步執行排程** - 針對**頻率**，選擇與您的資料來源 Amazon Kendra 同步的頻率。

   1. 選擇**下一步**。

1. 在**設定欄位映射**頁面上，輸入下列資訊：

   1. 從您要映射到索引的網頁和檔案 Amazon Kendra 產生的預設欄位中選取 。

   1. 選擇**下一步**。

1. 在**檢閱和建立**頁面上，檢查您輸入的資訊是否正確，然後選取**新增資料來源**。您也可以選擇從此頁面編輯您的資訊。成功新增資料來源後，您的**資料來源**將顯示在資料來源頁面上。

------
#### [ API ]

** Amazon Kendra 連線至 web crawler**

您必須使用 [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API [指定資料來源結構描述](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-web-crawler-schema)的 JSON。您必須提供下列資訊：
+ **資料來源** - 當您使用 [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 結構描述`WEBCRAWLERV2`時，指定資料來源類型。當您呼叫 [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API `TEMPLATE`時，也請將資料來源指定為 。
+ **URLs** - 指定網站的種子或起點 URLs，或您要抓取的網站的網站地圖 URLs。您可以指定儲存種子 URL 清單的 Amazon S3 儲存貯體路徑。 URLs 種子 URL 的文字檔案中的每個 URLs 都必須在單獨的一行上格式化。您也可以指定儲存網站地圖 XML 檔案之 Amazon S3 儲存貯體的路徑。您可以將多個網站地圖檔案合併為 ZIP 檔案，並將 ZIP 檔案存放在儲存 Amazon S3 貯體中。
**注意**  
若要由編目程式爬取網站地圖，請確認基礎或根 URL 是否與網站地圖頁面中列出的 URL 相同。例如：若您的網站地圖 URL 為 *https://example.com/sitemap-page.html*，則該網站地圖頁面中列出的 URL 也必須使用相同的基本 URL "https://example.com/"。
+ **同步模式** - 指定 Amazon Kendra 如何在資料來源內容變更時更新索引。當您第一次使用 Amazon Kendra 同步資料來源時，預設會爬取所有內容並編製索引。如果初始同步失敗，即使您未選擇完全同步做為同步模式選項，仍必須執行資料的完整同步。您可以選擇：
  + `FORCED_FULL_CRAWL` 以新編製所有內容的索引，每次資料來源與索引同步時都會取代現有的內容。
  + `FULL_CRAWL` 每次資料來源與索引同步時， 只會編製新內容、修改內容和已刪除內容的索引。 Amazon Kendra 可以使用資料來源的機制來追蹤自上次同步以來變更的內容變更和索引內容。
+ **身分驗證** - 如果您的網站需要相同的身分驗證，請指定 `BasicAuth`、`SAML`、 `NTLM_Kerberos`或 `Form`身分驗證。如果您的網站不需要身分驗證，請指定 `NoAuthentication`。
+ **秘密 Amazon Resource Name (ARN)**：如果您的網站需要基本、NTLM 或 Kerberos 身分驗證，您會提供秘密來存放使用者名稱和密碼的身分驗證憑證。您提供 AWS Secrets Manager 秘密的 Amazon Resource Name (ARN)。秘密會以下列金鑰存放在 JSON 結構中：

  ```
  {
      "seedUrlsHash": "{{Hash representation of all seed URLs}}",
      "userName": "{{user name}}",
      "password": "{{password}}"
  }
  ```

  如果您的網站需要 SAML 身分驗證，秘密會存放在具有下列金鑰的 JSON 結構中：

  ```
  {
      "seedUrlsHash": "{{Hash representation of all seed URLs}}",                                
      "userName": "{{user name}}",
      "password": "{{password}}",
      "userNameFieldXpath": "{{XPath for user name field}}",
      "userNameButtonXpath": "{{XPath for user name button}}",
      "passwordFieldXpath": "{{XPath for password field}}",
      "passwordButtonXpath": "{{XPath for password button}}",
      "loginPageUrl": "{{Full URL for website login page}}"
  }
  ```

  如果您的網站需要表單身分驗證，秘密會存放在具有下列金鑰的 JSON 結構中：

  ```
  {
      "seedUrlsHash": "{{Hash representation of all seed URLs}}",
      "userName": "{{user name}}",
      "password": "{{password}}",
      "userNameFieldXpath": "{{XPath for user name field}}",
      "passwordFieldXpath": "{{XPath for password field}}",
      "passwordButtonXpath": "{{XPath for password button}}",
      "loginPageUrl": "{{Full URL for website login page}}"
  }
  ```

  您可使用網頁瀏覽器的開發人員工具尋找元素的 XPath (XML 路徑語言)。XPath 通常採用以下格式：`//tagname[@Attribute='Value']`。

  您也可以使用 和 AWS Secrets Manager 秘密提供 Web 代理登入資料。
+ **IAM role**—指定`RoleArn`您何時呼叫 `CreateDataSource` 以提供 IAM 角色存取 Secrets Manager 秘密的許可，以及呼叫 Web 爬蟲程式連接器所需的公有 APIs 和 Amazon Kendra。如需詳細資訊，請參閱 [IAM Web 爬蟲程式資料來源的角色](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)。

您也可以新增下列選用功能：
+  **Virtual Private Cloud (VPC)**—指定您呼叫 `VpcConfiguration`的時間`CreateDataSource`。如需詳細資訊，請參閱[設定 Amazon Kendra 以使用 Amazon VPC](vpc-configuration.md)。
+ **網域範圍** - 選擇是否只使用子網域來編目網站網域，還是也編目網頁連結的其他網域。根據預設， Amazon Kendra 只會編目您要編目的網站網域。
+ 從種子層級到爬取的「深度」或關卡數量。例如，種子 URL 頁面為深度 1，而且此頁面上也爬取的任何超連結為深度 2。
+ 單一網頁上要爬取URLs 數目上限。
+ 要爬取之網頁或附件的大小上限，以 MB 為單位。
+ 每分鐘每個網站主機網路爬取的 URL 數目上限。
+ 要連線至 和網路爬取內部網站的 Web 代理主機和連接埠號碼。例如， 的主機名稱*https://a.example.com/page1.html*為 "a.example.com"，連接埠號碼為 443，HTTPS 的標準連接埠。如果需要 Web 代理登入資料才能連線到網站主機，您可以建立 AWS Secrets Manager 來存放登入資料。
+ **包含和排除篩選條件** - 指定是否包含或排除編目特定 URLs並為這些 URL 網頁上的任何超連結編製索引。
**注意**  
大多數資料來源使用規則表達式模式，作為包含或排除的篩選規則，稱為篩選條件。若您設定包含篩選條件，則只有符合該條件的內容會被編列索引。任何不符合包含篩選條件的文件都不會編製索引。如果您指定包含和排除篩選條件，則符合排除篩選條件的文件不會編製索引，即使它們符合包含篩選條件。
+ **欄位映射** - 選擇將網頁和網頁檔案的欄位映射至您的 Amazon Kendra 索引欄位。如需詳細資訊，請參閱[映射資料來源欄位](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)。

如需要設定的其他重要 JSON 金鑰清單，請參閱 [Amazon Kendra Web 爬蟲程式範本結構描述](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-schema-web-crawler)。

------