View a markdown version of this page

ドキュメントレベルのアクセスコントロール - Amazon Bedrock

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

ドキュメントレベルのアクセスコントロール

ACL 対応は認可ではありません

Bedrock マネージドナレッジベースは、セキュリティ境界ではなく、ACL 対応のフィルタリングを提供します。Bedrock マネージドナレッジベースはエンドユーザーを認証しません。アプリケーションはユーザーを認証し、検証済みの ID コンテキストを渡す責任があります。Bedrock マネージドナレッジベースは、指定したユーザーコンテキストの信頼性を検証できないため、この機能は、指定した ID に基づいて結果をフィルタリングしますが、真の認可を構成するものではありません。アップストリーム認証なしでは、この機能を唯一のアクセスコントロールメカニズムとして使用しないでください。

Google Drive データソースは、オプションでドキュメントレベルのアクセスコントロールをサポートします。有効にすると、Bedrock Managed Knowledge Base はクロールのたびに Google Drive のアクセスコントロールリスト (ACLs) を同期し、クエリ時に各ユーザーのアクセス許可を検証するため、ユーザーは Google Drive でアクセスが許可されているドキュメントの結果のみを表示できます。すべてのコネクタにおける ACL 対応の概要については、「」を参照してくださいアクセスコントロールリストの認識の有効化

仕組み

ユーザーが ACL 対応の Google Drive データソースを使用するナレッジベースにクエリを実行すると、Bedrock マネージドナレッジベースは 2 つの段階でアクセスコントロールを適用します。

  • 取得前フィルタリング — Bedrock Managed Knowledge Base は、前回のクロール中に Google Drive から同期されたアクセスコントロールリストを適用し、ユーザー (またはそのグループ) がアクセスできる候補ドキュメントのみを返します。

  • リアルタイム検証 — Bedrock Managed Knowledge Base は、Google Drive でクエリを実行するユーザーの現在のアクセスを確認して、候補ドキュメントをリアルタイムで検証します。現在アクセスが許可されているドキュメントのみがレスポンスに含まれます。

この 2 段階のアプローチは、Google Drive のアクセス許可が同期間で変化しても最新の状態を維持するドキュメントレベルのアクセスコントロールを提供します。

クロールされる内容

ACLs を有効にすると、Bedrock Managed Knowledge Base は Google Drive からファイルレベルの共有アクセス許可をクロールします。これには以下が含まれます。

  • 直接ユーザー共有 (個々のファイルのアクセス許可)

  • Google グループのメンバーシップ

  • 共有ドライブメンバーシップ

ACL 対応を有効にする

Google Drive データソースの ACL 対応を有効にするには、 trueSERVICE_ACCOUNT aclEnabledを に設定connectorParametersし、認証タイプを使用します。サービスアカウントでは、Google Workspace 管理者コンソールでドメイン全体の委任が有効になっている必要があります。

重要

ACL 設定は永続的です。ACLs サポートなしで作成されたデータソースで ACL を有効にすることはできません。また、一度有効にすると ACLs を無効にすることはできません。

AWS Secrets Manager シークレットには、adminAccountEmailclientEmail、および が含まれている必要がありますprivateKey。サービスアカウントを作成し、ドメイン全体の委任を設定し、これらの値を取得するstep-by-stepについては、「」を参照してくださいGoogle Drive のサービスアカウント認証を設定する

"connectorParameters": { "type": "GOOGLEDRIVE", "version": "1", "aclEnabled": true, "connectionConfiguration": { "authType": "SERVICE_ACCOUNT", "secretArn": "arn:aws:secretsmanager:region:account-id:secret:secret-name" }, "dataEntityConfiguration": { "crawlMyDrive": true, "crawlSharedWithMe": false, "crawlSharedDrives": false } }
注記

OAUTH2 認証タイプは、ACL 対応の Google Drive データソースではサポートされていません。をドメイン全体の委任SERVICE_ACCOUNTで使用する必要があります。

リアルタイムアクセス検証

Bedrock Managed Knowledge Base は、サービスアカウントのドメイン全体の委任を使用して、Google Drive API に対するドキュメントアクセスをリアルタイムで検証し、クエリを実行するユーザーが引き続き各候補ドキュメントにアクセスできることを確認します。

設定を確認する

サービスアカウント設定は、取得リクエストとは別に検証できます。次の各チェックを実行します。

  1. ドメイン全体の委任:

    • Google Workspace 管理コンソールで、サービスアカウントクライアント ID が必要なスコープ (Google Drive 読み取り専用および Admin SDK ディレクトリ/グループの読み取りスコープ) に対して承認されていることを確認します。

  2. ドライブアクセス (クロールと検証):

    • を偽装するサービスアカウント (clientEmail および privateKey) を使用してadminAccountEmail、Google Drive API を呼び出してユーザーのファイルを一覧表示し、成功することを確認します。

  3. グループ解決:

    • Admin SDK Directory API を呼び出してユーザーのグループメンバーシップを一覧表示し、期待されるグループが返されることを確認します。

トラブルシューティング

注記

ACL の設定ミスは、取得中に明示的なエラーを生成しません。取得がクローズに失敗する: 影響を受けるドキュメントはサイレントに省略されるため、クエリはエラーではなく少数またはゼロの結果を返します。上記の検証チェックを使用して、これらの問題を診断します。

ACL 対応の Google Drive の症状、原因、修正
症状 考えられる原因 Fix
取得は 0 の結果を返しますが、ユーザーは Google Drive にアクセスできます。 ドメイン全体の委任が設定されていないか、サービスアカウントに必要なスコープがないため、アクセスを検証できません。 Google Workspace Admin コンソールで、必要な Drive and Admin SDK スコープのサービスアカウントクライアント ID を承認します。
グループベースのアクセスは許可されません。 Admin SDK ディレクトリ/グループの読み取りスコープが委任にありません。 Admin SDK グループの読み取りスコープをサービスアカウントのドメイン全体の委任に追加します。
クロールまたは同期が失敗します。 clientEmail/privateKey が無効adminAccountEmailであるか、Workspace 管理者ではありません。 サービスアカウントの認証情報と WorkSpace adminAccountEmail 管理者を確認します。
すべてのユーザーは、以前に作業した後に拒否されます。 サービスアカウントキーがローテーションまたは取り消されました。 シークレットprivateKeyの を更新します。