Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
会計事務所と顧問先の契約関係をOIDC・OAuthで表現する
Search
てらら
August 25, 2026
Technology
120
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.2k
Webの「ID連携」から、自律型AIの「権限管理」へ —— OIDF-J活動紹介とIdentity Management for Agentic AI
terara
1
200
freeeにおけるOAuth_OIDCの活用とAuthleteへの移行
terara
2
820
「単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる」のか検証してみた
terara
0
650
ID連携基盤のマイクロサービス移行プラクティス(freee技術の日)
terara
0
12k
Other Decks in Technology
See All in Technology
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
20k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
巨大気象データと戦う ― サロゲートモデル学習を高速化する圧縮技術
gpuunite_official
0
260
도구에서 동료까지: 10년차 AI 스타트업의 AI 적응기
inureyes
PRO
1
350
電話に出る Python のログの話
shinnosuke_kishida
0
220
OpenID for Verifiable Credentials 実装から見えた相互運用性確保までの道のり(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
130
Netflix の裏側に何があるのか...その謎を解明すべく、我々は Amazon の奥地へと向かった
kentosuzuki
0
110
コミュニティから始まった農業IoTとの7年間 ——人との関わりが教えてくれたこと
peacemaker07
0
110
三人寄ればチューリング完全
puhitaku
6
3.1k
1000⼈規模のClaude Enterprise運⽤を「Oktaのグループ」と「Slack」に集約する
sansantech
PRO
0
150
MCPを待つな、パスキーを拡げよう(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
120
なぜ Temporal の大小比較には compare しかないのか / Why Does Temporal Only Have compare() for Comparisons
kazukihayase
1
200
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
430
A designer walks into a library…
pauljervisheath
211
24k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
500
Color Theory Basics | Prateek | Gurzu
gurzu
0
430
Designing for humans not robots
tammielis
254
26k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
WCS-LA-2024
lcolladotor
0
810
Typedesign – Prime Four
hannesfritz
42
3.1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
470
Paper Plane
katiecoart
PRO
2
53k
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
スモールビジネスを、世界の主役に。