AIは入れた。
でも、社内システムには
手が届かない。
社内システムを、AIから使えるようにする ── 本人の権限のまま
Microsoft 365 の中は、AIで動くようになってきました。問題はその外側です。 受注、稼働、経費、勤怠、案件管理。社員が一日のうち大半を過ごしているシステムに、AIは触れません。 だから、画面を2つ開いて転記する仕事だけが残り続けます。
やってみた会社は、だいたい同じところで止まります。「見えてはいけないものまで見えてしまった」。 そこで本番化を諦めて、検証止まりになる。この止まり方には、はっきりした理由があります。
止めているのは、権限管理の設計ではありません。
「権限まわりが複雑だから無理」という結論になりがちですが、調べてみると原因が別のところにあることがほとんどです。
呼び出し元が、画面しかいなかった
社内システムは「画面と対で使われる」前提で作られています。誰であるかを画面が確かめ、その結果をサーバーへ渡す。この分担は、呼び出し元が画面だけなら正しく動きます。
見せ方の一部が、画面側にある
見えてはいけない行を画面が落としている。押せないボタンを隠している。画面を通らずに呼ぶと、その分が丸ごと無くなります。AIから呼ぶというのは、そういうことです。
「誰か」を、呼び出し側から受け取っている
画面が「この人です」と伝え、サーバーがそれを信じる。呼び出し元が画面しかいない間は成立していた前提ですが、外から呼べるようにした瞬間、名乗りが自己申告になります。
だから、権限の仕組みを作り直しても直りません。全社共通の権限データベースを新しく作る。権限を認証基盤へ移す。判定を別の基盤へ切り出す。──どれも大きな話になりますが、止まっている原因はそこではないことが多いのです。
変わったのは要件のほうです。呼び出し元が画面以外にも増えた。これまで画面が担っていた分を、サーバー側で担保する必要が出てきた。直すべきはそこだけです。
APIが単体で完結すれば、あとは全部つながります。
目指す状態は、たった3つです。特別なことは何も書いていません。普通のAPIの形です。
① 誰が呼んだかを、API自身が確かめる
呼び出し側から渡された名前を信じない。検証したトークンからだけ、実行者を決める。
② その人が見ていいデータだけ返す
一覧・検索・集計・出力のすべてに効かせる。全部返してから受け取り側で隠す、をやめる。
③ その人がやっていい操作だけ通す
承認の順序、状態の遷移、入力の制約まで。画面を通らなくても業務ルールが守られる状態にする。
これが揃うと、呼び出し元を選ばなくなります。画面から呼んでも、コマンドラインから呼んでも、AIエージェントから呼んでも、同じ権限・同じ範囲でしか動かないことをサーバー側が保証するからです。
そうなれば、AI連携は難しい話ではなくなります。難しかったのは接続ではなく、接続してよい状態を作ることでした。
進め方は4つです。全システムを一度に扱いません。
システムごとに状態が違います。まず1つ調べて、そこで進め方を決めます。いきなり全社の計画を立てません。
調査で見るのは、この7つです。
1システムあたり半日から1日。読むだけで、コードもデータも変更しません。
誰であるかの伝わり方
トークンを検証しているのか、受け取った名前を信じているのか。ここが全体の分岐点です。
判定している場所
サーバー側か、画面側か、両方か。画面側なら「隠しているだけ」か「実データを絞っている」か。
絞り込みの条件
画面が送っている検索条件に、権限の意味が入っていないか。外して呼ぶと範囲が広がらないか。
APIの棚卸し
何が存在し、それぞれ誰の権限で何を返すか。1画面がいくつのAPIから組み立てられているか。
更新と業務ルール
承認の順序、状態の遷移、入力の制約。画面を通らずに呼んだとき、破れる箇所はあるか。
データへの別経路
アプリケーションを通さずにデータへ届く経路があるか。そこに権限の考慮はあるか。
お返しするのは、4段階の判定と、その根拠です。
A:呼び出し元が増えても安全。そのまま接続できます / B:おおむね満たしているが、一部の項目・操作に不足がある / C:判定はサーバー側にあるが、絞り込みを画面側の条件に依存している / D:名乗りを呼び出し側から受け取っている。外から呼べるようにする前に手を入れる必要がある
そのうえで、部分的に直すのが早いのか、作り直したほうが早いのかも申し上げます。忖度はしません。
「改修の順番待ち」で止まらない形があります。
社内システムの改修は、他の要望とまとめて対応するのが普通です。それを待つと、AI連携は何年も先になります。 そこで、既存システムには極力手を加えず、本人の権限で完結する新しい入口を並行して用意する進め方を選べます。
要点はひとつだけです。新しい入口で、認可を作り直さないこと。
新しい入口は「この人はこの操作をしていいか」を既存システムに問い合わせます。既存システムにお願いする変更は、その判定を返す参照専用の窓口を1つ用意していただくだけです。
既存への変更が最小
参照専用の窓口が1つ。既存の画面もそのまま動き続けます。
監査の説明が変わらない
権限の正本は既存システムのまま。誰が何をしてよいかの定義を、二重に持ちません。
所管をまたいでも進む
システムごとに担当部署が違っても、新しい入口の側は独立して進められます。
考え方としては目新しいものではありません。既存の前に新しい層を置いて機能単位で移していく方法(Strangler Fig)と、既存のデータの形を新しい層に持ち込ませない変換層(Anti-Corruption Layer)の組み合わせです。 大事なのはそこに認可を持ち込まないことで、持ち込んだ瞬間に「権限の正本が2つある」状態になり、いずれ必ずずれます。
向いている場合と、向いていない場合。
✅ 向いています
・Microsoft Entra ID(Azure AD)でサインインして使う社内Webシステム
・画面でできることが、だいたいAPIとして存在している
・システムを作った人、または保守している会社が分かる
・「AIに触らせたいが、権限が心配で止まっている」状態
・監査対象で、記録を残す必要がある
⛔ 向いていません
・独自の認証しか持たない基幹システム(会計・生産管理など)。APIが標準では存在しないことも多く、別の話になります
・複数システムを裏で結合している画面。対応するAPIが存在しないため、「結合そのものをAPIにする」という別の仕事になります
・ソースコードにも保守ベンダーにもたどり着けないシステム
・画面操作の自動化で済ませたい場合(そちらは別の手段が適します)
1システムの調査から始まります。
いきなり全社の計画は立てません。1つ調べて、進める価値があるかを判断してから先へ進みます。
よくあるご質問
社内で試したときは「権限の整理ができていないから」という結論になりました。
どちらも、権限データの持ち方や承認フローの設計とは別の話です。まず1システム調べれば、どちらなのかがはっきりします。権限の作り直しが本当に必要なケースもありますが、多数派ではありません。
ソースコードを外部に見せることになります。
秘密保持契約を先に締結してから着手する形でも結構です。調査の結果として残るのは報告書とテストで、認証情報や個人情報は報告書に転記しません。
AIに調査させると聞きましたが、その結果は信用できますか。
AIを使う理由は、人手で数日かかるコードの追跡を短くできるからであって、判断を任せるためではありません。対象の線引き、監査への説明、テストの期待値は人が決めます。
改修すると、今動いている画面が壊れませんか。
ただし両方が同じ間違いをしている場合、突き合わせだけでは合格してしまいます。そこで、期待値は実装からではなく権限の申請記録と業務ルールから作ります。ここを省くと、テストが緑でも意味がありません。
監査部門に説明できますか。
ただし監査部門が何を認めるかは、御社ごとに違います。合格をお約束することはできません。設計の段階で監査担当の方に入っていただくことをお勧めしています。
全部のシステムを対応したら、どれくらいかかりますか。
おすすめは、手作業の転記がいちばん多い業務の、両端にあるシステムから始めることです。効果が数字で出やすく、社内で次の話をするときの材料になります。
AIから使えるようにした結果、かえって情報が広がりませんか。
読めるようにするのと同時に、どこまでの範囲を返すのか・応答がどこに保存され誰が見るのか・件数の上限をどう置くのかを決めます。ここを決めずに接続すると、権限が正しくても事故になります。調査の報告には、この論点を必ず含めます。
終わったとき、
こうなっています。
調査の成果物は報告ですが、買っていただくのは報告ではありません。終わった時点で、次の状態になっています。
- 1システムについて、AIから呼んでも本人の権限を超えない — 見えてはいけないものが見える経路が塞がれています
- 検証で止まらない — 「やってみたら見えすぎた」で本番化を諦める、が起きません
- 監査への説明が、これまでと変わらない — 判定している場所を動かさない形を選びます
- 残りのシステムに、同じ手順が使える — 1つ目で型ができるので、2つ目以降が速くなります
何もしなかった場合に起きること
画面を2つ開いて転記する仕事が、そのまま残り続けます。Microsoft 365の中だけがAIで動くようになり、社員が一日の大半を過ごすシステムだけが取り残される——この差は、放っておくと広がる一方です。
まず、1システムだけ調べませんか。
「AIに触らせたいが、権限が心配で止まっている」──その状態のままでお声がけください。何が止めているのかを、根拠つきでお返しします。直す価値が無いと判断すれば、そう申し上げます。