Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
会計事務所と顧問先の契約関係をOIDC・OAuthで表現する
Search
てらら
August 25, 2026
Technology
800
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
会計事務所と顧問先の契約関係をOIDC・OAuthで表現する
OAuth/OIDC Numa (Immersion) Workshop 2026 で発表した登壇資料です。
てらら
August 25, 2026
More Decks by てらら
See All by てらら
freee-mcpを Local→Remote で出してわかった MCP認可実装のリアル
terara
3
1.3k
Webの「ID連携」から、自律型AIの「権限管理」へ —— OIDF-J活動紹介とIdentity Management for Agentic AI
terara
1
210
freeeにおけるOAuth_OIDCの活用とAuthleteへの移行
terara
2
890
「単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる」のか検証してみた
terara
0
670
ID連携基盤のマイクロサービス移行プラクティス(freee技術の日)
terara
0
14k
Other Decks in Technology
See All in Technology
Futexes the good, the bad, the ugly
ennael
PRO
0
120
私の推しは「聞いてから進む」AIです -AI-DLCに一人でアプリを作らせた話
yama3133
1
170
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
290
The seven pitfalls of AI (revised version)
ufried
0
260
BedrockとLambdaで作る リアルタイム進行型推理ゲーム
kawametho
0
190
More Freedom on the Same Shared GPU Cluster: A Small Team’s Experience with vCluster
nttcom
0
130
Incremental HTTP
kazuho
5
2k
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
210
[2026 Oracle Technical Deep Dive] オンプレミスDBのCloud移行アプローチ:移行計画に基づくメソッドとツールの選択 (2026年9月17日開催)
oracle4engineer
PRO
0
140
[2026 Oracle Technical Deep Dive] Apache Iceberg × Oracle AI Database -Oracle Autonomous AI Lakehouseが実現するAI時代のデータ基盤- (2026年9月17日開催)
oracle4engineer
PRO
0
110
並行性の問題を防げ!実践トランザクション入門
occhi
0
260
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
150
Featured
See All Featured
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Deep Space Network (abreviated)
tonyrice
0
350
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
390
The World Runs on Bad Software
bkeepers
PRO
72
12k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
350
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
390
WENDY [Excerpt]
tessaabrams
14
40k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
76k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
470
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
260
Transcript
会計事務所と顧問先の契約関係を OIDC / OAuthで表現する OAuth/OIDC Numa (Immersion) Workshop 2026 2026.08.25
SIerやSESにて、主に金融業界のプロダクト開 発に従事。電子決済戦国時代、銀行のAPI化の 流れでOAuthに出会う。 2021年にフリー株式会社入社し、IDerとしての キャリアを本格的に開始。 趣味はホラー映画と猫と兎田ぺこら 寺原 歩 / てらら
IdF PdL terara 他の子のベッドを横取りしてます 2
お話ししたいこと 組織間契約から派生した委任業務操作をどのように監査していくか 権限の根拠を、操作から契約まで遡れるか 3
会計事務所について 4
会計事務所が業務を開始するまでの概観 01 02 03 顧問契約の締結 スタッフの割り当て 委任業務の実施 会計事務所と顧問先事業者が顧問契 約を交わす。 会計事務所スタッフを顧問先に割り
当てる。 会計事務所へ委任された業務として 顧問先事業者の業務を会計事務所ス タッフが実施する。 【業務遂⾏の前提】 会計事務所スタッフの業務は、「顧問契約」 / 「会計事務所の所属関係」 / 「顧問先事業者での担当関係」 に基づいて⾏われる ※ 代⾏業務として特別な資格が不要な業務も存在しますが、本スライドの定義上では取り扱いません。 5
余談: マルチテナントSaaS 特有の事情 freeeでは、事業者・会計事務所問わず全てのユーザーが同一サービス内のテナントに存在し、ユーザーはシームレスに操作対象 を切り替えることが可能。 さらに、同一ユーザーが複数の事務所に所属し、同一顧問先の業務を行う可能性もある。 所属: 会計事務所 A1 契約関係:
Relationship A1-C ユーザー 操作対象 Alice 顧問先 C 所属: 社労⼠事務所 A2 契約関係: Relationship A2-C Aliceが顧問先Cを操作する時にはどの契約‧所属関係に基づいて操作しているのかを監査する必要がある。 ⇒ ユーザー と 操作先ターゲット だけの情報では表現できない 6
契約〜業務の流れを2つに分解する 会計事務所と顧問先事業者が顧問契約を交わす。 会計事務所スタッフを顧問先に割り当てる。 => 顧問契約および担当者の割り当てプロセス 会計事務所へ委任された業務として顧問先事業者の業務を会計事務所スタッフが実施する。 => 委任された業務を実施するプロセス 7
顧問契約と委任業務のプロセス整理 8
顧問契約の状態遷移 未契約 顧問契約承認依頼 却下 / 取消 / 依頼期限切れ 仮契約 契約終了
契約承認 アクティブ 再契約依頼 契約満了 一時無効化 9
担当者割り当ての状態遷移 前提: 顧問契約がアクティブであること 未割り当て 担当者登録 アクティブ 再開 担当解除 / 契約終了
担当者が委任権限を行使 できる状態。 ・顧問契約が有効 ・会計事務所に所属 ・顧問先の担当者割当て 一時停止 一時無効化 10
委任された業務を実施するプロセス 以下は 1回の操作に対する認可シーケンスを表現したもの 1. ユーザーを認証する 2. 操作元となる会計事務所をユーザーが選択する 3. 操作先となる顧問先をユーザーが選択する 4.
該当する顧問契約を特定する 5. 顧問先の担当者割り当てを確認する 6. 実施する業務が委任された範囲内であるかを確認する 7. 委任内容に基づいて追加の認証が必要であれば実施する 8. 顧問先のリソースにアクセスする 9. 操作結果を監査記録へ残す 11
監査記録に必要な情報一覧 要素 意味 subject, actor 実際に操作したユーザー origin 今回選択している会計事務所 target 操作対象の顧問先
relationship_id 権限の根拠となる顧問契約 relationship_version どの時点の契約条件を評価したか assignment_id 担当者としての割り当て actions 許可された操作 assurance 認証強度・再認証状態 12
各要素をOAuth/OIDCの既存仕様へ分解 要素 意味 subject, actor sub / act claim origin
標準表現なし target aud claim または Resource Indicators for OAuth2.0 relationship_id 標準表現なし relationship_version 標準表現なし assignment_id 標準表現なし actions scope または RAR assurance auth_time、acr、amr 委任コンテキストをRARに渡せば行けるか… 13
RAR上で委任コンテキストを表現する { "type": "delegated_accounting_access", "origin": "accounting-office-a1", "target": "client-c", "relationship_id": "contract-a1-c",
"relationship_version": "3", "assignment_id": "assignment-u-a1-c", "actions": [ "read" ] } RARが提供する認可要求に委任コンテキストを含めておき、 AuthZENで判定を行う。 14
AuthZENの認可判定モデル { "subject": { "type": "user", "id": "user-u" }, "resource":
{ "type": "tenant", "id": "client-c" }, "action": { "name": "read" }, "context": { (右記参照) } "context": { "origin": { "type": "organization", "id": "accounting-office-a1" }, "relationship": { "type": "advisory_contract", "id": "contract-a1-c", "version": "3" }, "assignment": { "id": "assignment-u-a1-c" } } } AuthZENで契約状態に基づき判定を行う。契約状態の変化を SSFで通知する 15
SSFの契約終了イベント送信 { "iss": "https://contracts.example.com", "iat": 1787540400, "jti": "event-123", "aud": "https://authorization.example.com",
"events": { "https://example.com/events/relationship-status-changed": { "relationship_id": "contract-a-c", "relationship_version": "4", "previous_status": "active", "current_status": "terminated", "effective_at": "2026-08-24T15:00:00Z" } } } ※ relationship-status-changed は独自イベント型の例 16
OAuth・OIDC・AuthZEN・SSFの役割分担 OIDC 誰であるかを確かめる AuthZEN 今、この関係で操作してよいかを決める OAuth 決められた権限を運ぶ SSF 関係が変わったことを伝える Audit
判断・操作・変化を後から説明できるようにする 17
顧問契約と委任業務の処理シーケンス 18
顧問契約のシーケンス (※主要な呼び出し経路のみを抜粋) 会計事務所 / 顧問先権限者 依頼状態を司る サー ビス 契約レジストリ SSF
Transmitter PDP / STS 顧問契約承認依頼 仮契約状態を保存 承認 アクティブ状態を保存 契約アクティブイベント送 信 発行可能状態 契約終了 無効状態を保存 契約無効イベント送信 発行停止・再評価・失効 19
委任業務のシーケンス (※主要な呼び出し経路のみを抜粋) User Client / PEP 業務開始 Origin / Target
/ Action PDP / AuthZEN AS Registry STS Resource Server 認可 Request + RAR AuthZEN evaluation Relationship + Assignment 契約状態 (subject token発行割愛) decision 必要に応じてToken Exchange。委任コンテキストに限定したtoken発行 AuthZEN evaluation Access Token Resource Access (割愛)SSF: 契約終了イベント起点で→ 発行停止 / 再評価 / 失効 20
組織間契約から派生した委任業務を表現するために OIDC、AuthZEN、OAuth、RAR、SSFを、組織間委任として組み合わせる共通プロファイル。 認可コンテキスト origin target relationship_id relationship_type relationship_version assignment_id ※
他のユースケースへの展開 : 業務代行BPO、運用代行、法人業務を実施する AIエージェント 21
組織間契約から派生した委任業務操作を監査する 契約・担当者割り当て ↓ AuthZENが関係を評価 ↓ OAuthが権限を運ぶ ↓ SSFが関係の変化を伝える ↓ 監査記録から権限の根拠へ遡る
操作の記録から、その関係の状態まで遡れるようにしなければならない。 22
スモールビジネスを、世界の主役に。