この記事で分かること/分からないこと
- 分かること: 委託先など社外の関係者に文書アクセスを開放する際に検討すべき論点
- 分かること: 契約範囲の権限と、回答に含めてよい情報の範囲を分けて考える理由
- 分からないこと: 自社で委託先向けのアクセス制御を実装・運用した実績(未実装のため)
- 分からないこと: 個々の契約・NDAの条件をシステム側でどこまで自動反映できるか
委託先は社員と同じ粒度で扱えない
社員向けの権限設計は、部署・役職・プロジェクトといった社内の組織構造を前提に作ることができる。これに対して委託先などの社外関係者は、社内の組織構造の外にいるため、同じ粒度の条件をそのまま当てはめることができない。委託先に対しては、契約やNDAで定められた業務の範囲そのものを、文書アクセスの範囲として明示的に切り出す必要がある。社員であれば「部署に所属していれば見られる」で済む場面でも、委託先については「この契約の範囲に含まれるか」を都度確認する前提で設計することになる。
契約範囲を最小に保つ難しさ
委託先に開放する範囲は、業務に必要な最小限にとどめるのが基本になる。しかし実際の業務では、委託先が別の関連文書も参照できた方が効率的だという場面が出てきやすく、最小の範囲を維持し続けるには継続的な見直しが必要になる。範囲を一度広げると、契約が終わった後に元の狭い範囲へ戻す作業を忘れやすいという点も、委託先向けの権限で起きやすい失敗である。
委託先が受け取った回答をどう扱うか
委託先向けの権限設計で特に注意が必要なのは、文書へのアクセス範囲を絞ったとしても、RAGが生成した回答自体は委託先の手元に残るという点である。委託先は、受け取った回答をそのまま社外の別の場所に転記したり、別の関係者と共有したりすることができる。これは文書単位のアクセス制御の外側で起きることであり、検索対象を絞ることでは防げない。委託先に見せてよい回答の内容そのものをどう制御するか、つまり要約や言い換えを通じて契約範囲外の情報が回答に混ざらないようにする設計は、文書アクセスの範囲を切ることとは別の課題として扱う必要がある。
契約終了後の扱いは早めに決めておく
委託先との契約が終了した後は、権限を止めるだけでなく、それまでに委託先が受け取った回答やログをどう扱うかも決めておく必要がある。契約書上の秘密保持の期間と、システム側で権限を止めるタイミングが一致しているとは限らないため、両者を突き合わせて確認しておく必要がある。
自社の実装との違い
自社の実装は、契約先(テナント)ごとに索引を分離する構成であり、確定配信で実行時に参照する索引はD1に置き、テナントIDで分けて引く。この構成はテナントという契約単位そのものでデータを隔てるものであり、1つのテナントの中で社員向けの文書の一部だけを委託先に開放するという、粒度の異なる権限管理までは対象にしていない。自社に社内文書RAGの実測は無く、テナント分離までしか実装しておらず、委託先向けのアクセス制御を運用した実績は無い。
よくある質問
Q1. 委託先の権限は社員と同じ仕組みで設計できるか
同じ仕組みをそのまま当てはめることは難しい。社員は部署・役職といった組織構造を前提にできるが、委託先は契約・NDAで定められた範囲を個別に切り出す必要がある。
Q2. 委託先に開放する範囲を絞れば十分か
十分ではない。文書アクセスの範囲を絞っても、生成された回答自体は委託先の手元に残るため、回答に含めてよい情報の範囲を別に検討する必要がある。
Q3. 契約が終了したら権限を止めるだけでよいか
権限を止めるだけでは足りない場合がある。契約書上の秘密保持期間と、システム側で権限を止めるタイミングが一致しているかを確認し、過去の回答・ログの扱いも決めておく必要がある。
Q4. 自社では委託先向けのアクセス制御を運用しているか
運用していない。自社の実装はテナント単位の索引分離までで、委託先向けのアクセス制御は実装しておらず、運用実績も無い。
社内の組織構造を前提にした権限設計との違いは、部署ごとの分け方や役職・職責での分け方と比較すると分かりやすい。部署ごとに見える文書を分ける考え方は部署別権限の記事で扱っている。役職・職責を軸にした設計の難しさは役職・職責で分ける記事にまとめた。生成された回答を人がどこで確認するかはRAGの人間ゲートの記事で扱っている。社内文書RAGの権限設計について相談したい方は、お問い合わせから編集部までご連絡いただきたい。
- ハブ記事: RAGサービス比較15選
- 関連記事: RAGの人間ゲートはどこに置くか
- 関連記事: 部署ごとに見える文書を分ける
- 関連記事: 役職・職責で分ける場合の難しさ