連接至 Microsoft SharePoint 以取得知識庫 - Amazon Bedrock

連接至 Microsoft SharePoint 以取得知識庫

Microsoft SharePoint 是一種協作式以 Web 為基礎服務,可用於文件、網頁、網站、清單等。您可以使用 Amazon Bedrock 的 AWS 管理主控台CreateDataSource API 來連線至 Amazon Bedrock 知識庫的 SharePoint 執行個體 (請參閱 Amazon Bedrock 支援的 SDK 和 AWS CLI)。

注意

SharePoint 資料來源連接器目前為預覽版本,並可能會有所變更。

Microsoft SharePoint 資料來源不支援多模態資料,例如資料表、圖表、圖表或其他影像。

Amazon Bedrock 支援連線至 SharePoint Online 執行個體。目前不支援網路爬取 OneNote 文件。目前,只有 Amazon OpenSearch Serverless 向量存放區可搭配此資料來源使用。

可網路爬取的檔案數量及每個檔案大小 (MB) 都有限制。請參閱知識庫的配額

支援的功能

  • 自動偵測主要文件欄位

  • 包含/排除內容篩選條件

  • 新增、更新、刪除內容的增量內容同步

  • SharePoint 僅應用程式驗證

必要條件

SharePoint (線上)

在 SharePoint (線上) 中,完成下列步驟以使用 SharePoint 僅應用程式驗證:

  • 請記下您的 SharePoint Online 網站 URL。例如,https://yourdomain.sharepoint.com/sites/mysite。您的 URL 開頭必須是 https,且包含 sharepoint.com。您的網站 URL 必須是實際的 SharePoint 網站,而不是 sharepoint.com/sites/mysite/home.aspx

  • 請記下 SharePoint Online 執行個體 URL 的網域名稱。

  • 複製您的 Microsoft 365 租用戶 ID。您可以在 Microsoft Entra 入口網站的「屬性」中找到您的租用戶 ID。如需詳細資訊,請參閱尋找您的 Microsoft 365 租用戶 ID

    注意

    如需範例應用程式,請參閱 Microsoft Learn 網站上的在 Microsoft Entra ID 註冊用戶端應用程式 (舊稱為 Azure Active Directory)。

  • 設定 SharePoint 僅應用程式驗證。

  • 將許可授予 SharePoint 僅應用程式時,複製用戶端 ID 和用戶端機密值。如需詳細資訊,請參閱使用 SharePoint 僅應用程式授予存取權

    注意

    您不需要為 SharePoint 僅應用程式設定任何 API 許可。不過,您必須在 SharePoint 端設定應用程式許可。如需所需 APP 許可的詳細資訊,請參閱使用 SharePoint 僅應用程式授予存取權的 Microsoft 文件。

AWS 帳戶

在您的 AWS 帳戶中,請確認已完成下列項目

  • 將身分驗證憑證存放在 AWS Secrets Manager 機密中,並記下機密的 Amazon Resource Name (ARN)。遵循此頁面上的連線組態指示,以包含必須在機密中包含的鍵/值對。

  • 在知識庫的 AWS Identity and Access Management (IAM) 角色/許可政策中包含要連接至資料來源的必要許可。如需將此資料來源新增至知識庫 IAM 角色的必要許可資訊,請參閱存取資料來源的許可

注意

如果使用主控台,您可以前往 AWS Secrets Manager 新增秘密,或在資料來源組態步驟的過程中使用現有的秘密。您可以在建立知識庫的主控台步驟中,為您建立具有所有必要許可的 IAM 角色。在您設定資料來源和其他組態之後,具有所有必要許可的 IAM 角色會套用至特定知識庫。

建議定期更新或輪換憑證與機密。僅授予作業所需的最低存取層級,以確保自身安全。不建議您在資料來源之間重複使用憑證和機密。

連線組態

若要連線至 SharePoint 執行個體,您必須提供必要的組態資訊,Amazon Bedrock 才能存取和網路爬取資料。您也必須遵循 必要條件

