Slack - Amazon Kendra

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

Slack

Slack 是一種企業通訊應用程式,可讓使用者透過各種公有和私有頻道傳送訊息和附件。您可以使用 Amazon Kendra為 Slack 公有和私有頻道、機器人和封存訊息、檔案和附件、直接和群組訊息編製索引。您也可以選擇要篩選的特定內容。

注意

Amazon Kendra現在支援升級的 Slack 連接器。

主控台已為您自動升級。您在主控台中建立的任何新連接器都將使用升級的架構。如果您使用 API,您現在必須使用 TemplateConfiguration 物件,而不是 SlackConfiguration 物件來設定連接器。

使用舊版主控台和 API 架構設定的連接器將繼續按設定運作。不過,您將無法編輯或更新它們。如果您想要編輯或更新連接器組態,則必須建立新的連接器。

建議您將連接器工作流程遷移至升級版本。使用較舊架構設定的連接器支援預計在 2024 年 6 月結束。

您可以使用Amazon Kendra主控台TemplateConfiguration API Amazon Kendra連線到 Slack 資料來源。

如需對 Amazon KendraSlack 資料來源連接器進行故障診斷,請參閱 對資料來源進行故障診斷

支援的功能

Amazon KendraSlack 資料來源連接器支援下列功能:

  • 欄位對應

  • 使用者存取控制

  • 包含/排除篩選條件

  • 完整和增量內容同步

  • 虛擬私有雲端 (VPC)

先決條件

在您可以使用 Amazon Kendra為 Slack 資料來源編製索引之前,請在 Slack 和AWS帳戶中進行這些變更。

在 Slack 中,請確定您有:

  • 已設定 Slack Bot User OAuth 權杖或 Slack User OAuth 權杖。您可以選擇其中一個權杖Amazon Kendra來連線至 Slack 資料來源。使用 做為身分驗證登入資料時需要字符。如需詳細資訊,請參閱 Slack 存取字符相關文件

    注意

    如果您使用機器人字符做為 Slack 登入資料的一部分,則無法為直接訊息和群組訊息編製索引,而且必須將機器人字符新增至要編製索引的頻道。

    注意

    建議定期更新或輪換憑證與機密。僅授予作業所需的最低存取層級,以確保自身安全。我們不建議您在資料來源以及連接器 1.0 和 2.0 版 (如適用) 之間重複使用登入資料和秘密。

  • 從 Slack 工作區主頁面 URL 記下您的 Slack 工作區團隊 ID。例如: https://app.slack.com/client/T0123456789/... 中的 T0123456789 即為團隊 ID。

  • 新增下列 Oauth 範圍/許可:

    使用者字符範圍 機器人字符範圍
    • 通道:歷史記錄

    • 通道:讀取

    • 表情符號:讀取

    • 檔案:讀取

    • group:history

    • 群組:讀取

    • im:history

    • im:read

    • mpim:history

    • mpim:read

    • team:read

    • user.profile:讀取

    • 使用者:讀取

    • user:read.email

    • 通道:歷史記錄

    • 通道:管理

    • 通道:讀取

    • conversations.connect:manage

    • conversations.connect:read

    • 檔案:讀取

    • group:history

    • 群組:讀取

    • im:history

    • im:read

    • mpim:history

    • mpim:read

    • 反應:讀取

    • team:read

    • 使用者群組:讀取

    • user.profile:讀取

    • 使用者:讀取

    • user:read.email

  • 已檢查每個文件在 Slack 中以及您計劃用於相同索引的其他資料來源中是唯一的。您要用於索引的每個資料來源不得包含跨資料來源的相同文件。文件 IDs是索引的全域 ID,且每個索引必須是唯一的。

在您的 中AWS 帳戶,請確定您有:

  • 已建立Amazon Kendra索引,如果使用 API, 會記下索引 ID。

  • 為您的資料來源建立 IAM角色,如果使用 API, 會記下IAM角色的 ARN。

    注意

    如果您變更身分驗證類型和登入資料,則必須更新您的IAM角色以存取正確的AWS Secrets Manager秘密 ID。

  • 將您的 Slack 身分驗證憑證存放在AWS Secrets Manager秘密中,如果使用 API, 會記下秘密的 ARN。

    注意

    建議定期更新或輪換憑證與機密。僅授予作業所需的最低存取層級,以確保自身安全。我們不建議您在資料來源以及連接器 1.0 和 2.0 版 (如適用) 之間重複使用登入資料和秘密。

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

連線指示

若要Amazon Kendra連線至 Slack 資料來源,您必須提供 Slack 資料來源的必要詳細資訊,以便 Amazon Kendra可以存取您的資料。如果您尚未為 設定 SlackAmazon Kendra,請參閱 先決條件

Console

