Media > AI活用ユースケース > 情報システム > 金融機関の情報システム部が業務システムの権限申請を、Azure OpenAI で職務と権限の対応表に照らし、過大な権限と職務分掌の衝突の疑いを承認の前に拾う

金融機関の情報システム部が業務システムの権限申請を、Azure OpenAI で職務と権限の対応表に照らし、過大な権限と職務分掌の衝突の疑いを承認の前に拾う

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

行員から届く業務システムの権限申請を、職務と権限の対応表と職務分掌の禁止の組み合わせに照らし、標準を超える権限と衝突の疑いを承認の前に挙げます。差分ごとに申請理由で説明がつくかを Azure OpenAI で判定し、確認の文案を添えます。

サマリー
生成AI
Azure OpenAI Service/Claude/Gemini
連携・自動化
Power Automate
対象業界
IT・SaaS/保険/金融
対象部門
情報システム
対象業務
内容確認・チェック/比較検討
主な課題
判断に時間がかかる/属人化している/確認ミスが多い
AIで行う処理
判定
主な効果
判断支援/品質標準化/工数削減
導入難易度
★★★☆☆
実装レベル
本格構成
費用感
API連携(中)
人間の確認
必須
現在工数
90h/月
AI導入後
30h/月
想定削減
67%
年間削減
720h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. 申請者が申請ワークフローで、対象の業務システム、権限の段階、申請理由、期間を入力し、所属長の承認を得る
  2. 情報システム部の担当者が申請を開き、人事システムで申請者の所属・役職・兼務を確かめる
  3. 職務と権限の対応表を開き、申請者の職務の標準に、申請された権限があるかを見る
  4. 申請者が既に持っている権限の一覧を各業務システムから引き、禁止の組み合わせの一覧と見比べる
  5. 標準を超えるもの、組み合わせに当たるものがあれば、申請理由を読んで説明がつくかを考える
  6. 説明がつかなければ、申請者か所属長に問い合わせる。つけば、例外として承認の記録に理由を書く
  7. 承認されたものを、業務システムの管理画面で付与する
導入後(After)
  1. 人申請者が申請ワークフローで申請し、所属長が承認する(いまと同じ)
  2. 自動30分ごとに、所属長の承認を終えた申請を取り出す
  3. 自動人事システムから所属・役職・兼務を、各業務システムの一覧から既に持つ権限を引く
  4. 自動プログラムが、職務の標準との差分と、禁止の組み合わせに当たる候補を出す
  5. 自動差分も候補も無い申請は「標準どおり」として、担当者の一覧に流す
  6. 自動差分か候補がある申請だけ、Azure OpenAI が申請理由を読み、項目ごとに説明がつくかを判定する
  7. 自動説明がつかない項目について、申請者への確認の文案を作る
  8. 人担当者が「標準どおり」を流し見て承認し、差分・候補のある申請を1件ずつ確かめる
  9. 人確認が要るものは文案を直して問い合わせ、例外として認めるものは理由と期間を記録する
  10. 人承認されたものを、業務システムの管理画面で付与する(いまと同じ)
各工程の詳しい説明を読む
  1. 申請者が申請ワークフローで、対象の業務システム、権限の段階、申請理由、期間を入力し、所属長の承認を得る
  2. 情報システム部の担当者が申請を開き、人事システムで申請者の所属・役職・兼務を確かめる
  3. 職務と権限の対応表を開き、申請者の職務の標準に、申請された権限があるかを見る
  4. 申請者が既に持っている権限の一覧を各業務システムから引き、禁止の組み合わせの一覧と見比べる
  5. 標準を超えるもの、組み合わせに当たるものがあれば、申請理由を読んで説明がつくかを考える
  6. 説明がつかなければ、申請者か所属長に問い合わせる。つけば、例外として承認の記録に理由を書く
  7. 承認されたものを、業務システムの管理画面で付与する

(a)4番目が重い。 既に持っている権限は業務システムごとに一覧が分かれ、1人分を集めるだけで数分かかります。 禁止の組み合わせは80行あり、どの行に当たりうるかを毎回目で探しています。

(b)兼務と応援の判断が担当者ごとに違う。 「融資課との兼務の発令による」と書かれた申請で、兼務先の標準の権限まで認めるのか、兼務の発令が実際に出ているのかを確かめるのか。担当者によって確かめる深さが違い、 同じ申請が担当者によって通ったり問い合わせになったりします。