本節包含此資料來源的組態範例。

如需文件欄位的自動偵測、包含/排除篩選條件、增量同步、私密身分驗證憑證,以及這些運作方式的詳細資訊,請選取下列各項:

資料來源連接器會自動偵測和網路爬取文件或內容的所有主要中繼資料欄位。例如,資料來源連接器可以網路爬取與您文件同等的文件內文、文件標題、文件建立或修改日期,或其他可能適用於文件的核心欄位。

重要

如果內容包含敏感資訊,則 Amazon Bedrock 可能會使用敏感資訊來回應。

您可以將篩選運算子套用至中繼資料欄位,以協助您進一步改善回應的相關性。例如,文件 "epoch_modification_time" 或文件上次更新時間的 1970 年 1 月 1 日經過的秒數。您可以篩選最近的資料,其中 "epoch_modification_time" 大於特定數字。如需可套用至中繼資料欄位之篩選運算子的詳細資訊,請參閱中繼資料和篩選

您可以包含或排除網路爬取特定內容。例如,您可以指定排除字首/規則表達式模式,略過對檔案名稱中包含「私有」的任何檔案的網路爬取。您也可以指定包含字首/規則表達式模式,以包含特定內容實體或內容類型。如果您指定包含篩選條件和排除篩選條件,且兩者皆與文件相符,則排除篩選條件會優先,且不會網路爬取文件。

規則表達式模式的範例,用於排除或篩選檔案名稱中包含「私有」的 PDF 檔案:".*private.*\\.pdf"

您可以在下列內容類型上套用包含/排除篩選條件:

  • Page:主頁面標題

  • Event:事件名稱

  • File:附件與所有文件檔案的檔案名稱及其副檔名

目前不支援網路爬取 OneNote 文件。

每次資料來源與知識庫同步時,資料來源連接器都會網路爬取新的、修改過的和刪除的內容。Amazon Bedrock 可以使用資料來源的機制來追蹤自上次同步以來變更的內容變更和網路爬取內容。當您第一次將資料來源與知識庫同步時,依預設會網路爬取所有內容。

若要將資料來源與知識庫同步,請使用 StartIngestionJob API,或在主控台中選取知識庫,然後在資料來源概觀區段中選取同步

重要

您從資料來源同步的所有資料可供具有 bedrock:Retrieve 許可能擷取資料的任何人使用。這也可以包含具有受控資料來源許可的任何資料。如需詳細資訊,請參閱知識庫許可

使用 SharePoint 僅應用程式驗證時,AWS Secrets Manager 中的私密身分驗證憑證必須包含這些鍵/值對:

  • clientId與您的 Microsoft Entra SharePoint 應用程式相關聯的用戶端 ID

  • clientSecret與您的 Microsoft Entra SharePoint 應用程式相關聯的用戶端機密

  • sharePointClientId註冊 SharePoint 僅應用程式驗證時產生的用戶端 ID

  • sharePointClientSecret註冊 SharePoint 僅應用程式驗證時產生的用戶端機密

注意

您在 AWS Secrets Manager 中的秘密必須使用與知識庫相同的區域。

Console
將 SharePoint 執行個體連接至知識庫
  1. 遵循 透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫 中的步驟,然後選擇 SharePoint 做為資料來源。

  2. 提供資料來源的名稱和選用的描述。

  3. 提供您的 SharePoint 網站 URL。例如,若是 SharePoint Online,則為 https://yourdomain.sharepoint.com/sites/mysite。您的 URL 開頭必須是 https,且包含 sharepoint.com。您的網站 URL 必須是實際的 SharePoint 網站,而不是 sharepoint.com/sites/mysite/home.aspx

  4. 提供 SharePoint 執行個體的網域名稱。

  5. 進階設定區段中,您可以選擇設定下列項目:

    • 用於暫時性資料儲存的 KMS 金鑰。– 您可以使用預設 AWS 受管金鑰 或您自己的 KMS 金鑰,在將資料轉換為嵌入時加密暫時性資料。如需詳細資訊,請參閱 資料擷取期間的暫時性資料儲存加密

    • 資料刪除政策 – 您可以刪除預設存放在向量存放區中資料來源的向量嵌入,或選擇保留向量存放區資料。

  6. 提供驗證資訊以連線到 SharePoint 執行個體:針對 SharePoint 僅應用程式驗證:

    1. 提供租用戶 ID。您可以在 Azure Active Directory 入口網站的「屬性」中找到您的租用戶 ID。

    2. 前往 AWS Secrets Manager 新增您的機密憑證,或使用現有的 Amazon Resource Name (ARN) 作為您建立的機密。您的機密必須包含當在租用戶層級或網站層級註冊僅應用程式時產生的 SharePoint 用戶端 ID 和 SharePoint 用戶端機密,以及當在 Entra 中註冊應用程式時產生的 Entra 用戶端 ID 和 Entra 用戶端機密。

  7. (選用) 在內容剖析和分塊區段中,您可以自訂如何將資料剖析和分塊。請參閱下列資源進一步了解這些自訂項目:

  8. 選擇以使用篩選條件/規則表達式模式來包含或排除特定內容。否則將會網路爬取所有標準內容。

  9. 繼續選擇嵌入模型和向量存放區。若要查看剩餘的步驟,請返回透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫,並在連接資料來源後繼續進行該步驟。

API

以下是 Amazon Bedrock 知識庫連線至 SharePoint Online 的組態範例。您可以使用 API 搭配 AWS CLI 或支援的 SDK (例如 Python) 來設定資料來源。呼叫 CreateKnowledgeBase 之後,您可以呼叫 CreateDataSource,在 dataSourceConfiguration 中使用連線資訊建立資料來源。

若要了解您可以透過包含選用 vectorIngestionConfiguration 欄位套用至擷取的自訂項目,請參閱自訂資料來源的擷取

AWS Command Line Interface

aws bedrock-agent create-data-source \ --name "SharePoint Online connector" \ --description "SharePoint Online data source connector for Amazon Bedrock to use content in SharePoint" \ --knowledge-base-id "your-knowledge-base-id" \ --data-source-configuration file://sharepoint-bedrock-connector-configuration.json \ --data-deletion-policy "DELETE"

sharepoint-bedrock-connector-configuration.json 的內容

{ "sharePointConfiguration": { "sourceConfiguration": { "tenantId": "888d0b57-69f1-4fb8-957f-e1f0bedf64de", "hostType": "ONLINE", "domain": "yourdomain", "siteUrls": [ "https://yourdomain.sharepoint.com/sites/mysite" ], "authType": "OAUTH2_SHAREPOINT_APP_ONLY_CLIENT_CREDENTIALS", "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-SharePoint" }, "crawlerConfiguration": { "filterConfiguration": { "type": "PATTERN", "patternObjectFilter": { "filters": [ { "objectType": "File", "inclusionFilters": [ ".*\\.pdf" ], "exclusionFilters": [ ".*private.*\\.pdf" ] } ] } } } }, "type": "SHAREPOINT" }
重要

不建議使用 OAuth2.0 身分驗證。建議您使用 SharePoint 僅應用程式驗證。

使用 OAuth 2.0,您可以對與知識庫整合的 SharePoint 連接器進行驗證,並授權存取 SharePoint 資源。

先決條件

在 SharePoint 中,對於 OAuth 2.0 身分驗證,請確定您

  • 請記下您的 SharePoint Online 網站 URL。例如,https://yourdomain.sharepoint.com/sites/mysite。您的 URL 開頭必須是 https,且包含 sharepoint.com。您的網站 URL 必須是實際的 SharePoint 網站,而不是 sharepoint.com/sites/mysite/home.aspx

  • 請記下 SharePoint Online 執行個體 URL 的網域名稱。

  • 複製您的 Microsoft 365 租用戶 ID。您可以在 Microsoft Entra 入口網站或 OAuth 應用程式的「屬性」中找到您的租用戶 ID。

    請記下管理員 SharePoint 帳戶的使用者名稱和密碼,並在註冊應用程式時複製用戶端 ID 和用戶端機密值。

    注意

    如需範例應用程式,請參閱 Microsoft Learn 網站上的在 Microsoft Entra ID 註冊用戶端應用程式 (舊稱為 Azure Active Directory)。

  • 當您註冊應用程式時,需要特定讀取許可才能連線至 SharePoint。

    • SharePoint:AllSites.Read (委派) – 讀取所有網站集合中的項目

  • 您可能需要使用管理員使用者在 Azure 入口網站中關閉安全預設值。如需在 Azure 入口網站中管理安全預設設定的詳細資訊,請參閱 Microsoft 文件以了解如何啟用/停用安全預設值

  • 您可能需要關閉 SharePoint 帳戶中的多重要素驗證 (MFA),才不會封鎖 Amazon Bedrock 網路爬取您的 SharePoint 內容。

若要完成先決條件,請確定您已完成 AWS 帳戶 中的步驟。

私密身分驗證憑證

對於 OAuth2.0 的連線組態,您可以執行與自動偵測主要文件欄位、包含/排除篩選條件和增量同步相同的步驟,如 連線組態 中所述。

對於 OAuth 2.0 身分驗證,您在 AWS Secrets Manager 中的私密身分驗證憑證必須包含這些鍵/值對

  • usernameSharePoint 管理員使用者名稱

  • passwordSharePoint 管理員密碼

  • clientIdOAuth 應用程式用戶端 ID

  • clientSecretOAuth 應用程式用戶端機密

將 SharePoint 執行個體連接至知識庫

若要在使用 OAuth2.0 時將 SharePoint 執行個體連線至您的知識庫:

  • (主控台) 在主控台中,遵循將 SharePoint 執行個體連接至知識庫中所述的相同步驟。當您想要提供驗證資訊以連線到 SharePoint 執行個體時。

    • 提供租用戶 ID。您可以在 Azure Active Directory 入口網站的「屬性」中找到您的租用戶 ID。

    • 前往 AWS Secrets Manager 新增您的私密身分驗證憑證,或使用現有的 Amazon Resource Name (ARN) 作為您建立的密碼。您的機密必須包含 SharePoint 管理員使用者名稱和密碼,以及您已註冊的應用程式用戶端 ID 和用戶端機密。如需範例應用程式,請參閱 Microsoft Learn 網站上的在 Microsoft Entra ID 註冊用戶端應用程式 (舊稱為 Azure Active Directory)。

  • (API) 以下範例示範如何使用 CreateDataSource API 建立包含 OAuth2.0 連線資訊的資料來源。

    aws bedrock-agent create-data-source \ --name "SharePoint Online connector" \ --description "SharePoint Online data source connector for Amazon Bedrock to use content in SharePoint" \ --knowledge-base-id "your-knowledge-base-id" \ --data-source-configuration file://sharepoint-bedrock-connector-configuration.json \ --data-deletion-policy "DELETE"

    sharepoint-bedrock-connector-configuration.json 的內容

    { "sharePointConfiguration": { "sourceConfiguration": { "tenantId": "888d0b57-69f1-4fb8-957f-e1f0bedf64de", "hostType": "ONLINE", "domain": "yourdomain", "siteUrls": [ "https://yourdomain.sharepoint.com/sites/mysite" ], "authType": "OAUTH2_CLIENT_CREDENTIALS", "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-SharePoint" }, "crawlerConfiguration": { "filterConfiguration": { "type": "PATTERN", "patternObjectFilter": { "filters": [ { "objectType": "File", "inclusionFilters": [ ".*\\.pdf" ], "exclusionFilters": [ ".*private.*\\.pdf" ] } ] } } } }, "type": "SHAREPOINT" }