社員から届く「このサービスに業務データを入れてよいか」の質問に、情報セキュリティ規程と許可したサービスの一覧を根拠にチャットで答え、例外申請が要るものを担当へ回す
社員が「このサービスに顧客の資料を入れてよいか」とチャットで聞くと、データの格付け・サービス・端末を聞き返して特定し、規程と許可サービスの一覧から可否の根拠を条文付きで答えます。例外申請が要るものは担当へ回します。
- 生成AI
- Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 連携・自動化
- Python
- 対象業界
- IT・SaaS/人材/広告/製造/金融
- 対象部門
- 情報システム
- 対象業務
- 問い合わせ対応/情報検索
- 主な課題
- 判断に時間がかかる/問い合わせが多い/属人化している
- AIで行う処理
- 対話
- 主な効果
- 品質標準化/対応スピード向上/属人化解消
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 社員が社内チャットの窓口に「このサービスを使ってよいか」と書き込む
- 情報セキュリティ担当が、何のデータを、どのアカウントで、どの端末で使うのかを聞き返す
- 担当が許可サービスの一覧を開き、サービスの許可の区分と条件を確かめる
- 規程とガイドラインを開き、格付けの取扱いと条件に当たる条文を探す
- 可否と条件を返信し、根拠の条文を添える
- 一覧に無いサービスや例外が要るものは、申請の様式を案内する
- 質問と回答を問い合わせの一覧に書く
- 人社員が社内ポータルのチャットで質問する(例:「取引先から届いた仕様書を翻訳サービスに入れてよいか」)
- 自動中継プログラムが、質問からサービス名と使い方の種類を取り出し、許可サービスの一覧を引く
- 自動まだ分かっていない項目(格付け、アカウントの種類、端末)を、選択肢付きで1つずつ聞き返す
- 自動格付けとサービスの区分と端末の組み合わせから、判定の表で「可/条件付き可/不可/例外申請/未審査」を決める
- 自動Agent Search(旧 Vertex AI Search)の answer メソッドが、その判定の根拠になる規程とガイドラインの条文を探し、出典を付けて説明を作る
- 自動中継プログラムが、説明の結論が判定の表と食い違っていないかを確かめる
- 自動例外申請・未審査・判定の表に無い組み合わせは、聞き取った条件を付けて情報セキュリティ担当へ回す
- 人社員は回答の条文を開き、条件(会社のアカウントに限る、など)を確かめてから使う
- 人担当は、回ってきた質問だけを、聞き取り済みの条件を見て答える
各工程の詳しい説明を読む
- 社員が社内チャットの窓口に「このサービスを使ってよいか」と書き込む
- 情報セキュリティ担当が、何のデータを、どのアカウントで、どの端末で使うのかを聞き返す
- 担当が許可サービスの一覧を開き、サービスの許可の区分と条件を確かめる
- 規程とガイドラインを開き、格付けの取扱いと条件に当たる条文を探す
- 可否と条件を返信し、根拠の条文を添える
- 一覧に無いサービスや例外が要るものは、申請の様式を案内する
- 質問と回答を問い合わせの一覧に書く
(a)聞き返しが1往復で終わらない。 2番目で「何のデータか」を聞くと「普通の資料です」と返り、格付けを確かめるために同じ社員にもう一度聞くことになります。 担当が席を外していると、そのやり取りが半日止まります。
(b)答えが担当者で揺れる。 「会社の契約のアカウントに限り、社内限りまで可」のような条件を、ある担当は「機密も可」と読み、ある担当は「社内限りまで」と読みます。同じ質問に違う答えが返ったことが社内のチャットで話題になると、規程そのものが信用されなくなります。
(c)一覧に無いと「不可」と答えてしまう。 一覧に無いのは未審査という意味なのに、忙しい日は「一覧に無いので使えません」と返します。社員は、申請すれば使えたかもしれないものを、別の手段で回避しはじめます。
(d)同じ質問が何度も届く。 月480件のうち、同じサービスの同じ使い方の質問が部署を変えて何度も届きます。 回答は一覧に残っていますが、社員からは見えません。
4つとも、規程の中身の問題ではありません。 規程を読み解く役を担当4名が1件ずつ引き受けているため、質問の件数がそのまま情報システム部門の工数になっています。
- 【人】 社員が社内ポータルのチャットで質問する(例:「取引先から届いた仕様書を翻訳サービスに入れてよいか」)
- 【自動】 中継プログラムが、質問からサービス名と使い方の種類を取り出し、許可サービスの一覧を引く
- 【自動】 まだ分かっていない項目(格付け、アカウントの種類、端末)を、選択肢付きで1つずつ聞き返す
- 【自動】 格付けとサービスの区分と端末の組み合わせから、判定の表で「可/条件付き可/不可/例外申請/未審査」を決める
- 【自動】 Agent Search(旧 Vertex AI Search)の answer メソッドが、その判定の根拠になる規程とガイドラインの条文を探し、出典を付けて説明を作る
- 【自動】 中継プログラムが、説明の結論が判定の表と食い違っていないかを確かめる
- 【自動】 例外申請・未審査・判定の表に無い組み合わせは、聞き取った条件を付けて情報セキュリティ担当へ回す
- 【人】 社員は回答の条文を開き、条件(会社のアカウントに限る、など)を確かめてから使う
- 【人】 担当は、回ってきた質問だけを、聞き取り済みの条件を見て答える
4番目が、この設計の分かれ目です。 判定の表は、格付けの規程とサービスの一覧をそのまま行と列にしたもので、AIに可否を考えさせません。 可否をAIに任せると、条文の言い回しが似ている別のサービスの条件を当てはめた答えが、正しい答えと同じ顔で返ります。
6番目の照合を省かないでください。 answer メソッドが作る説明は文章なので、判定が「条件付き可」なのに説明が「利用できます」で終わることがあります。結論の語が判定と合わない説明は、社員に出さずに担当へ回します。
02今回想定するシステム構成
社内ポータルのチャット(社員) ▼【トリガー】質問の送信 中継プログラム(Python、Cloud Run) ├──▶ サービス名の取り出し → 許可サービスの一覧(区分・上限の格付け・条件) ├──▶ 未確認の項目(格付け・アカウント・端末)を選択肢付きで聞き返す ├──▶ 判定の表で 可/条件付き可/不可/例外申請/未審査 を決める ▼ Agent Search(Vertex AI Search)── answer メソッド │ データストア:基本方針+規程4本+ガイドライン6本+過去の回答集 │ 絞り込み:topic/effective_from/status │ 閲覧の権限:例外承認の記録は情報セキュリティ担当だけ ▼ 中継プログラム ── 判定と説明の照合 ├──▶ 回答と条文を返す └──▶ 例外申請・未審査・照合不一致 → 担当の待ち行列
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Vertex AI Search(Agent Search)の answer メソッド | Azure AI Search、Amazon OpenSearch Service |
| 生成AI | Gemini(answer メソッドの説明の生成に使うモデル) | ─ |
| 連携 | 中継プログラム(Python。Cloud Run で動かし、チャット・一覧・検索・待ち行列をつなぐ) | Node.js で同じものを書く |
| 認証 | 社内の ID 基盤(Microsoft Entra ID など。Workforce Identity Federation でつなぐ) | Google の ID |
| 保管 | Cloud Storage(規程・ガイドラインの原本とメタデータ) | ─ |
社内ポータルと問い合わせの一覧は、新しく足すものではありません。 チャットの画面をポータルに置き、記録は中継プログラムが一覧に書き足します。最初の準備は、許可サービスの一覧に「上限の格付け」と「条件」の列をそろえ、判定の表を作ることです。
検索の土台は、Agent Search(Vertex AI Search から改称中)の answer メソッドです。 検索の結果から回答を作り、includeCitations で出典を付けられます。セッションを使った複数回のやり取りに対応し、質問の言い換えは既定で有効です。関係の薄い内容しか無いときは回答を作らず、answerSkippedReasons で理由を返します。
規程の土台には、公的なひな形を使えます。 IPA の「中小企業の情報セキュリティ対策ガイドライン」第4.0版(2026年3月27日公開)は、付録に「情報セキュリティ関連規程(サンプル)」と「中小企業のためのクラウドサービス安全利用の手引き」を収めています。規程がまだ薄い会社は、この構成を作る前に、サンプルを下敷きに格付けとクラウドの利用の条文を整えるのが先です。
03どうやって実装するのか
処理の起点を決める
起点は、社員がチャットで質問を送ったことです。 チャットは社内ポータルに置き、社内の ID でログインした社員だけが使えるようにします。ログインした社員の所属が、回答に添える問い合わせ先と、閲覧の権限の判定に使われます。
1つの質問は、1つのセッションで最後まで続けます。 格付けを聞き返すやり取りと、答えたあとの「では社外のアカウントで受け取るだけなら」のような続けての質問を、同じセッションでつなぎます。別のサービスの質問は、新しいセッションで始めてもらいます。 同じセッションでサービスを変えると、前のサービスの条件が言い換えに混ざります。
処理は質問のたびに1件ずつ行います。 社員は作業の手を止めて返事を待っているので、まとめて処理する理由がありません。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 質問 | 社員の質問の文、選んだ聞き返しの値 | チャット |
| 社員の情報 | 所属の部署、職位 | 社内の ID 基盤 |
| 許可サービスの一覧 | サービス名と別名、許可の区分、扱ってよい格付けの上限、条件、次の見直しの日 | 情報セキュリティ担当の表 |
| 判定の表 | 格付け × 区分 × アカウント × 端末 の組み合わせごとの結論 | 情報セキュリティ担当が作る表 |
| 規程とガイドライン | 基本方針、格付けと取扱い、クラウドの利用、端末の利用、生成AIの利用など | 社内ポータルのPDF |
| 過去の回答集 | よくある質問と回答、根拠の条文 | 問い合わせの一覧から担当が選んだもの |
| 例外承認の記録 | 承認した例外の内容と期限 | 情報セキュリティ担当の記録 |
質を決めるのは、許可サービスの一覧の「上限の格付け」と「条件」の列です。 ここが「可」「不可」の2値しか無いと、社員の質問の多くを占める「機密はだめだが社内限りなら会社のアカウントで可」が表せません。判定の表が答えを出せない組み合わせは、すべて担当へ回ることになります。
サービス名には別名の列を持たせます。 同じサービスでも、製品名、会社名、アプリの名前、略称で質問が届きます。別名で一覧を引けないと、許可済みのサービスが「未審査」として担当へ回ります。
データの取得方法を決める
規程・ガイドライン・過去の回答集は、Cloud Storage に置いてデータストアに取り込みます。 文書ごとのメタデータに、話題(生成AI/ファイル共有/端末/格付け など)、施行日、状態(現行/廃止)を持たせます。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 話題、文書の種類(規程/ガイドライン/回答集) | メタデータ | 絞り込み |
| 施行日・状態 | メタデータ | 現行の版だけに絞る |
| 閲覧の範囲 | acl_info | 例外承認の記録を担当だけに出す |
| サービスの区分・上限の格付け・条件 | 許可サービスの一覧 | 中継プログラムが直接引く |
許可サービスの一覧は、データストアに入れず中継プログラムが直接引きます。 一覧は「このサービスの上限は社内限り」という事実の表で、検索して似たものを探す対象ではありません。 検索に入れると、名前の似た別のサービスの行が根拠に出ます。
絞り込みの式は、話題と日付で書きます。 項目を索引可能にしておけば、topic: ANY("generative_ai") AND status: ANY("current") のように書けます。施行日を比べるときは、日付をISO 8601の形式で書きます。改訂前のガイドラインは status を retired にして、検索の時点で除きます。
例外承認の記録には閲覧の範囲を付けます。 文書のメタデータの acl_info に、情報セキュリティ担当のグループの group_id を書くと、そのグループの社員の検索にだけ出ます。例外の記録には他部署の案件の事情が書かれているため、社員の検索に出してはいけません。
AIへ渡す前に整形する
- 許可サービスの一覧を整える … 区分(許可/条件付き許可/禁止)、上限の格付け、条件、別名、見直しの日の列をそろえます
- 判定の表を作る … 格付け4段階 × 区分 × アカウント(会社の契約/個人)× 端末(会社支給/私物)の組み合わせに、結論を1つずつ書きます
- 規程を条文の単位で読めるようにする … データストアを作るときにレイアウトパーサーと分割を有効にし、
includeAncestorHeadingsで章と条の見出しを各断片に含めます - ガイドラインに施行日と状態を付ける … 改訂のたびに旧版を
retiredにします - 過去の回答集を選ぶ … 問い合わせの一覧から、規程の改訂後も通用する回答だけを選び、根拠の条文を書き添えます
- 個別の事情を除く … 回答集から、部署名・顧客名・案件名を伏せます
- 閲覧の範囲を決める … 例外承認の記録に
acl_infoを付けます
3番目は、データストアを作る前に決めます。 分割はデータストアの作成のあとでは有効にも無効にもできず、見出しを含める設定は既定では無効です。 規程は「第○条」の見出しが無いと、断片だけを読んでもどの条の話か分かりません。分割の大きさは100〜500トークンで、既定は500です。条が短い規程では小さめにします。
2番目の判定の表を、AIに作らせないでください。 表の1行は「機密 × 条件付き許可 × 会社の契約 × 会社支給 → 条件付き可(条件:一覧の条件欄)」のような事実で、情報セキュリティの責任者が承認するものです。 ここに推測が混ざると、AIが可否を決めているのと同じになります。
AIに処理させる
させるのは、判定の表が出した結論の根拠になる条文を見つけ、条件と守ることを短く説明することです。 何を聞き返すかは聞き返しの表で、可否は判定の表で中継プログラムが決めます。
| 要素 | 中身 | 根拠 |
|---|---|---|
| 結論 | 判定の表の結論をそのまま書く | 判定の表 |
| 根拠の条文 | 格付けの取扱い、クラウドの利用、端末の利用の該当条 | 規程とガイドライン |
| 条件 | 会社のアカウントに限る、ファイルを残さない、など | 一覧の条件欄と規程 |
| 次の手続き | 例外申請の様式、審査の依頼の窓口 | 規程と回答集 |
answer メソッドの設定は次のようにします。
| 設定 | 値 | 理由 |
|---|---|---|
session | 質問ごとのセッション | 聞き返しと続けての質問をつなぐ |
includeCitations | 有効 | 説明の文に出典を付ける |
ignoreLowRelevantContent | 有効 | 規程に無い話に答えない |
ignoreAdversarialQuery | 有効 | 規程の抜け道を探す文面に答えない |
ignoreNonAnswerSeekingQuery | 有効 | あいさつや雑談で検索しない |
filter | 話題と状態 | 改訂前のガイドラインを除く |
userPseudoId | 社員ごとの仮の識別子 | 質問の記録と結びつける |
preamble | 下の指示 | 答え方の規則を与える |
ignoreAdversarialQuery は、この題材では特に効きます。 社員の質問には「規程に違反しないで顧客データを生成AIに入れる方法は」のように、禁止の抜け道を探す形のものが混ざります。 答えを作らず、担当へ回します。
| させないこと | 理由 |
|---|---|
| 可否の結論を決める | 判定の表と責任者の承認で決まる |
| データの格付けを決める | 格付けは資料の持ち主の部署が規程に沿って決める |
| 一覧に無いサービスの安全性の評価 | 審査は情報セキュリティ担当の仕事 |
| 例外を認めてよいかの見通し | 例外の承認は責任者が事案ごとに判断する |
| 規程に無い一般的な対策の提案 | 自社の規程と食い違いうる |
2行目がいちばん起きやすい失敗です。 社員が「普通の会議資料です」と書くと、モデルは「社内限り」と読み替えて答えようとします。格付けは聞き返しの選択肢で社員本人に選ばせ、「分からない」が選ばれたら、格付けの決め方の条文だけを示して止めます。
指示内容を固定する
answer メソッドの preamble に、次の指示を入れます。
あなたは情報システム部門で、社員からの「使ってよいか」の質問に
社内の規程を根拠に説明する担当です。
読むのは業務の手を止めて返事を待っている社員です。
【前提】
検索の文の最初に、聞き取った条件と、判定の表が出した結論が並んでいます。
結論は確定しています。あなたが変えてはいけません。
【答え方】
1. 最初の行に、与えられた結論(可/条件付き可/不可/例外申請/未審査)を
そのまま書いてください。
2. 次に、その結論の根拠になる規程・ガイドラインの名前と条の番号を書いてください。
3. 条件付き可のときは、守る条件を箇条書きで書いてください。
許可サービスの一覧の条件欄の語をそのまま使ってください。
4. 例外申請・未審査のときは、次の手続きの名前と窓口だけを書いてください。
【厳守事項】
- 検索結果の文書に書かれていることだけで説明してください。
一般的なセキュリティの知識で条件を足さないでください。
- 与えられた結論と違う結論を書かないでください。
条文が結論と合わないと思ったときは、
「規程の確認が必要です。情報セキュリティ担当へ回します」とだけ書いてください。
- データの格付けを推測しないでください。
- 一覧に無いサービスについて、安全かどうかの意見を書かないでください。
- 例外が認められそうかどうかを書かないでください。
- 規程の抜け道や、禁止されていることを避ける方法を書かないでください。
- 該当する条文が見つからないときは、
「規程とガイドラインに該当する記載が見つかりません。情報セキュリティ担当へ回します」
とだけ書いてください。
- 顧客名、案件名、個人名を書かないでください。
「結論は確定している。変えてはいけない」が、この指示の要です。 モデルに条文だけを渡すと、条文を読んで自分で可否を考え、判定の表と違う結論を丁寧な根拠付きで書きます。結論を先に渡し、それを説明する役に限ることで、文章の役と判定の役が分かれます。
検索の文は、中継プログラムが組み立てます。 例えば「サービス:翻訳サービスA(条件付き許可、上限:社内限り)、データ:取引先の仕様書(機密)、アカウント:会社の契約、端末:会社支給。判定:不可。根拠の条文を示してください」のように、条件と結論を並べ、社員の質問の文を最後に足します。
出力形式を固定する
answer メソッドの応答を、中継プログラムが次の形に整えて、チャットと記録に渡します。
{
"inquiry_id": "",
"session_id": "",
"department": "",
"service": { "name": "", "matched_alias": "", "category": "allowed | conditional | prohibited | not_listed" },
"conditions": { "classification": "public | internal | confidential | secret | unknown",
"account": "corporate | personal", "device": "company | byod" },
"verdict": "ok | ok_with_conditions | ng | exception_required | not_reviewed",
"status": "answered | escalated | skipped",
"escalate_reason": "exception | not_reviewed | mismatch | skipped | adversarial | user_request | none",
"answer_text": "",
"policy_refs": [ { "doc": "", "article": "", "effective_from": "", "uri": "" } ],
"service_conditions": [],
"feedback": "resolved | escalated_after | wrong | none"
}
1つ目の理由は、verdict を説明の文と別に持てることです。 verdict は判定の表が決め、answer_text はAIが書きます。中継プログラムは、answer_text の最初の行が verdict と合っているかを機械的に照合し、合わないものを出しません。
2つ目は、conditions を回答と一緒に残せることです。 担当へ回すとき、聞き取り済みの格付け・アカウント・端末がそのまま渡るので、担当は聞き直さずに例外の審査に入れます。 誤った回答が出たときも、どの条件で判定したかが分かります。
3つ目は、service.category の not_listed を数えられることです。 未審査として回ったサービスを月ごとに数えると、次に審査すべきサービスの順番がそのまま決まります。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 社内ポータルのチャット | 社内向けの画面 | 質問を受け、聞き返しと回答を表示する |
| 社内の ID 基盤 | Workforce Identity Federation | 社員の所属で閲覧の権限を決める |
| 許可サービスの一覧と判定の表 | 中継プログラムからの読み取り | 区分・上限の格付け・条件と、結論を引く |
| Agent Search | answer メソッドの呼び出し | 社員の ID で、規程とガイドラインから説明を作る |
| 担当の待ち行列 | 書き込み | 回す質問を、条件と判定と一緒に載せる |
| 問い合わせの一覧 | 書き込み | 質問・条件・判定・回答・評価を残す |
許可サービスの一覧には書き込みません。 未審査のサービスが回ってきても、一覧に足すのは審査を終えた担当です。中継プログラムが一覧を書き換えられる作りにすると、照合の誤りが許可として残ります。
検索は、社員の ID で行います。 中継プログラムが広い権限のサービスアカウントで検索すると、例外承認の記録が一般の社員への説明に入ります。
人が確認する
社員は、回答を読んだあと必ず根拠の条文を開いてから使います。 回答は「どの条を読めばよいか」と結論を示すもので、条件の細かい言い回しは原文にしかありません。
- 結論と条件を確かめる … 条件付き可なら、条件の一つひとつを自分の使い方が満たしているかを見ます
- 聞き返しで選んだ値が正しいかを確かめる … 格付け・アカウント・端末の値を、回答の上に並べて表示します
- 評価を付ける … 解決した/担当へ回した/誤りを選びます
2番目を軽く見ないでください。 急いでいる社員は、会社の契約のアカウントと個人のアカウントを取り違えて選ぶことがあります。条件を1つ違えた回答は、条文まで含めて正しく見えるので、回答の側からは誤りに気付けません。
情報セキュリティ担当は、回ってきた質問だけを見ます。 例外申請は、これまでどおり責任者の承認に回します。未審査のサービスは、月に一度まとめて審査の順番を決め、審査が済んだら一覧と判定の表に足します。
目標は、480件をならして1件4分です。 回答で解決した質問の記録の確認と、回ってきた質問を担当が答える時間の平均です。
例外に対処する
| 起きること | 対応 |
|---|---|
| サービス名が一覧の名前にも別名にも当たらない | 候補を3つまで示して選んでもらい、無ければ not_reviewed で回す |
| 格付けに「分からない」が選ばれる | 判定せず、格付けの決め方の条文と資料の持ち主の部署を示して止める |
| 判定の表に無い組み合わせ | 回答を作らず担当へ回す。表に行を足すかを担当が決める |
| 説明の結論が判定と合わない | 説明を出さず mismatch で回す |
| 抜け道を探す質問と判定された | 回答を作らず adversarial で回す |
| 該当する条文が無い | answerSkippedReasons の理由を記録し、担当へ回す |
| 一覧の見直しの日を過ぎたサービス | 判定を「条件付き可」より上にしない。見直しの依頼を担当に出す |
| 検索の呼び出しが失敗する | 「回答を作れませんでした」と表示し、窓口の連絡先を示す |
| 社員が「担当と話したい」と書く | 回答の途中でも、その時点の条件を付けて担当へ回す |
3行目は、最初の数か月は多く出ます。 判定の表は最初から全部の組み合わせを埋められません。回ってきた組み合わせに行を足していくことで、表は質問の実態に合わせて育ちます。 担当が答えた内容を、そのまま表の1行にします。
記録を残す
- 質問の文、選んだ聞き返しの値、日時、所属の部署
- 引いた一覧の行(区分・上限の格付け・条件)と、そのときの判定の表の版
- 中継プログラムが組み立てた検索の文と、使った絞り込みの式
- answer メソッドの応答の全文(説明、出典、回答しなかった理由)
- 照合の結果、回す・回さないの判定と、その理由
- 社員の評価と、担当が最終的に答えた内容
2行目で「判定の表の版」を残すのは、表が後から変わるためです。 サービスの区分を見直すと、過去の回答の意味が変わります。当時の表が残っていないと、「なぜあのとき可と答えたのか」を説明できません。 規程の監査で問われるのは、たいていこの点です。
04実装レベルの3段階
半自動化で、1件12分が7分程度になります。 探す時間は縮みますが、聞き返しと、担当が全件を受ける形が残ります。本格構成で4分になり、この段階が本記事の想定です。 差が大きいのは、聞き返しがチャットの選択肢に移り、判定の表に答えのある質問が担当を通らずに完結するからです。 段階を飛ばさないでください。 半自動化の1か月で、担当が回答の前に何を聞き返しているかを記録から拾います。それが聞き返しの表と、判定の表の列の元になります。
05工数削減シミュレーション
導入後 480件 × 4分 ÷ 60 = 32 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 従業員が数百名以上で、情報セキュリティ規程と情報の格付け(公開・社内・機密など)の決まりがすでに文書になっている会社。クラウドのサービスや生成AIの利用について、社員から情報システム部門へ「使ってよいか」「このデータを入れてよいか」の質問が月に数百件届き、答えが担当者によって揺れている場合。利用を許可したサービスの一覧を、表の形で持っているか、これから持つ用意がある場合。社内の文書を Google Cloud に置くことが自社の規程で認められている場合。
- 情報セキュリティ規程が無い、または格付けの決まりが無く、可否が担当者の経験で決まっている場合(根拠にする文書が無いので、まず規程を書くのが先です)。従業員が数十名で、質問が月に数十件の場合。利用の可否の最終判断や例外の承認そのものをAIに任せたい場合(この構成は規程と一覧の該当箇所を示すだけで、例外の承認は情報セキュリティの責任者が行います)。
07最小構成で試す方法
- 先月の問い合わせの一覧から30件を選ぶ(一覧に無いサービスの質問と、条件付き許可の質問を数件入れる)
- その30件について、担当がどの条文と一覧の行を見て、どう答えたかを記録から拾う
- 規程4本と関係するガイドラインを、手元のAIサービスに資料として読み込ませる
- 格付け・サービスの区分・アカウント・端末と、当時の結論を並べて貼り、「添付の資料だけを根拠に、この結論の根拠になる条文を番号付きで示してください。結論は変えないでください」と指示する
- 出てきた条文を、当時の担当の回答と突き合わせる
| 出てきた内容 | 判断 |
|---|---|
| 当時と同じ条文と条件が出た | データストアの構築に進む |
| 結論を書き換えた、条件を足した | 指示の書き方で直る。構成は有効 |
| 担当ごとに当時の結論が違っていた | 判定の表を作るのが先。 AIの問題ではない |
3行目が出ることは珍しくありません。 失敗ではなく、第3章の(b)の揺れが、記録の上で確かめられたということです。 その質問の組み合わせを責任者と決め、判定の表の最初の行にします。
同じ30件を、結論を渡さずにも試してください。 AIに可否から考えさせたときに、当時の結論と何件違うかを数えると、判定の表を別に持つ意味が数字で分かります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| AIが条文を読んで可否を考え直す | 結論を先に渡し、変えないと指示する。 説明の最初の行を判定と照合する |
| 格付けを推測して答える | 格付けは社員に選ばせ、「分からない」なら判定せずに止める |
| 一覧に無いサービスを「不可」と答える | not_listed は「未審査」として回す。禁止と未審査を分ける |
| 別名で一覧を引けない | 一覧に別名の列を持たせ、回ってきた名前を足していく |
| 例外承認の記録が社員に見える | acl_info を付け、社員の ID で検索する |
| 改訂前のガイドラインで答える | 旧版を retired にし、状態で絞り込む |
| 条の見出しが無い断片で答える | 作成時に includeAncestorHeadings を有効にする。後から変えられない |
| 抜け道を探す質問に答える | ignoreAdversarialQuery を有効にし、回答を作らずに回す |
上の2行が、この構成の失敗のほとんどです。 どちらも、答えとしては筋が通っているのに、自社の決まりではないという失敗です。可否と格付けを規則と本人の選択で持っているかどうかで、社員に開けるかが決まります。
3行目は、運用が始まってから効いてきます。 「不可」と答えると社員は申請をあきらめ、規程の外で同じサービスを使い始めます。 未審査と答えて審査の順番に載せるほうが、結果として規程の内側に戻ってきます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 情報セキュリティ規程とガイドライン、許可サービスの一覧、例外承認の記録、社員の質問の文です。質問の文には、社員が使おうとしているデータの中身(顧客名、案件名)が書かれがちです。
- 質問の文にデータの中身を書かせない … チャットの画面に「資料の中身や顧客名を書かないでください」と表示し、格付けは選択肢で入れさせます
- 可否をAIに決めさせない … 結論は判定の表で決め、表の変更は情報セキュリティの責任者の承認を通します
- 例外承認の記録を出し分ける …
acl_infoを付け、検索は社員の ID で行います - 一覧と判定の表を中継プログラムから書き換えない … 読み取りだけにします
- 規程の抜け道の質問を記録に残す …
adversarialで回った質問は、担当が月次で見て、規程の書き方を見直す材料にします - 社内の文書をクラウドに置くことを、自社の規程で確かめる … この構成そのものが、自社のクラウドの利用の規程の審査を通っている必要があります
誤りが起きた場合のリスクは、使ってはいけないデータを使ってよいと答えることと、見せてはいけない記録が見えることの2つです。 前者は判定の表と説明の照合で、後者は ID による検索で防ぎます。どちらも規則と設定で守り、AIの説明の文に頼りません。
10まず何から始めるか
1週目:許可サービスの一覧を整える
一覧に、区分・上限の格付け・条件・別名・見直しの日の列をそろえます。質問の多い生成AI、ファイル共有、私物の端末の3つに関係するサービスから始めます。
2週目:30件で試す
先月の質問から30件を選び、手元のAIサービスに規程を読み込ませて、条件と当時の結論を並べて根拠の条文を探させます。結論を書き換えていないかを最優先で見ます。
3週目:判定の表を作る
3つの話題について、格付け × 区分 × アカウント × 端末 の組み合わせに結論を書き、責任者の承認を取ります。 この表は、異動してきた担当が何を確かめるべきかの手引きとしても、そのまま使えます。
4週目:データストアを作る
アクセス制御と分割・見出しの設定を決めて、規程とガイドラインと回答集を取り込みます。担当が検索画面で使い、自分の回答と比べます。
2か月目: 中継プログラムとチャットの画面を作り、2つの部署で試します。社員の評価と、回ってきた組み合わせの数を毎週数えます。3か月目以降: 全社に広げ、1件12分が何分になったかを実測します。判定の表に無い組み合わせで回る質問が月に数件以下に収まった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Vertex AI Search が Agent Search へ改称中であること。answer メソッドがセッションによる複数回のやり取りに対応し、質問の言い換えが既定で有効なこと。includeCitations、ignoreLowRelevantContent、ignoreAdversarialQuery、ignoreNonAnswerSeekingQuery、answerSkippedReasons、preamble、filter、userPseudoId | Google Cloud: Get answers and follow-ups | 2026-10-06 |
データソースのアクセス制御で、acl_info の readers に user_id/group_id を書いて閲覧の範囲を限れること。Microsoft Entra ID・Okta・Ping を Workforce Identity Federation でつなげること。作成時にしか有効にできないこと | Google Cloud: Use data source access control | 2026-10-06 |
絞り込みの ANY()、比較の演算子、AND/OR/NOT、項目を索引可能にする必要があること、日付をISO 8601で書くこと | Google Cloud: Filter search for structured or unstructured data | 2026-10-06 |
分割の大きさが100〜500トークン(既定500)、includeAncestorHeadings が既定で無効、分割はデータストアの作成後に切り替えられないこと。レイアウトパーサーが見出しと表を検出すること | Google Cloud: Parse and chunk documents | 2026-10-06 |
| 「中小企業の情報セキュリティ対策ガイドライン」第4.0版(2026年3月27日公開)。付録に「情報セキュリティ関連規程(サンプル)」と「中小企業のためのクラウドサービス安全利用の手引き」があること | IPA: 中小企業の情報セキュリティ対策ガイドライン | 2026-10-06 |
利用の可否と例外の承認は、自社の情報セキュリティ規程と責任者の判断に従ってください。 本記事は Google Cloud と IPA の公開ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0518)についてのご相談はこちらから。