(c)期間の書かれていない例外が残る。 「検証のため一時的に」と書かれていても期間が無ければ、付けた権限はそのまま残ります。 次の棚卸しまで誰も気づきません。

(d)衝突に承認の後で気づく。 申請の時点では標準の範囲に見えても、既に持っていた別の業務システムの権限と合わせると禁止の組み合わせに当たる、ということがあります。4番目を急いだ月ほど、棚卸しで見つかります。

  1. 【人】 申請者が申請ワークフローで申請し、所属長が承認する(いまと同じ)
  2. 【自動】 30分ごとに、所属長の承認を終えた申請を取り出す
  3. 【自動】 人事システムから所属・役職・兼務を、各業務システムの一覧から既に持つ権限を引く
  4. 【自動】 プログラムが、職務の標準との差分と、禁止の組み合わせに当たる候補を出す
  5. 【自動】 差分も候補も無い申請は「標準どおり」として、担当者の一覧に流す
  6. 【自動】 差分か候補がある申請だけ、Azure OpenAI が申請理由を読み、項目ごとに説明がつくかを判定する
  7. 【自動】 説明がつかない項目について、申請者への確認の文案を作る
  8. 【人】 担当者が「標準どおり」を流し見て承認し、差分・候補のある申請を1件ずつ確かめる
  9. 【人】 確認が要るものは文案を直して問い合わせ、例外として認めるものは理由と期間を記録する
  10. 【人】 承認されたものを、業務システムの管理画面で付与する(いまと同じ)

4番目と6番目を分けているのが、この設計の中心です。 差分と衝突の候補は、表の照合だけで決まるのでプログラムが出します。 AIが判定するのは、出てきた差分と候補に対して、申請理由が説明になっているかだけです。AIが差分を見落としても、差分そのものは規則の側で必ず出ています。

8番目で、担当者の時間を差分と候補のある申請に集めます。 標準どおりの申請は件数と申請者を一覧で見て承認し、判断の時間を例外の申請に使います。

02今回想定するシステム構成

構成図
申請ワークフロー(所属長の承認済みの申請)
   │
   ▼【トリガー】30分ごと(Azure Functions のタイマー)
Azure Functions ── 申請の取り出し
   ├──▶ 人事システム:所属・役職・兼務の発令
   ├──▶ 各業務システムの権限の一覧:既に持つ権限
   ▼
Azure Functions ── 規則による照合
   │   ① 職務の標準との差分   ② 禁止の組み合わせに当たる候補
   │   ③ 兼務先の標準         ④ 期間の有無
   ▼
差分・候補あり ──▶ Azure OpenAI(構造化出力)
   │   項目ごとに、申請理由が説明しているかを判定し、確認の文案を作る
   ▼
審査の一覧(標準どおり/要確認/衝突の疑い)
   ▼
【担当者が確かめて承認・問い合わせ】
   ▼
業務システムの管理画面で付与(いまと同じ)
役割想定する製品代替候補
生成AIAzure OpenAI(Microsoft Foundry)Claude API、Gemini API
連携Azure Functions(申請の取り出し、人事と権限の一覧の取得、規則の照合、一覧の書き出し)Power Automate
保管Azure Blob Storage(入力、判定、承認の記録)申請ワークフローの添付の領域
決まり職務と権限の対応表、禁止の組み合わせの一覧(表計算)-

業務システムの権限は、この構成からは付けません。 付与はいまと同じく担当者が管理画面で行います。審査の結果から自動で付与する経路を作ると、 判定の誤りがそのまま権限になります。

Azure OpenAI を選ぶ理由は、構造化出力で決まった形の JSON を受けられることです。 公式の説明では、構造化出力は推論の呼び出しで指定した JSON スキーマに従うもので、Chat Completions API と Responses API の両方で使えるとされています。項目ごとの判定を決まった値で受けられるので、 後段のプログラムが「説明がつかない」項目を数え、一覧の並び順を決められます。

もう一つは、データの扱いです。 公式のページでは、プロンプトと応答は他の顧客や OpenAI に提供されず、基盤モデルの学習に使われないとされています。行員の所属と権限の一覧は、攻撃者にとって価値の高い情報です。 Azure の契約と権限の管理の中で扱い、処理の場所を選べることを重く見ます。

