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

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

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

注記

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

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

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

サポートされている機能

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

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

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

  • OAuth 2.0 認証

前提条件

で SharePoint、以下を確認してください

  • SharePoint オンラインサイトの URL/URLs。例えば、https://yourdomain.sharepoint.com/sites/mysite などです。URL は https で始まり、sharepoint.com が含まれている必要があります。サイト URL は、sharepoint.com/ や SharePoint sites/mysite/home.aspx ではなく、実際のサイトである必要があります。

  • SharePoint オンラインインスタンス URL/URLs。

  • (OAuth 2.0 認証の場合) Microsoft 365 テナント ID をコピーします。テナント ID は、Azure Active Directory ポータルのプロパティまたは OAuth アプリケーションで確認できます。

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

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

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

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

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

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

  • 認証情報を AWS Secrets Manager シークレットに保存し、 API を使用する場合は、シークレットの Amazon リソースネーム (ARN) を書き留めます。このページの接続設定手順に従って、シークレットに含める必要があるキーと値のペアを含めます。

  • ナレッジベースの AWS Identity and Access Management (IAM) ロール/アクセス許可ポリシーに、データソースに接続するために必要なアクセス許可を含めます。このデータソースがナレッジベース IAM ロールに追加するために必要なアクセス許可については、「データソースへのアクセス許可」を参照してください。

注記

コンソールを使用する場合は、 AWS Secrets Manager に移動してシークレットを追加したり、データソース設定ステップの一部として既存のシークレットを選択したりできます。ナレッジベースを作成するためのコンソールステップの一部として、必要なアクセス許可を持つ IAM ロールを作成できます。データソースやその他の設定を行うと、必要なアクセス許可を持つ IAM ロールが特定のナレッジベースに適用されます。

認証情報とシークレットは、定期的に更新またはローテーションすることをお勧めします。セキュリティに必要なアクセスレベルのみを提供してください。データソース間で認証情報とシークレットを再利用することはお勧めしません。

接続設定

SharePoint インスタンスに接続するには、Amazon Bedrock がデータにアクセスしてクロールできるように、必要な設定情報を提供する必要があります。また、 に従う必要があります前提条件

このセクションには、このデータソースの設定例が含まれています。

ドキュメントフィールドの自動検出、包含/除外フィルター、増分同期、シークレット認証情報、およびこれらの仕組みの詳細については、以下を選択してください。

データソースコネクタは、ドキュメントまたはコンテンツのすべての主要なメタデータフィールドを自動的に検出してクロールします。例えば、データソースコネクタは、ドキュメントに相当するドキュメント本文、ドキュメントタイトル、ドキュメントの作成日または変更日、またはドキュメントに適用される可能性のあるその他のコアフィールドをクロールできます。

重要

コンテンツに機密情報が含まれている場合、 Amazon Bedrock は機密情報を使用して応答できます。

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

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

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

  • Event: イベント名

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

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

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

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

重要

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

(OAuth 2.0 認証の場合) のシークレット認証情報には、次のキーと値のペアを含める AWS Secrets Manager 必要があります。

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

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

  • clientId: アプリケーションクライアント ID

  • clientSecret: アプリケーションクライアントのシークレット

注記

のシークレット AWS Secrets Manager は、ナレッジベースの同じリージョンを使用する必要があります。

Console