Amazon Kendra連線至 Slack

  1. 登入 AWS 管理主控台並開啟 Amazon Kendra主控台

  2. 從左側導覽窗格中,選擇索引,然後從索引清單中選擇您要使用的索引。

    注意

    您可以選擇在索引設定下設定或編輯使用者存取控制設定。

  3. 入門頁面上,選擇新增資料來源

  4. 新增資料來源頁面上,選擇 Slack 連接器,然後選擇新增連接器。如果使用版本 2 (如適用),請選擇具有「V2.0」標籤的 Slack 連接器

  5. 指定資料來源詳細資訊頁面上,輸入下列資訊:

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

    2. (選用) 描述 — 輸入資料來源的選用描述。

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

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

    5. 選擇下一步

  6. 定義存取和安全性頁面上,輸入下列資訊:

    1. 對於 Slack 工作區團隊 ID—Slack 工作區的團隊 ID。您可以在 Slack 工作區主頁面 URL 中找到團隊 ID。例如: https://app.slack.com/client/T0123456789/... 中的 T0123456789 即為團隊 ID。

    2. 授權:如果您有 ACL 並想要將其用於存取控制,請開啟或關閉文件的存取控制清單 (ACL) 資訊。ACL 指定使用者可以和群組存取哪些文件。ACL 資訊用於根據使用者或其群組對文件的存取來篩選搜尋結果。如需詳細資訊,請參閱使用者內容篩選

    3. AWS Secrets Managersecret - 選擇現有的秘密或建立新的Secrets Manager秘密來存放 Slack 身分驗證登入資料。如果您選擇建立新的秘密,則會AWS Secrets Manager開啟秘密視窗。

      1. 建立AWSSecrets Manager秘密視窗中輸入下列資訊:

        1. 機密名稱 - 輸入您的機密名稱。字首「AmazonKendra-Slack-」會自動新增至您的秘密名稱。

        2. 針對 Slack 字符 - 輸入您設定的 Slack 身分驗證憑證值。

      2. 儲存並新增您的秘密。

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

    5. 身分爬蟲程式 - 指定是否開啟 Amazon Kendra的身分爬蟲程式。身分爬蟲程式會使用文件的存取控制清單 (ACL) 資訊,根據使用者或其群組對文件的存取來篩選搜尋結果。如果您有文件的 ACL 並選擇使用 ACL,您也可以選擇開啟Amazon Kendra身分爬蟲程式,以設定搜尋結果的使用者內容篩選。否則,如果關閉身分識別編目程式,則所有文件都可公開搜尋。如果您想要使用文件的存取控制,而身分識別編目程式為關閉狀態,您可以改用 PutPrincipalMapping API 來上傳使用者和群組存取資訊,以供使用者內容篩選使用。

    6. IAMrole - 選擇現有IAM角色或建立新的IAM角色,以存取您的儲存庫登入資料和索引內容。

      注意

      IAM用於索引的 角色無法用於資料來源。如果您不確定現有角色是否用於索引或常見問答集,請選擇建立新角色以避免錯誤。

    7. 選擇下一步

  7. 設定同步設定頁面上,輸入下列資訊:

    1. 選取內容類型 - 選取您要抓取的 Slack 實體或內容類型。您可以從所有頻道、公有頻道、私有頻道、群組訊息和私有訊息中進行選擇。

    2. 選取網路爬取開始日期 - 輸入您要開始網路爬取內容的日期。

    3. 對於其他組態 - 選擇包含機器人和封存的訊息,並使用規則表達式模式來包含或排除特定內容。

      注意

      如果您選擇同時針對頻道 IDs和頻道名稱包含 ,Amazon KendraSlack 連接器會將頻道 IDs優先於頻道名稱。

      如果您選擇包含特定私有和群組訊息,Amazon KendraSlack 連接器會忽略所有私有和群組訊息,並且只會編目您指定的私有和群組訊息。

    4. 同步模式 - 選擇您希望在資料來源內容變更時如何更新索引。當您Amazon Kendra第一次使用 同步資料來源時,預設會爬取所有內容並編製索引。如果初始同步失敗,即使您未選擇完全同步做為同步模式選項,仍必須執行資料的完整同步。

      • 完全同步:新編製所有內容的索引,每次資料來源與索引同步時取代現有的內容。

      • 新的、已修改、已刪除的同步:每次資料來源與您的索引同步時,僅索引新的、已修改和已刪除的內容。 Amazon Kendra可以使用資料來源的機制來追蹤自上次同步以來變更的內容和索引內容。

    5. 同步執行排程中,針對頻率 - 選擇同步資料來源內容和更新索引的頻率。

    6. 選擇下一步

  8. 設定欄位映射頁面上,輸入下列資訊:

    1. 預設資料來源欄位 - 從您要映射至索引Amazon Kendra的產生預設資料來源欄位中選取 。

    2. 新增欄位 - 新增自訂資料來源欄位,以建立要映射的索引欄位名稱和欄位資料類型。

    3. 選擇下一步

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

API

Amazon Kendra連線至 Slack