03どうやって実装するのか

Step1

処理の起点を決める

30分ごとに、所属長の承認を終えた申請を取り出します。 Azure Functions のタイマー トリガーで、NCRONTAB 式を使って平日の業務時間に動かします。例えば 0 */30 8-19 * * 1-5 です。既定のタイム ゾーンは協定世界時(UTC)なので、日本の時刻で動かすには WEBSITE_TIME_ZONE のアプリ設定が要ります。ただし、Linux の従量課金プランと Flex 従量課金プランでは、この設定が現在サポートされていないとされています。その場合は UTC に直した時刻で式を書きます。

申請の1件ごとに動かす形にはしません。 申請ワークフローによっては、承認の完了を外へ知らせる仕組みが無いことがあります。取り出しの間隔を30分にすれば、 どの申請ワークフローでも、書き出しか照会の仕組みがあれば組めます。

タイマー トリガーは、関数が失敗した後に再試行しないとされています。失敗した回は次の時刻まで呼ばれません。取り出し済みかどうかを申請番号で記録し、 前の回で処理できなかった申請は次の回に必ず拾うようにします。

Step2

入力データを集める

データ中身取得元
申請申請番号、申請者、対象の業務システム、権限の段階、申請理由、期間、所属長の承認日時申請ワークフロー
人事の情報所属、役職、職務の区分、兼務の発令とその期間、応援の発令人事システム
既に持つ権限業務システムごとの権限の段階と付与日各業務システムの権限の一覧
職務と権限の対応表職務ごとの標準の権限表計算のファイル
禁止の組み合わせ同じ人が持ってはいけない権限の組み合わせと、その理由規程の別表(表計算に写したもの)
過去の例外例外として認めた申請と、その理由・期間承認の記録

質を決めるのは、人事の兼務の発令です。 「兼務の発令による」と書かれた申請で、人事システムに兼務が無ければ、それは申請理由と事実が合わないということです。 AIがこの食い違いを指摘できるのは、兼務の情報を一緒に渡したときだけです。

禁止の組み合わせには、理由の列を必ず持たせます。 「為替の入力と為替の検証」なら「同じ取引を一人で入力して確かめられてしまう」。理由があると、AIは申請理由がその懸念に答えているかを判定できます。 理由の無い組み合わせは、当たったかどうかしか言えません。

Step3

データの取得方法を決める

取るものどこから取り方
承認済みの申請申請ワークフロー書き出しの機能か照会の API で、前回以降に所属長の承認を終えたものを取る
所属・兼務人事システム毎朝の連携ファイル(社員番号で引く)
既に持つ権限各業務システム毎晩の権限の一覧の書き出し(社員番号で引く)
対応表と禁止の組み合わせ表計算のファイル変更のたびに情報システム部が置き換える

既に持つ権限は、前の晩の時点のものです。 当日に付けた権限は入っていません。同じ日に同じ人から2件の申請が来ていれば、両方を合わせて照合します。 1件目を付けたあとに2件目が来て、合わせると禁止の組み合わせに当たる、という見落としを防ぐためです。

申請ワークフローの書き出しや API の有無は、製品によって違います。 無い場合は、担当者が毎朝と昼に承認済みの一覧を書き出して所定の場所に置き、その保存を起点にする形でも組めます。

Step4

AIへ渡す前に整形する

  1. 社員番号で突き合わせる … 申請、人事、権限の一覧を社員番号でつなぎます。見つからない申請者は「人事の情報なし」で担当者へ回します
  2. 職務を決める … 人事の職務の区分から、対応表のどの職務に当たるかを引きます。兼務があれば、兼務先の職務も並べます
  3. 標準との差分を出す … 申請された権限が、本務と兼務先の職務の標準にあるかを見ます。無いものが差分です
  4. 禁止の組み合わせを当てる … 申請された権限と既に持つ権限、同じ日の他の申請を合わせ、禁止の組み合わせの各行に当たるかを見ます
  5. 期間を読む … 期間の欄が空か、兼務・応援の発令の期間を超えていないかを見ます
  6. 差分も候補も無いものは AI に渡さない … 標準どおりとして一覧に流します
  7. 渡す情報を絞る … 氏名は渡さず、社員番号の代わりに申請番号だけで扱います

3番目と4番目が、この構成の照合のすべてです。 どちらも表を引くだけで決まり、プログラムの結果には誤りの余地がほとんどありません。 AIに渡すのは、ここで出た差分と候補の一覧と、それを説明しうる材料だけです。

6番目で、AIの呼び出しは申請のおよそ2〜3割に絞られる想定です。 大半の申請は標準どおりで、AIの出番があるのは例外の申請だけです。

Step5

AIに処理させる

させるのは、差分と衝突の候補の1つずつについて、申請理由と人事の情報がそれを説明しているかを判定し、説明がつかなければ確認の文案を作ることだけです。

判定意味例
explained申請理由が、その権限の必要を具体的に説明し、人事の情報と食い違わない「為替の入力の応援(11/1〜11/30、応援の発令あり)」
explained_no_period説明はつくが、期間が書かれていないか、発令の期間を超える「検証のため一時的に」とあり期間が空
not_explained申請理由が、その権限に触れていないか、一般的な文しかない「業務上必要なため」
contradicted申請理由が人事の情報と食い違う「兼務の発令による」とあるが人事に兼務が無い
conflict_unaddressed禁止の組み合わせに当たり、申請理由がその懸念に答えていない入力と検証の両方を持つことへの手当てが書かれていない

判定は5つの値のどれかで返させます。 自由文の所感にすると、担当者が読んで判断し直すことになり、照合を機械に寄せた意味が薄れます。

させないこと理由
差分や衝突の候補を自分で探す規則の側で出している。AIに探させると、表の読み違いが入る
権限を付けるか、例外を認めるかの結論承認者が決めること
申請理由に書かれていない事情を補う「繁忙期なので必要だろう」と推し量らない
禁止の組み合わせの理由を変える規程の別表にあるとおりに扱う
申請者の人物を評価する判定の対象は申請の書きぶりで、人ではない

3行目が、いちばん起きやすい失敗です。 「業務上必要なため」とだけ書かれた申請に、AIは職務からもっともらしい理由を想像して explained を付けがちです。書かれていない理由で説明がついたことにしないと、例外の審査がそのまま素通りになります。

Step6

指示内容を固定する

あなたは金融機関の情報システム部で、業務システムの権限申請を審査する担当を
補助する立場です。入力の【差分と候補】の1件ずつについて、
【申請理由】と【人事の情報】がそれを説明しているかを判定してください。

【判定の値】
- explained ............ 申請理由が、その権限が要る業務を具体的に書いており、
                         人事の情報と食い違わない
- explained_no_period .. 説明はつくが、期間が空、または発令の期間を超える
- not_explained ........ 申請理由がその権限に触れていない、
                         または「業務上必要」のような一般的な文だけ
- contradicted ......... 申請理由が人事の情報と食い違う
- conflict_unaddressed . 禁止の組み合わせに当たり、申請理由が
                         【禁止の組み合わせの理由】の懸念に答えていない
迷ったときに explained を選ばないでください。

【厳守事項】
- 判定するのは【差分と候補】に挙がった項目だけです。
  新しい差分や衝突を自分で探さないでください。
- 申請理由に書かれていない事情を補わないでください。
  職務や季節から「必要だろう」と推し量って explained にしないでください。
- 「兼務」「応援」と書かれていれば、【人事の情報】に該当する発令と期間が
  あるかを必ず確かめてください。無ければ contradicted です。
- 禁止の組み合わせについては、申請理由が【禁止の組み合わせの理由】に
  書かれた懸念(例:同じ取引を一人で入力して確かめられる)に、
  どう手当てするかを書いているかで判定してください。
  権限が要ることだけが書かれていても、懸念に答えていなければ
  conflict_unaddressed です。
- evidence には、判定の根拠にした申請理由の文をそのまま写してください。
  根拠が無ければ空にしてください。
- 権限を付けるべきか、例外を認めるべきかは書かないでください。
- 判定が explained 以外の項目について、申請者に確かめる質問を
  question に1文で書いてください。答えが「はい/いいえ」か、
  期間・発令番号で返せる質問にしてください。

【申請】{request}
【人事の情報】{hr}
【差分と候補】{findings}
【禁止の組み合わせの理由】{sod_reasons}

「迷ったときに explained を選ばない」を冒頭近くに置いています。 審査の補助で困るのは、説明のつかない申請を通してしまうことです。迷った項目は人の前に出る側へ倒します。