以下は、Amazon Bedrock ナレッジベースの SharePoint オンラインに接続するための設定の例です。データソースは、コンソールのナレッジベース作成ステップの一部として設定します。

  1. Amazon Bedrock のアクセス許可を持つ IAM ロール AWS Management Console を使用して にサインインし、https://console.aws.amazon.com/bedrock/ で Amazon Bedrock コンソールを開きます。 Amazon Bedrock の開始方法

  2. 左側のナビゲーションペインから、ナレッジベース を選択します。

  3. ナレッジベース セクションで、ナレッジベースの作成 を選択します。

  4. ナレッジベースの詳細を入力します。

    1. ナレッジベース名とオプションの説明を入力します。

    2. ナレッジベースの作成に必要なアクセス許可の AWS Identity and Access Management ロールを指定します。

      注記

      ナレッジベースを作成するためのコンソールステップの一部として、必要なアクセス許可を持つ IAM ロールを作成できます。ナレッジベースを作成するステップを完了すると IAM 、必要なすべてのアクセス許可を持つロールが特定のナレッジベースに適用されます。

    3. ナレッジベースに割り当てるタグを作成します。

    次のセクションに進み、データソースを設定します。

  5. データソース SharePoint として を選択し、接続設定の詳細を指定します。

    1. データソース名とオプションの説明を入力します。

    2. SharePoint サイトの URL/URLsを指定します。例えば、 SharePoint オンラインの場合は https://yourdomain.sharepoint.com/sites/mysite です。URL は https で始まり、sharepoint.com が含まれている必要があります。サイト URL は、sharepoint.com/ や SharePoint sites/mysite/home.aspx ではなく、実際のサイトである必要があります。

    3. SharePoint インスタンスのドメイン名を指定します。

    詳細設定を確認します。オプションで、選択したデフォルトの設定を変更できます。

  6. 詳細設定で一時的なデータ暗号化キーとデータ削除ポリシーを設定します。

    KMS key 設定には、カスタムキーを選択するか、デフォルトの が提供するデータ暗号化キーを使用できます。

    データを埋め込みに変換する際、 はデフォルトで が AWS 所有および管理するキーを使用して一時的なデータを Amazon Bedrock 暗号化します。独自の KMS キーを使用できます。詳細については、「データインジェスト時の一時データストレージの暗号化」を参照してください。

    データ削除ポリシー設定では、次のいずれかを選択できます。

    • 削除: ナレッジベースまたはデータソースリソースの削除時に、データソースに属するすべてのデータをベクトルストアから削除します。基盤となるベクトルストア自体は削除されず、データのみが削除されることに注意してください。 AWS アカウントが削除されると、このフラグは無視されます。

    • 保持: ナレッジベースまたはデータソースリソースを削除すると、ベクトルストア内のすべてのデータが保持されます。

    データソースの設定を続行します。

  7. SharePoint インスタンスに接続するための認証情報を指定します。

    1. OAuth 2.0 認証の場合は、テナント ID を指定します。テナント ID は、Azure Active Directory ポータルのプロパティまたは OAuth アプリケーションで確認できます。

    2. OAuth 2.0 認証の場合は、 AWS Secrets Manager に移動してシークレット認証情報を追加し、更新ボタンを選択してシークレットを適用します。シークレットには、 SharePoint 管理者のユーザー名とパスワード、登録したアプリクライアント ID とクライアントシークレットが含まれている必要があります。アプリケーションの例については、Microsoft Learn ウェブサイトの「Microsoft Entra ID (旧 Azure Active Directory) にクライアントアプリケーションを登録する」を参照してください。

    データソースの設定を続行します。

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

    データソースの設定を続行します。

  9. デフォルトまたはカスタマイズされたチャンクおよび解析設定を選択します。

    1. カスタム設定を選択した場合は、次のいずれかのチャンクオプションを選択します。

      • 固定サイズのチャンク: コンテンツは、設定されたおおよそのトークンサイズのテキストのチャンクに分割されます。チャンクで を超えてはならないトークンの最大数と、連続するチャンク間の重複率を設定できます。

      • デフォルトのチャンク: コンテンツは最大 300 トークンのテキストのチャンクに分割されます。1 つのドキュメントまたはコンテンツに含まれるトークンが 300 個未満の場合、ドキュメントはそれ以上分割されません。

      • 階層チャンク: 親子チャンクのネストされた構造に整理されたコンテンツ。親チャンクトークンの最大サイズと子チャンクトークンの最大サイズを設定します。また、各親チャンクと各子の親の間の重複トークンの絶対数を設定します。

      • セマンティックチャンク: 意味的に類似したテキストチャンクまたは文のグループに整理されたコンテンツ。ターゲット/現在の文を囲む文の最大数をグループ化するように設定します (バッファサイズ)。また、テキストを意味のあるチャンクに分割するためのブレークポイントパーセンタイルしきい値も設定します。

      • チャンクなし: 各ドキュメントは 1 つのテキストチャンクとして扱われます。ドキュメントを別々のファイルに分割して前処理することもできます。

      注記

      データソースの作成後にチャンク戦略を変更することはできません。

    2. ドキュメントを解析するために Amazon Bedrockの基盤モデルを使用して、標準テキストよりも多くのテキストを解析することを選択できます。例えば、ドキュメント内の表形式データを、構造をそのまま解析できます。基盤モデルのコストに関する情報のAmazon Bedrock 料金を表示します。

    3. AWS Lambda 関数を使用してチャンク戦略をカスタマイズし、ドキュメントメタデータ属性/フィールドの処理方法と取り込み方法をカスタマイズできます。Lambda 関数の入力と出力の Amazon S3 バケットの場所を指定します。

    次のセクションに移動して、ベクトルストアを設定します。

  10. データをベクトル埋め込みに変換するモデルを選択します。

    が埋め込みを保存、更新、管理 Amazon Bedrock できるようにするベクトルストアを作成します。新しいベクトルストアをすばやく作成することも、作成したサポートされているベクトルストアから選択することもできます。現在、このデータソースで使用できるのは Amazon OpenSearch Serverless ベクトルストアのみです。新しいベクトルストアを作成すると、Amazon OpenSearch Serverless ベクトル検索コレクションと、必須フィールドを含むインデックスが自動的に設定されます。サポートされているベクトルストアから選択する場合は、ベクトルフィールド名とメタデータフィールド名をマッピングする必要があります。

    次のセクションに進み、ナレッジベースの設定を確認します。

  11. ナレッジベースの詳細を確認します。先に進む前に任意のセクションを編集し、ナレッジベースを作成できます。

    注記

    ナレッジベースの作成にかかる時間は、取り込むデータの量と特定の設定によって異なります。ナレッジベースの作成が完了すると、ナレッジベースのステータスが Ready に変わります。

    ナレッジベースの作成の準備が完了したら、データソースを初めて同期し、コンテンツを最新の状態に保ちます。コンソールでナレッジベースを選択し、データソースの概要セクションで同期を選択します。

API

以下は、Amazon Bedrock ナレッジベースの SharePoint Online に接続するための設定の例です。データソースは、 API を使用して、 AWS CLI または Python などのサポートされている SDK で設定します。を呼び出した後CreateKnowledgeBaseCreateDataSourceを呼び出して、 の接続情報を使用してデータソースを作成しますdataSourceConfiguration。また、 でチャンク戦略/アプローチを指定vectorIngestionConfigurationし、 でデータ削除ポリシーも指定してくださいdataDeletionPolicy

AWS Command Line Interface

aws bedrock 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" \ --vector-ingestion-configuration '{"chunkingConfiguration":[{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":[{"maxTokens":"100","overlapPercentage":"10"}]}]}' 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" }