「社内文書を使ったAIチャットボットを作りたいけど、誰にどこまで見せるかが決められない」——DX推進や情シスの担当者からよく聞く悩みです。
営業部の資料を経理部が見られてしまったり、逆に全社共有すべき情報が特定部署にしか届かなかったり。RAG(検索拡張生成)でAIチャットボットを作ろうとすると、この「権限管理」の壁に必ずぶつかります。
この記事でわかること
- 社内AIチャットボットで権限管理が難しい理由
- テナント・部署単位でアクセス範囲を分離するRAGの仕組み
- ログイン不要で試せる公開デモの使い方
実際に動くデモを用意したので、読みながら触ってみてください。
社内AIチャットボットで権限管理がつまずきやすい理由
「全員に同じ回答」では困る
一般的なRAGチャットボットは、登録した文書をすべての利用者に対して検索対象にします。しかし実際の企業では、閲覧できる情報は役割によって異なります。
- 経営層:全部署の資料を横断して見たい
- 一般社員:自分の部署の資料だけ見られればいい
- 社外の問い合わせ窓口:公開してよい情報だけに絞りたい
この前提を無視してAIチャットボットを作ると、情報漏洩のリスクを抱えたまま運用することになります。
「後から権限を絞る」のは大変
多くのRAGツールは、まず全文書をまとめて検索インデックス化してから、アプリ側の表示で絞り込む設計になりがちです。この場合、検索ロジックのどこかにバグがあれば、権限のない文書がAIの回答に紛れ込む危険が残ります。
権限は「後から絞る」のではなく「検索する前にサーバー側で強制する」必要があります。
テナント・部署単位でアクセス範囲を分離するRAGの仕組み
今回試したのは、会社(テナント)ごと・データセットごとにアクセス範囲を分離できるRAG学習アプリ「CompanyBrain」です。ポイントは3つあります。
ポイント1:検索前に権限を強制する
ログインしているユーザーの役割に応じて、検索対象のデータセットをサーバー側で絞り込んでから回答を生成します。UI側の表示切り替えだけに頼らないため、権限外のデータが回答に混ざりません。
ポイント2:回答に引用元が付く
AIの回答には、どの文書のどの部分を参照したかが表示されます。「AIが勝手に作った情報ではないか」という不安に対して、根拠を確認できる形で応えられます。
ポイント3:ログイン不要の公開チャットURLを即発行できる
社外向けのFAQ対応など、ログインなしで使わせたい場面もあります。このアプリでは管理者が「公開チャットURL」を発行するだけで、参照させるデータセットや回答スタイルを固定した状態で外部公開できます。
実際に触れるデモで確認する
言葉だけでは伝わりにくいので、実際に触れるデモを用意しました。
ログインして権限の違いを見る
| ユーザー | メール | パスワード | 役割 |
|---|---|---|---|
| Acme owner | owner@acme.test | demo123 | owner(全データセット閲覧可) |
| Acme viewer | student@acme.test | demo123 | viewer(閲覧範囲が限定) |
| Mirai admin | teacher@mirai.test | demo123 | admin |
同じ質問をしても、ログインするユーザーによって参照できるデータセットが変わることを確認できます。
ログイン不要で公開チャットを試す
社外向け公開チャットは、ログインなしで試せます。参照するデータセット・回答スタイルはあらかじめ固定されているため、社外の人が誤って社内限定情報にアクセスすることはありません。
よくある質問
Q. 社外のLLMやベクトルDBに接続していますか?
現時点のプロトタイプでは外部LLM・Vector DBは呼び出していません。登録済みの文書チャンクをローカルで検索し、決定的な回答文を生成する仕組みです。本番運用では、この検索・生成の境界にembedding、pgvector、rerank、LLMを接続する設計にしています。
Q. 使用量や課金はどう管理されていますか?
容量ベースの使用量管理を組み込んでいます。現在のプラン、無料枠、保存上限、超過見積、日次の使用量履歴を管理画面から確認できます。保存上限を超える文書登録はAPI側で止まる仕組みです。
Q. 部署ごとにアクセス範囲を後から変更できますか?
管理者・編集者権限を持つユーザーが、ユーザーの招待、ロール変更、権限削除を行えます。組織構成の変化に合わせて権限を調整できます。
Q. 本番導入する場合、何が変わりますか?
このプロトタイプはNode.jsのみで動作し、Vercelのサーバーレス環境では投稿・ログを一時保存する構成です。本番運用ではSupabase(PostgreSQL + pgvector)に接続し、永続化と本格的なベクトル検索を行う移行方針を用意しています。
まとめ
- 社内AIチャットボットの権限管理は「検索前にサーバー側で強制する」ことが重要
- テナント・データセット単位でアクセス範囲を分離すれば、部署ごとの閲覧制限を安全に実現できる
- 回答には引用元が付き、AIの根拠を確認できる
- ログイン不要の公開チャットURLを発行すれば、社外向けFAQも即日公開できる
- 容量ベースの使用量・課金も可視化されており、導入後の運用イメージが掴みやすい
まずはデモにログインして、役割による見え方の違いを実際に確認してみてください。