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

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

Amazon Bedrock ナレッジベースの Confluence に接続する

Atlassian Confluence は、プロジェクト計画、ソフトウェア開発、製品管理の共有、保存、作業用に設計された共同作業管理ツールです。次のいずれかを使用して、Amazon Bedrock ナレッジベースの Confluence インスタンスに接続できます。 AWS Amazon Bedrock または の マネジメントコンソール CreateDataSource API (「Amazon Bedrock でサポートされる SDKsと」を参照してください。 AWS CLI).

注記

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

Amazon Bedrock は Confluence Cloud インスタンスへの接続をサポートしています。現在、このデータソースで使用できるのは Amazon OpenSearch Serverless ベクトルストアのみです。

クロールできるファイル数とファイルあたりの MB 数には制限があります。ナレッジベースについては「クォータ」を参照してください。

サポートされている機能

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

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

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

  • OAuth 2.0 認証、Confluence APIトークンによる認証

前提条件

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

  • Confluence インスタンス を書き留めますURL。例えば、Confluence Cloud の場合、https://example.atlassian.net。 URL for Confluence Cloud はURL、 で終わる基本 である必要があります。.atlassian.net.

  • Amazon Bedrock が Confluence Cloud インスタンスに接続できるように、ユーザー名 (管理者アカウントの E メール) とパスワード (Confluence APIトークン) を含む基本的な認証情報を設定します。Confluence APIトークンを作成する方法については、Atlassian ウェブサイトの「Atlassian アカウントのAPIトークンを管理する」を参照してください。

  • (オプション) アプリケーションキーOAuth、アプリケーションシークレット、アクセストークン、および更新トークンの認証情報を使用して 2.0 アプリケーションを設定します。詳細については、Atlassian OAuth ウェブサイトの「2.0 アプリ」を参照してください。

  • 2.0 OAuth アプリが Confluence に接続するには、特定の読み取りアクセス許可またはスコープを有効にする必要があります。

    ConfluenceAPI:

    • オフラインアクセス

    • readonly:content.attachment:confluence

    • read:confluence-content.all

    • read:confluence-content.summary

    • read:confluence-space.summary

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

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

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

注記

コンソールを使用する場合は、「」を参照してください。 AWS Secrets Manager データソース設定ステップの一部としてシークレットを追加するか、既存のシークレットを使用します。- IAM ナレッジベースを作成するためのコンソールステップの一部として、必要なアクセス許可がすべて付与された ロールを作成できます。データソースやその他の設定を構成したら、 IAM 必要なすべてのアクセス許可を持つ ロールは、特定のナレッジベースに適用されます。

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

接続設定

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

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

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

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

重要

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

メタデータフィールドにフィルタリング演算子を適用して、レスポンスの関連性をさらに向上させることができます。例えば、ドキュメント「epoch_modification_time」や、ドキュメントが最後に更新された 1970 年 1 月 1 日に経過した秒数などです。「epoch_modification_time」が特定の数より大きい最新のデータをフィルタリングできます。メタデータフィールドに適用できるフィルタリング演算子の詳細については、「メタデータとフィルタリング」を参照してください。

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

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

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

  • Space: 一意のスペースキー

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

  • Blog: メインブログタイトル

  • Comment: 特定のページまたはブログに属するコメント。指定 Re: Page/Blog Title

  • Attachment: 拡張子付きの添付ファイル名

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

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

重要

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

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

  • username: admin user email address of Atlassian account

  • password: Confluence API token

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

  • confluenceAppKey: app key

  • confluenceAppSecret: app secret

  • confluenceAccessToken: app access token

  • confluenceRefreshToken: app refresh token

注記

Confluence OAuth2.0 アクセストークンのデフォルトの有効期限は 60 分です。データソースの同期 (同期ジョブ) 中にこのトークンの有効期限が切れた場合、Amazon Bedrock は提供された更新トークンを使用してこのトークンを再生成します。この再生は、アクセストークンと更新トークンの両方を更新します。トークンを現在の同期ジョブから次の同期ジョブに更新し続けるために、Amazon Bedrock では、ナレッジベースIAMロールの一部としてシークレット認証情報の書き込み/入力アクセス許可が必要です。

注記

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

Console

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

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

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

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

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

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

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

      注記

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

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

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

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

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

    2. Confluence インスタンス を指定しますURL。例えば、Confluence Cloud の場合、https://example.atlassian.net。 URL for Confluence Cloud はURL、 で終わる基本 である必要があります。.atlassian.net.

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

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

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

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

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

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

    • 保持: ナレッジベースまたはデータソースリソースの削除時にベクトル埋め込みに変換されるデータソースからのすべてのデータを保持します。ナレッジベースまたはデータソースリソースを削除しても、ベクトルストア自体は削除されないことに注意してください。

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

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

    1. 基本認証については、「」を参照してください。 AWS Secrets Manager シークレット認証情報を追加するか、作成したシークレットに既存の Amazon リソースネーム (ARN) を使用します。シークレットには、ユーザー名として Atlassian アカウントの管理者ユーザーの E メールアドレスと、パスワードの代わりに Confluence APIトークンが含まれている必要があります。Confluence APIトークンを作成する方法については、Atlassian ウェブサイトの「Atlassian アカウントのAPIトークンを管理する」を参照してください。

    2. 2.0 OAuth 認証の場合は、「」を参照してください。 AWS Secrets Manager シークレット認証情報を追加するか、作成したシークレットに既存の Amazon リソースネーム (ARN) を使用します。シークレットには、Confluence アプリキー、アプリシークレット、アクセストークン、および更新トークンが含まれている必要があります。詳細については、Atlassian OAuth ウェブサイトの「2.0 アプリ」を参照してください。

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

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

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

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

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

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

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

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

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

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

      注記

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

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

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

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

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

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

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

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

    注記

    ナレッジベースの作成にかかる時間は、特定の設定によって異なります。ナレッジベースの作成が完了すると、ナレッジベースのステータスは、準備完了状態または使用可能状態に変わります。

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

API

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

AWS Command Line Interface

aws bedrock create-data-source \ --name "Confluence Cloud/SaaS connector" \ --description "Confluence Cloud/SaaS data source connector for Amazon Bedrock to use content in Confluence" \ --knowledge-base-id "your-knowledge-base-id" \ --data-source-configuration file://confluence-bedrock-connector-configuration.json \ --data-deletion-policy "DELETE" \ --vector-ingestion-configuration '{"chunkingConfiguration":[{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":[{"maxTokens":"100","overlapPercentage":"10"}]}]}' confluence-bedrock-connector-configuration.json { "confluenceConfiguration": { "sourceConfiguration": { "hostUrl": "https://example.atlassian.net", "hostType": "SAAS", "authType": "OAUTH2_CLIENT_CREDENTIALS", "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-Confluence" }, "crawlerConfiguration": { "filterConfiguration": { "type": "PATTERN", "patternObjectFilter": { "filters": [ { "objectType": "Attachment", "inclusionFilters": [ ".*\\.pdf" ], "exclusionFilters": [ ".*private.*\\.pdf" ] } ] } } } }, "type": "CONFLUENCE" }