禁止の組み合わせについて、「権限が要ることだけでは足りない」と書いているのも同じ理由です。 「入力と検証の両方が必要」と書かれていれば、AIは説明があると読みがちです。職務分掌の懸念は、必要かどうかではなく、一人で完結してしまうことへの手当てがあるかです。

Step7

出力形式を固定する

{
  "request_id": "",
  "items": [
    {
      "finding_id": "",
      "finding_type": "excess | sod_conflict",
      "verdict": "explained | explained_no_period | not_explained | contradicted | conflict_unaddressed",
      "evidence": "",
      "question": ""
    }
  ],
  "summary_for_reviewer": ""
}

finding_id は、プログラムが前処理で付けた番号です。 AIが返した判定を、プログラムが出した差分と候補に1対1でつなぎ直します。返ってこなかった finding_id があれば、 その申請は判定の欠けとして担当者へ回します。

構造化出力では、すべてのフィールドを必須にし、オブジェクトには additionalProperties: false を設定するとされています。スキーマのプロパティは最大100個、入れ子は最大5段です。数値の最小・最大などのキーワードはサポートされていないため、件数の点検はプログラムの側で行います。

JSON にする理由の1つ目は、一覧の並び順を決められることです。 contradicted と conflict_unaddressed を含む申請を先頭に、not_explained を次に、explained だけの申請を後ろに並べます。

2つ目は、項目ごとに記録が残ることです。 例外を認めた申請について、どの差分にどの理由で認めたかを、棚卸しのときに申請番号から引けます。

一覧の区分条件
標準どおり差分も候補も無い
確認済みの例外すべての項目が explained
期間の確認explained_no_period を含み、それより重い判定が無い
要確認not_explained を含む
衝突の疑いcontradicted または conflict_unaddressed を含む

区分はプログラムが判定の値から機械的に決めます。 AIに区分そのものを選ばせないのは、区分の決め方を後から変えても、AIの判定をやり直さずに済むようにするためです。

Step8

システムへ連携する

つなぎ先方式内容
申請ワークフロー書き出しか照会の API(読み取りのみ)承認済みの申請を取る
人事システム毎朝の連携ファイル所属・役職・兼務の発令
各業務システム毎晩の権限の一覧の書き出し既に持つ権限
Azure OpenAIAPI呼び出し項目ごとの判定と確認の文案
審査の一覧社内の共有の一覧(区分ごとに並べる)担当者が見る画面
承認の記録申請ワークフローの承認の欄担当者が判断と理由を書く

申請ワークフローへは書き込みません。 承認と差し戻しは、いまと同じく担当者が申請ワークフローの画面で行います。審査の一覧は、担当者が判断するための材料の置き場です。

業務システムの権限の一覧は、読み取りだけです。 管理者の権限でつなぐ必要はなく、毎晩の書き出しのファイルを読むだけで足ります。 この構成の連携の側に、権限を変えられる資格情報を持たせないでください。

Step9

人が確認する

承認は全件、担当者が行います。 区分によって見る深さを変えます。

  1. 「衝突の疑い」を最初に見る … 申請理由と人事の情報を読み、question の文案を直して申請者か所属長に問い合わせます
  2. 「要確認」を見る … 一般的な理由しか無い申請です。多くは申請者に一言聞けば解決します
  3. 「期間の確認」を見る … 期間を書いてもらうか、兼務・応援の発令の期間に合わせて承認します
  4. 「確認済みの例外」を見る … evidence を読み、例外として認めるなら理由と期間を承認の記録に書きます
  5. 「標準どおり」を流し見る … 件数と申請者を見て承認します

4番目を飛ばさないでください。 AIが explained と判定しても、例外を認めるのは担当者です。 認めた理由と期間は、後の棚卸しで「なぜこの人がこの権限を持っているか」に答える唯一の記録になります。

判定を覆したら、その項目と理由を記録します。 覆した判定が多い職務や業務システムがあれば、対応表の標準そのものが実態と合っていないことを疑います。

Step10

例外に対処する