您必須使用 TemplateConfiguration API 指定資料來源結構描述的 JSON。您必須提供下列資訊:

  • 資料來源 - 當您使用 TemplateConfiguration JSON 結構描述SLACK時,指定資料來源類型。另請在呼叫 CreateDataSource API TEMPLATE時將資料來源指定為 。

  • Slack 工作區團隊 ID - 您從 Slack 主頁面 URL 複製的 Slack 團隊 ID。

  • 開始日期 — 開始從 Slack 工作區團隊爬取資料的日期。日期必須遵循此格式:yyyy-mm-dd。

  • 同步模式 - 指定 Amazon Kendra如何在資料來源內容變更時更新索引。當您第一次使用 Amazon Kendra同步資料來源時,預設會爬取所有內容並編製索引。如果初始同步失敗,即使您未選擇完全同步做為同步模式選項,仍必須執行資料的完整同步。您可以選擇:

    • FORCED_FULL_CRAWL 以重新編製所有內容的索引,每次資料來源與索引同步時都會取代現有的內容。

    • FULL_CRAWL 每次資料來源與您的索引同步時, 只會編製新內容、修改內容和已刪除內容的索引。Amazon Kendra 可以使用資料來源的機制來追蹤自上次同步以來變更的內容變更和索引內容。

    • CHANGE_LOG 每次資料來源與您的索引同步時, 只會編製新內容和修改內容的索引。Amazon Kendra 可以使用資料來源的機制來追蹤自上次同步以來變更的內容變更和索引內容。

  • 身分爬蟲程式 - 指定是否開啟 Amazon Kendra的身分爬蟲程式。身分爬蟲程式會使用文件的存取控制清單 (ACL) 資訊,根據使用者或其群組對文件的存取來篩選搜尋結果。如果您有文件的 ACL 並選擇使用 ACL,您也可以選擇開啟Amazon Kendra身分爬蟲程式,以設定搜尋結果的使用者內容篩選。否則,如果關閉身分識別編目程式,則所有文件都可公開搜尋。如果您想要使用文件的存取控制,而身分識別編目程式為關閉狀態,您可以改用 PutPrincipalMapping API 來上傳使用者和群組存取資訊,以供使用者內容篩選使用。

  • Secret Amazon Resource Name (ARN)—提供秘密的 Amazon Resource Name (ARN)Secrets Manager,其中包含 Slack 帳戶的身分驗證憑證。秘密會以下列金鑰存放在 JSON 結構中:

    { "slackToken": "token" }
  • IAMrole—指定RoleArn您何時呼叫 CreateDataSource 以提供IAM角色存取Secrets Manager秘密的許可,以及呼叫 Slack 連接器所需的公有 APIs 和 Amazon Kendra。如需詳細資訊,請參閱 IAMSlack 資料來源的角色

您也可以新增下列選用功能:

  • Virtual Private Cloud (VPC) — 指定VpcConfiguration何時呼叫 CreateDataSource。如需詳細資訊,請參閱設定 Amazon Kendra以使用Amazon VPC

  • 特定頻道 - 依公有或私有頻道篩選,並依其 ID 指定特定頻道。

  • 頻道和訊息的類型 — 是否Amazon Kendra應為您的公有和私有頻道、您的群組和直接訊息,以及您的機器人和封存訊息編製索引。如果您使用機器人權杖做為 Slack 身分驗證登入資料的一部分,則必須將機器人權杖新增至要編製索引的頻道。您不能使用機器人字符為直接訊息和群組訊息編製索引。

  • 回顧 - 您可以選擇設定lookBack參數,讓 Slack 連接器編目更新或刪除內容,直到上次連接器同步之前的指定小時數為止。

  • 包含和排除篩選條件 - 指定是否包含或排除特定 Slack 內容。如果您使用機器人權杖做為 Slack 身分驗證登入資料的一部分,則必須將機器人權杖新增至要編製索引的頻道。您不能使用機器人字符為直接訊息和群組訊息編製索引。

    注意

    大多數資料來源使用規則表達式模式,作為包含或排除的篩選規則,稱為篩選條件。若您設定包含篩選條件,則只有符合該條件的內容會被編列索引。任何不符合包含篩選條件的文件都不會編製索引。如果您指定包含和排除篩選條件,則符合排除篩選條件的文件不會編製索引,即使它們符合包含篩選條件。

  • 欄位映射 - 選擇將 Slack 資料來源欄位映射至您的Amazon Kendra索引欄位。如需詳細資訊,請參閱映射資料來源欄位

    注意

    需要文件內文欄位或文件內文對等項目, Amazon Kendra才能搜尋您的文件。您必須將資料來源中的文件內文欄位名稱映射至索引欄位名稱 _document_body。所有其他欄位是選用的。

如需其他要設定之重要 JSON 金鑰的清單,請參閱Slack範本結構描述

進一步了解

若要進一步了解Amazon Kendra如何與您的 Slack 資料來源整合,請參閱: