ナレッジベースの Microsoft SharePoint に接続する - Amazon Bedrock

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

ナレッジベースの Microsoft SharePoint に接続する

Microsoft SharePoint は、ドキュメント、ウェブページ、ウェブサイト、リストなどの作業をするための共同のウェブベースサービスです。Amazon Bedrock の AWS マネジメントコンソールまたは CreateDataSource API を使用して、Amazon Bedrock ナレッジベースの SharePoint インスタンスに接続できます (Amazon Bedrock がサポートする SDKsと AWS CLI を参照)。 CreateDataSource

注記

SharePoint データソースコネクタはプレビューリリースの段階であり、変更される可能性があります。

Microsoft SharePoint データソースは、テーブル、グラフ、図、その他の画像などのマルチモーダルデータはサポートしていません。

Amazon Bedrock は、SharePoint オンラインインスタンスへの接続をサポートしています。OneNote ドキュメントのクロールは現在サポートされていません。現在、このデータソースで使用できるのは Amazon OpenSearch Serverless ベクトルストアのみです。

クロールできるファイル数とファイルあたりの MB に制限があります。「Quotas for knowledge bases」を参照してください。

サポートされている機能

  • メインドキュメントフィールドの自動検出

  • 包含/除外コンテンツフィルター

  • 追加、更新、削除されたコンテンツの増分同期

  • SharePoint アプリ専用認証

前提条件

SharePoint (オンライン)

SharePoint (オンライン) で、SharePoint アプリ専用の認証を使用するための次の手順を実行します。

  • SharePoint オンラインサイトの URL (複数可) を控える。例: https://yourdomain.sharepoint.com/sites/mysite。URL は https で始まり、sharepoint.com を含む必要があります。サイト URL は、sharepoint.com/sites/mysite/home.aspx ではなく、実際の SharePoint サイトである必要があります。

  • SharePoint オンラインインスタンス の URL (複数可) のドメイン名を控える。

  • Microsoft 365 のテナント ID をコピーします。テナント ID は、Microsoft Entra ポータルのプロパティにあります。詳細については、「Microsoft 365 テナント ID を見つける」を参照してください。

    注記

    アプリケーションの例については、Microsoft Learn ウェブサイトの 「Microsoft Entra ID でクライアント アプリケーションを登録する」(旧称 Azure Active Directory) を参照してください。

  • SharePoint アプリ専用の認証情報を設定します。

  • SharePoint アプリ専用にアクセス許可を付与するときに、クライアント ID とクライアントシークレット値をコピーします。詳細については、「SharePoint アプリ専用のアクセスを許可する」を参照してください。

    注記

    SharePoint アプリ専用の API アクセス許可を設定する必要はありません。ただし、SharePoint 側でアプリアクセス許可を設定する必要があります。必要なアプリアクセス許可の詳細については、「SharePoint アプリ専用のアクセスを許可する」に関する Microsoft ドキュメントを参照してください。

AWS アカウント

AWS アカウントで、以下を確認してください

  • 認証の認証情報をAWS Secrets Manager シークレットに保存し、シークレットの Amazon リソースネーム (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」にフィルターを適用して、その値が特定の数より大きい最新のデータだけを取得できます。メタデータフィールドに適用できるフィルタリング演算子の詳細については、「メタデータとフィルタリング」を参照してください。

特定のコンテンツのクロールを含めることも除外することもできます。例えば、ファイル名に「private」が含まれているファイルのクロールをスキップするために、除外プレフィックス/正規表現パターンを指定することができます。特定のコンテンツエンティティまたはコンテンツタイプを含めるように、包含プレフィックス/正規表現パターンを指定することもできます。包含フィルターと除外フィルターを指定し、両方がドキュメントに一致する場合、除外フィルターが優先され、ドキュメントはクロールされません。

ファイル名に「private」を含む PDF ファイルを除外またはフィルタリングする正規表現パターンの例: 「.*private.*\\.pdf

包含/除外フィルターは、次のコンテンツタイプに適用できます。

  • Page: メインページのタイトル

  • Event: イベント名

  • File: 添付ファイルとすべてのドキュメントファイルの拡張子を含むファイル名

OneNote ドキュメントのクロールは現在サポートされていません。

データソースコネクタは、データソースがナレッジベースと同期するたびに、新規、変更、削除されたコンテンツをクロールします。 Amazon Bedrock は、データソースのメカニズムを使用してコンテンツの変更を追跡し、前回の同期以降に変更されたコンテンツをクロールできます。データソースをナレッジベースと初めて同期すると、デフォルトですべてのコンテンツがクロールされます。

データソースをナレッジベースと同期するには、StartIngestionJob API を使用するか、コンソールでナレッジベースを選択し、データソースの概要セクションで [同期] を選択します。

重要

データソースから同期するすべてのデータは、データを取得する bedrock:Retrieve アクセス許可を持つすべてのユーザーが利用できるようになります。これには、データソースのアクセス許可が制御されているデータを含めることもできます。詳細については、「Knowledge base permissions」を参照してください。

SharePoint App-Only 認証を使用する場合、 のシークレット認証情報には、次のキーと値のペアが含まれている 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 オンラインの場合は、https://yourdomain.sharepoint.com/sites/mysite です。URL は https で始まり、sharepoint.com を含む必要があります。サイト URL は、sharepoint.com/sites/mysite/home.aspx ではなく、実際の SharePoint サイトである必要があります。

  4. SharePoint インスタンスのドメイン名を入力します。

  5. [詳細設定] セクションでは、必要に応じて以下を設定できます。

    • 一時的なデータストレージ用の KMS キー。– デフォルト AWS マネージドキー または独自の KMS キーを使用して、データを埋め込みに変換しながら、一時的なデータを暗号化できます。詳細については、「データインジェスト時の一時データストレージの暗号化」を参照してください。

    • データ削除ポリシー – デフォルトでベクトルストアに保存されているデータソースのベクトル埋め込みを削除したり、ベクトルストアデータを保持するように選択したりできます。

  6. SharePoint インスタンスに接続するための認証情報を入力します。SharePoint アプリ専用認証

    1. テナント ID を指定します。テナント ID は Azure Active Directory ポータルの [プロパティ] で確認できます。

    2. AWS Secrets Manager シークレット認証情報を追加するか、作成したシークレットに既存の Amazon リソースネーム (ARN) を使用します。シークレットには、テナントレベルまたはサイトレベルでアプリ専用を登録したときに生成された SharePoint クライアント ID と SharePoint クライアントシークレット、および Entra にアプリを登録したときに生成された Entra クライアント ID と Entra クライアントシークレットが含まれている必要があります。

  7. (オプション) [コンテンツの解析とチャンキング] セクションで、データの解析とチャンキングの方法をカスタマイズできます。これらのカスタマイズの詳細については、次のリソースを参照してください。

  8. フィルター/正規表現パターンの使用を選択して、特定のコンテンツを含めるか除外します。指定しない場合、標準コンテンツはすべてクロールされます。

  9. 埋め込みモデルとベクトルストアの選択を続行します。残りの手順を確認するには、「Amazon Bedrock ナレッジベースでデータソースに接続してナレッジベースを作成する」に戻り、データソースを接続した後の手順から続行します。

API

以下は、Amazon Bedrock ナレッジベースの SharePoint オンラインに接続するための設定の例です。または Python などの AWS CLI サポートされている SDK で API を使用してデータソースを設定します。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 オンラインサイトの URL (複数可) を控える。例: https://yourdomain.sharepoint.com/sites/mysite。URL は https で始まり、sharepoint.com を含む必要があります。サイト URL は、sharepoint.com/sites/mysite/home.aspx ではなく、実際の SharePoint サイトである必要があります。

  • SharePoint オンラインインスタンス の URL (複数可) のドメイン名を控える。

  • Microsoft 365 のテナント ID をコピーします。テナント ID は Microsoft Entra ポータルのプロパティまたは OAuth アプリケーションで確認できます。

    管理者の SharePoint アカウントのユーザー名とパスワードを控え、アプリケーションを登録する際にクライアント ID とクライアントシークレットの値をコピーします。

    注記

    アプリケーションの例については、Microsoft Learn ウェブサイトの 「Microsoft Entra ID でクライアント アプリケーションを登録する」(旧称 Azure Active Directory) を参照してください。

  • アプリケーションを登録する際に SharePoint に接続するには、特定の読み取りアクセス許可が必要です。

    • SharePoint: AllSites.Read (委任) - すべてのサイトコレクションの項目を読み取る

  • 管理者ユーザーを使用して、Azure ポータルでセキュリティのデフォルトを無効にする必要がある場合があります。Azure Portal でのセキュリティのデフォルト設定の管理の詳細については、セキュリティのデフォルトを有効または無効にする方法に関する Microsoft のドキュメントを参照してください。

  • Amazon Bedrock が SharePoint コンテンツのクロールをブロックされないように、SharePoint アカウントの多要素認証 (MFA) をオフにする必要があるかもしれません。

前提条件を満たすには、「AWS アカウント」の手順が完了していることを確認してください。

シークレット認証情報

OAuth2.0 の接続設定は、「接続設定」で説明されているように、メインドキュメントフィールド、インクルージョン/除外フィルター、増分同期の自動検出と同じ手順を実行できます。

OAuth 2.0 認証では、 のシークレット認証情報にこれらのキーと値のペアが含まれている AWS Secrets Manager 必要があります

  • username: SharePoint 管理者ユーザー名

  • password: SharePoint 管理者パスワード

  • clientId: OAuth アプリクライアント ID

  • clientSecret: OAuth アプリクライアントシークレット

SharePoint インスタンスをナレッジベースに接続する

OAuth2.0 を使用するときに SharePoint インスタンスをナレッジベースに接続する場合

  • (コンソール) コンソールで、「SharePoint インスタンスをナレッジベースに接続する」で説明しているのと同じ手順に従います。SharePoint インスタンスに接続するための認証情報を入力する場合

    • テナント ID を指定します。テナント ID は Azure Active Directory ポータルの [プロパティ] で確認できます。

    • AWS Secrets Manager シークレット認証情報を追加するか、作成したシークレットに既存の Amazon リソースネーム (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" }