起きること対応
申請者が人事システムに無い「人事の情報なし」で担当者へ。外部委託先の要員なら委託先の管理の手続に回す
職務の区分が対応表に無い「職務不明」で担当者へ。対応表に職務を足すかを情報システム部で決める
権限の一覧の書き出しが届いていないその日の照合を止め、「既に持つ権限が古い」と一覧に表示する
AIの判定が一部の項目で返らない判定の欠けとして「要確認」に入れる
AIが応答しない差分と候補だけを一覧に出す。照合の結果は AI が無くても出ている
同じ人から同じ日に複数の申請合わせて照合し、どちらの申請にも同じ候補を表示する
申請理由が空AIに渡さず、差分があれば「要確認」にする
特権の権限(管理者の段階)の申請差分の有無にかかわらず「要確認」以上に置き、二人目の担当者が確かめる

5行目が、この設計の強みです。 差分と衝突の候補は規則の側で出しているので、AIが止まっても、何を見るべきかは一覧に出ます。 判定の文が無くなるだけです。

最後の行は、規則で決めておきます。 ガイドラインでは特権アカウントの利用を厳格に制限し、操作のダブルチェックなどで管理することが挙げられています。特権の申請を AI の判定で軽く扱わないためです。

Step11

記録を残す

  • 入力 … 申請、人事の情報、既に持つ権限、照合に使った対応表と禁止の組み合わせの版
  • 照合の結果 … プログラムが出した差分と候補の一覧(finding_id 付き)
  • AIの出力 … 項目ごとの判定、根拠の文、確認の文案
  • 人の判断 … 承認・問い合わせ・差し戻しと、その理由。例外を認めた場合の期間
  • 判定を覆した記録 … どの項目を、どの判定からどちらへ変えたか
  • 例外の期間の満了 … 期間付きで認めた権限の一覧と満了日

対応表の版を残すのは、表が後から変わるためです。 職務の標準を見直すと過去の差分の意味が変わり、当時の表が残っていないと、なぜ例外扱いだったかを説明できません。

最後の行は、棚卸しへの引き継ぎです。 期間付きで認めた権限が満了日を過ぎても残っていれば、それが次の棚卸しで最初に見るべきものです。

04実装レベルの3段階

最小構成:担当者が差分を手で出し、申請理由と一緒にAIの画面に貼って判定させる / 申請理由の書きぶりの判定
半自動化:上記+表計算の関数で、職務の標準との差分と禁止の組み合わせを出す / 差分と候補の照合
本格構成:上記+30分ごとに承認済みの申請を取り出し、人事と権限の一覧を引いて照合し、Azure OpenAI で判定して区分ごとの一覧に並べる / 取り出しから一覧の作成まで

最小構成では、照合の手間が減りません。 差分を手で出す作業が残るので、判定が使えるかを確かめるための段階です。 半自動化で、1件6分が4分程度になります。 差分と候補が表計算で出るので、②の見比べが消えます。本格構成で2分になり、この段階が本記事の想定です。 差が大きいのは、既に持つ権限を業務システムごとに集める作業と、申請理由を読んで文案を書く作業が、まだ手で残っているからです。 段階を飛ばさないでください。 半自動化の表計算を1か月使うと、対応表に無い職務や、実態と合わない標準が先に見つかります。 そこを直してから本格構成に進むほうが、「要確認」が増えすぎずに済みます。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
5 名
月間件数
900 件
1件あたり現在時間
6 分
1件あたり導入後時間
2 分
現在  900件 × 6分 ÷ 60 = 90 時間/月
導入後 900件 × 2分 ÷ 60 = 30 時間/月
月間削減時間
60h
削減率
67%
年間削減時間
720h
年間金額換算(時間単価5,000円)
360万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. 行員が数千名いる地方銀行・信用金庫・保険会社などで、勘定系の周辺の業務システム・融資の稟議・顧客情報の照会などの権限を、申請と承認の手続で付けている場合。職務(役割)ごとに標準の権限を決めた対応表と、同じ人が持ってはいけない権限の組み合わせを文書で持っている場合。申請が毎月数百件あり、情報システム部の担当者が1件ずつ対応表と見比べている場合。Azure を使っている場合。
向いていない
  1. 権限の付与を ID 管理の製品の役割(ロール)で完全に自動化しており、個別の申請がほとんど無い場合。職務と権限の対応表が無く、何が標準かを担当者の経験で決めている場合(先に対応表を作る必要がある)。申請が月に数十件で、目視で足りる場合。なお、権限を付けるかの最終的な判断と、職務分掌の例外を認めるかの判断は、この構成では代替できません。

