翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ドキュメントレベルのアクセスコントロール
ACL 対応は認可ではありません
Bedrock マネージドナレッジベースは、セキュリティ境界ではなく、ACL 対応のフィルタリングを提供します。Bedrock Managed Knowledge Base はエンドユーザーを認証しません。アプリケーションはユーザーを認証し、検証済みの ID コンテキストを渡す責任があります。Bedrock マネージドナレッジベースは、指定したユーザーコンテキストの信頼性を検証できないため、この機能は指定した ID に基づいて結果をフィルタリングしますが、真の認可を構成するものではありません。アップストリーム認証なしでは、この機能を唯一のアクセスコントロールメカニズムとして使用することはできません。
Confluence データソースは、オプションでドキュメントレベルのアクセスコントロールをサポートします。有効にすると、Bedrock Managed Knowledge Base はクロールのたびに Confluence のアクセスコントロールリスト (ACLs) を同期し、クエリ時に各ユーザーのアクセス許可を検証するため、ユーザーは Confluence でアクセスが許可されているドキュメントの結果のみを表示できます。すべてのコネクタにおける ACL 対応の概要については、「」を参照してくださいアクセスコントロールリストの認識の有効化。
仕組み
ユーザーが ACL 対応の Confluence データソースを使用するナレッジベースにクエリを実行すると、Bedrock Managed Knowledge Base は 2 つの段階でアクセスコントロールを適用します。
-
取得前フィルタリング — Bedrock Managed Knowledge Base は、前回のクロール中に Confluence から同期されたアクセスコントロールリストを適用し、ユーザー (またはそのグループ) がアクセスできる候補ドキュメントのみを返します。
-
リアルタイム検証 — Bedrock Managed Knowledge Base は、クエリを実行するユーザーの Confluence での現在のアクセスを確認することで、候補ドキュメントをリアルタイムで検証します。現在アクセスが許可されているドキュメントのみがレスポンスに含まれます。
この 2 段階のアプローチは、Confluence のアクセス許可が同期間で変化しても最新の状態を維持するドキュメントレベルのアクセスコントロールを提供します。
クロールされる内容
ACLsを有効にすると、Bedrock Managed Knowledge Base は Confluence から次のアクセス許可構造をクロールします。
Spaces — スペースのアクセス許可は、デフォルトでスペース内のすべてのドキュメントに適用されます。
ページ — ページは特定のユーザーとグループに制限できます。ネストされたページは、親ページから制限を継承します。
ブログ — ブログ投稿は、特定のユーザーとグループに制限できます。
添付ファイル — ページまたはブログ投稿にアタッチされたファイルは、親ドキュメントのアクセスコントロールを継承します。
ACL 対応を有効にする
Confluence データソースの ACL 対応を有効にするには、 true で BASIC aclEnabledを に設定connectorParametersし、認証タイプを使用します。シークレットには、標準の E メールと API トークンに加えて、Atlassian 組織の管理者認証情報が含まれている必要があります。これらの管理者認証情報は、ID クロールに必要です。
重要
ACL 設定は永続的です。ACLs サポートなしで作成されたデータソースで ACL を有効にすることはできません。また、一度有効にすると ACLs を無効にすることはできません。
シー AWS Secrets Manager クレットには、標準の username、 password (API トークン)、および hostUrlフィールドに加えて、次の組織の管理フィールドが含まれている必要があります。これらの値を取得する手順についてはstep-by-step「」を参照してくださいConfluence の基本認証を設定する。
adminApiKey—read:directories:adminおよびread:workspaces:adminスコープを持つアトラシアン組織 API キー。organizationId— Atlassian 組織の UUID。directoryId— Confluence ワークスペースのユーザーディレクトリの UUID。
注記
OAUTH2 認証タイプは、ACL 対応の Confluence データソースではサポートされていません。シークレットで Atlassian 組織の管理者認証情報BASICとともに を使用する必要があります。
リアルタイムアクセス検証
Bedrock Managed Knowledge Base は、シークレットで設定された Atlassian Admin API トークンを使用して、クエリ時に各候補ドキュメントをサーバー側全体で Confluence と照合します。エンドユーザーのサインインはありません。管理者トークンは、クエリを実行するユーザーの現在のスペース、ページ、ブログの制限をチェックするため、前回のクロール以降に行われたアクセスの変更が優先されます。
設定を確認する
認証情報は、取得リクエストとは無関係に検証できます。次の各チェックを実行します。
-
Confluence コンテンツアクセス (クロール):
シークレットから
usernameと API トークン (password) を使用して、Confluence REST API (スペースのリストなど) を呼び出し、HTTP 200 が返されることを確認します。
-
Atlassian Admin API (ID クローリングとリアルタイム検証):
に
read:directories:adminおよびread:workspaces:adminスコープadminApiKeyがあることを確認します。を使用して
adminApiKey、 の Atlassian 管理ディレクトリ API を呼び出しorganizationIddirectoryId、組織のユーザーとグループが返されることを確認します。
トラブルシューティング
注記
ACL の設定ミスは、取得中に明示的なエラーを生成しません。取得がクローズに失敗する: 影響を受けるドキュメントはサイレントに省略されるため、クエリはエラーではなく少数またはゼロの結果を返します。上記の検証チェックを使用して、これらの問題を診断します。
| 症状 | 考えられる原因 | Fix |
|---|---|---|
| 取得は 0 の結果を返しますが、ユーザーは Confluence にアクセスできます。 | Atlassian Admin API キーにスコープがないか、organizationId/directoryId が間違っているため、ユーザーとグループの制限を解決できません。 |
adminApiKey に read:directories:adminと がありread:workspaces:admin、 と organizationId directoryId が正しいことを確認します。 |
| クロールまたは同期が失敗します。 | username または API トークン (password) が無効です。 |
シークレットのBASICユーザー名と API トークンを確認します。 |
| すべてのユーザーは、以前に作業した後に拒否されます。 | API トークンまたは管理者 API キーの有効期限が切れているか、取り消されました。 | シークレット内の影響を受ける認証情報をローテーションします。 |