07最小構成で試す方法

  1. 先月の申請から30件を選ぶ(うち10件は、担当者が問い合わせたか例外として認めたものを入れる)
  2. その30件について、担当者が手で見つけた差分と衝突を一覧にする
  3. 申請理由と、人事の兼務の有無、差分と衝突の一覧を、社員番号と氏名を消して手元のAIサービスに1件ずつ貼り付ける
  4. 「次の差分の1つずつについて、申請理由が説明しているかを、explained/not_explained/contradicted のどれかで判定してください。申請理由に書かれていない事情を補わないでください」と指示する
  5. 出てきた判定を、当時の担当者の判断と突き合わせる

30件は必ずやってください。 照合のプログラムを作る前に、「申請理由の書きぶりで判定できるのか」を確かめます。

出てきた内容判断
当時問い合わせた申請が not_explained 以下になった照合のプログラムとAPIの連携に進む
一般的な理由に explained が付いた指示の書き方で直る。構成は有効
担当者の判断と合わず、理由も分からない判断の基準が文書になっていない。 先に基準を決める

3行目が出たときは、担当者ごとの判断の違いが見えたということです。 AIの問題ではなく、何を説明として認めるかの基準を、情報システム部で揃える段階にいます。

08実装時につまずきやすいポイント

問題対策
一般的な理由に explained が付く書かれていない事情を補わないことを指示に明記し、迷ったら explained にしない
AIに差分を探させて見落とす差分と候補は規則で出し、AIには判定だけをさせる
兼務の発令の有無を確かめずに認める人事の兼務の情報を必ず渡し、無ければ contradicted
同じ日の2件目で衝突を見落とす同じ人の同じ日の申請を合わせて照合する
権限の名前が業務システムごとに違う対応表の側で、システムごとの権限の名前を一つの呼び名にそろえる
対応表の標準が実態と合わない判定を覆した記録を職務ごとに数え、標準を見直す
期間付きの例外が残り続ける満了日の一覧を作り、棚卸しへ引き継ぐ
特権の申請が軽く扱われる差分の有無にかかわらず「要確認」以上に置き、二人目が確かめる
判定の結果から自動で付与する付与の経路を作らない。 担当者が管理画面で行う
区分をAIに選ばせる区分はプログラムが判定の値から決める

上の2行が、この構成の失敗のほとんどです。 どちらも、AIに「見つける」と「認める」を任せたときに起きます。 見つけるのは規則、認めるのは人、AIは書きぶりを判定するだけ、という分担を崩さないでください。

下から2行目は、最初から作らないでください。 審査の結果がそろってくると、「標準どおり」の申請は自動で付与したくなります。それは ID 管理の製品の役割で行うべき仕組みで、 この構成の延長に置くと、判定の誤りがそのまま権限になります。

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 行員の所属・役職・兼務、業務システムごとの権限の一覧、申請理由です。誰がどのシステムで何をできるかがまとまった情報で、攻撃の足がかりになりうる情報です。

  1. 権限を変えられる資格情報を持たせない … 連携は書き出しのファイルの読み取りだけにします。照合の仕組みが乗っ取られても、権限が付かない作りにします
  2. AIに渡す情報を絞る … 氏名と社員番号は渡さず、申請番号で扱います。渡すのは差分と候補に関わる権限と、申請理由と、兼務の有無だけです
  3. 処理の場所を確かめる … 公式のページでは、プロンプトと応答は顧客が指定した地域で処理されるが、Global と DataZone のデプロイではそれぞれの範囲で処理されうるとされています。社内の規程に合わせてデプロイの種類を選んでください
  4. 不正利用の監視の扱いを確かめる … 公式のページでは、不正利用の兆候が検知されるとプロンプトと応答の一部が確認の対象になり、自動の確認に加えて必要に応じて人が確認するとされています。監視の扱いの変更は申請できるとされているので、規程に照らして検討してください
  5. 会話の履歴を残す機能を使うかを決める … Responses API はメッセージの履歴を保存するとされています。この構成は1回ごとの判定で足りるので、履歴を残す必要はありません
  6. ガイドラインとの対応を整理する … 金融庁のガイドラインは、アクセス権限を必要最小限に制限し、職務の分離を考慮すること、アカウントの定期的な棚卸しを行うこと、正当な業務上の要請があり承認された個人に対してのみ権限を付与することを挙げています。この構成は付与の前の審査を補助するもので、方針と規程を定めて見直すことは情報システム部の仕事として残ります

誤りが起きた場合のリスクは、職務分掌の衝突を見落として権限を付けることと、正当な申請を止めて業務を遅らせることの2つです。 前者は差分と候補を規則で必ず出すことで、後者は「確認済みの例外」を担当者が速く通せる一覧にすることで防ぎます。

10まず何から始めるか

1週目:禁止の組み合わせに理由の列を足す

規程の別表の禁止の組み合わせを表計算に写し、各行に「何が一人で完結してしまうのか」を1文で書きます。 あわせて、職務と権限の対応表で、業務システムごとの権限の名前を一つの呼び名にそろえます。

2週目:30件で試す

先月の申請から30件を選び、手で出した差分と申請理由をAIの画面に貼って判定させます。当時の担当者の判断と突き合わせ、一般的な理由に explained が付いていないかを最優先で見ます。

3週目:表計算で照合する

人事の連携ファイルと業務システムの権限の一覧を社員番号でつなぎ、職務の標準との差分と禁止の組み合わせを関数で出します。 この時点ではAIを呼ばず、照合の結果だけを担当者が使います。

4週目:判定の基準を決める

どのような申請理由なら例外として認めるかを、情報システム部の5名で揃えます。 兼務・応援・検証・プロジェクトの4つについて、書いてあるべきことを決めます。

2か月目: Azure Functions で取り出しと照合を自動にし、Azure OpenAI の判定と区分ごとの一覧を足します。3か月目以降: 1件6分が何分になったかを実測し、判定を覆した記録を職務ごとに数えます。対応表の標準を一度見直し、「要確認」の割合が落ち着いた時点で、この構成は完成です。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-10-15/最終更新:2026-10-15
確認した内容情報源確認日
認証及びアクセス権の付与に係る方針及び規程等を策定し、定期的に見直すこと。アクセス権限を必要最小限に制限し、職務の分離を考慮すること。アカウントのライフサイクルの管理と定期的な棚卸し・操作履歴のレビュー。特権アカウントの利用を厳格に制限し、多要素認証・操作のダブルチェック・時間制限などで管理すること。正当な業務上の要請があり、承認され、教育・研修を受け、管理されている個人に対してのみ権限を付与すること。アクセスしたユーザを特定し処理内容をログに記録すること(2.3.1 認証・アクセス管理)金融庁: 金融分野におけるサイバーセキュリティに関するガイドライン(令和6年10月4日)2026-10-15
構造化出力が指定した JSON スキーマに従い、Chat Completions API と Responses API の両方で使えること。すべてのフィールドを必須にし、additionalProperties: false を設定すること。最大100個のプロパティと最大5段の入れ子。数値の最小・最大などのキーワードがサポートされていないこと。持ち込みデータのシナリオでは使えないことMicrosoft Learn: Azure OpenAI で構造化出力を使用する方法2026-10-15
プロンプトと応答が他の顧客や OpenAI に提供されず、基盤モデルの学習に使われないこと。顧客が指定した地域で処理され、Global と DataZone のデプロイではそれぞれの範囲で処理されうること。Responses API がメッセージの履歴を保存すること。不正利用の監視で、兆候が検知されるとプロンプトと応答の一部が確認の対象になり、必要に応じて人が確認すること。監視の扱いの変更を申請できることMicrosoft Learn: Data, privacy, and security for Foundry Models sold by Azure2026-10-15
タイマー トリガーが NCRONTAB 式でスケジュールを定めること。既定のタイム ゾーンが UTC で、WEBSITE_TIME_ZONE で変えられること。Linux の従量課金・Flex 従量課金プランではこの設定が現在サポートされていないこと。関数が失敗した後に再試行しないことMicrosoft Learn: Azure Functions のタイマー トリガー2026-10-15

権限を付けるかの判断と、職務分掌の例外を認めるかの判断は、情報システム部と各部の責任者が行ってください。 本記事は上記の公開情報で確認できた範囲だけを扱っています。ガイドラインは改正されることがあるため、最新の版を金融庁のページで確かめてください。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-1615)についてのご相談はこちらから。

AI活用について相談する
目次