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
エンタープライズITでのOpenID Connect利用ガイドライン
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Tatsuo Kudo
February 01, 2013
Technology
11
0
Share
エンタープライズITでのOpenID Connect利用ガイドライン
Tatsuo Kudo
February 01, 2013
More Decks by Tatsuo Kudo
See All by Tatsuo Kudo
エージェント時代の認証・認可基盤
tkudo
0
26
AuthN/AuthZ Architecture for the Age of Agents
tkudo
0
19
Authlete Customer and Partner Meetup 2025 - Opening and Keynote
tkudo
0
65
MCPから考えるOAuth/OIDCの現状と展望
tkudo
0
57
BaaS基盤におけるAPIセキュリティの 課題と実装
tkudo
0
31
人とAPIをつなぐ「認証・認可」
tkudo
0
26
「OAuth/OIDC 化」の考えかた
tkudo
0
24
Striking the Right Balance — Compliance, Security and User Experience
tkudo
0
25
セキュリティ改善とアプリケーション開発に活かせるOAuth 拡張仕様
tkudo
0
25
Other Decks in Technology
See All in Technology
100マイクロサービスのTerraform/Kubernetes管理地獄から抜け出すためのAI活用術
markie1009
0
110
Building Production-Ready Agents Microsoft Agent Framework
_mertmetin
0
160
Oracle Cloud Infrastructure presents managed, serverless MCP Servers for Oracle AI Database
thatjeffsmith
0
180
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (前半)
oracle4engineer
PRO
2
240
AI時代に、 データアナリストがデータエンジニアに異動して
jackojacko_
0
500
会社説明資料|株式会社ギークプラス ソフトウェア事業部
geekplus_tech
0
210
サンプリングは「作る」のか「使う」のか? 分散トレースのコストと運用を両立する実践的戦略 / Why you need the tail sampling and why you don't want it
ymotongpoo
3
140
「QA=テスト」「シフトレフト=スクラムイベントの参加者の一員」の呪縛を解く。アジャイルな開発を止めないために、10Xで挑んだ「右側のしわ寄せ」解消記 #scrumniigata
nihonbuson
PRO
3
950
サービスの信頼性を高めるため、形骸化した「プロダクションミーティング」を立て直すまでの取り組み
stefafafan
1
250
AI 時代の Platform Engineering
recruitengineers
PRO
1
120
ボトムアップの改善の火を灯し続けろ!〜支援現場で学んだ、消えないための3つの打ち手〜 / 20260509 Kazuki Mori
shift_evolve
PRO
2
600
Google Cloud Next '26 の裏でこっそりリリースされたCloud Number Registry & Cloud Hub コスト分析 を試してみた
hikaru1001
0
170
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
240
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Making Projects Easy
brettharned
120
6.6k
Claude Code のすすめ
schroneko
67
220k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
190
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
170
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
180
Building the Perfect Custom Keyboard
takai
2
750
Transcript
工藤達雄(株式会社野村総合研究所) 野村健太郎(オープンソース・ソリューション・テクノロジ株式会社) エンタープライズITでの OpenID Connect利用ガイドライン
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. 目次
はじめに エンタープラズITにおけるフェデレーションの要件 エンタープラズITにおけるOpenID Connectの適用例 まとめ 1
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. はじめに
登場人物 OP: クラウドサービス利用企業(の認証システム) RP: クラウドサービス事業者 エンドユーザー、サービス利用者: クラウドサービス利用 企業の従業員 今回は、RPはサーバーサドゕプリケーションであ ることを前提としている 2
エンタープライズ IT における フェデレーションの要件 3
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. 企業利用における特有の要件(1)
クラウドサービスに情報を渡す手段と、渡す情 報の内容 IDプロビジョニングあり/なし? メールゕドレスや社員番号を渡すか?それとも PPID (ランダム文字列、仮名)を渡すか? OPのネットワーク構成 OPはフゔゕウォールの内にあるか、外にあるか? 4
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. 企業利用における特有の要件(2)
ユーザーンターフェース わかりやすいものがよい ログン時の OP 選択画面は企業利用では不要? 情シス部門への問い合わせが増えるのはヤ セキュリテゖレベルに応じた認証の実施 管理者向けコンテンツへのゕクセス時は多要素認証実施など シングルログゕウト できたらうれしいけど、実装は大変? 5
エンタープライズ IT における OpenID Connectの適用例 6
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. OpenID
Connect 適用のための検討事項 処理フローの選択 ユーザー識別子(IDトークン) 連携する属性情報(クレーム) ユーザーンターフェース(ログン画面) 再認証処理 シングルログゕウト 7
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. OpenID
Connect 適用のための検討事項 処理フローの選択 ユーザー識別子(IDトークン) 連携する属性情報(クレーム) ユーザーンターフェース(ログン画面) 再認証処理 シングルログゕウト 8
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. 処理フローの選択
認可コードフロー 9 エンドユーザー RP OP 認可リクエスト 認可 エンドポイント ログイン画面・同意画面の表示と認証 認可コード発行 アクセストークン IDトークン 認可コード トークン エンドポイント UserInfo エンドポイント 属性情報(クレーム) 認可コード アクセストークン RPからOPへの直接通信 RPからOPへの直接通信
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. 処理フローの選択
Implicit フロー 10 エンドユーザー RP OP 認可リクエスト 認可 エンドポイント ログイン画面・同意画面の表示と認証 ID トークン発行 IDトークン IDトークン ID トークンは URL フラグメントなので、 リダイレクトで RP には送信されない JavaScript を利用して、ID トークンを RP に送信 IDトークン ID トークンの署名を検証
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. OPの配置によって処理フローを選択
11 認可コードフロー Implicit フロー 本来の想定用途 RP がサーバーサイド アプリケーション (Web アプリ) RP がクライアントサイド アプリケーション (スマホアプリなど) OP と RP の間の サーバー間通信 有 無 ID トークンの 署名検証 不要 必要 (署名用の鍵の管理が必要) 企業利用における 使い分け OP が DMZ に 配置されている OP がファイアウォール内に 配置されている
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. Implicitフローの場合にはIDトークンの検証が必須
IDトークンがエンドユーザーのブラウザを介し て渡されることから、改ざん対策が必要 OP側の処理 ▪IDトークンにデジタル署名、もしくは、MAC値を付加する RP側の処理 ▪IDトークンのデジタル署名/MAC値を検証する 12
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. IDトークンの検証に必要な「鍵」をどう運用するか
デジタル署名を利用する場合 公開鍵をRPに渡す必要がある ▪RP側で登録ンターフェースを用意し、OPがゕップロード ▪OP側で公開し、RPがダウンロード MACを利用する場合 共通鍵をOPとRPとで共有する必要がある 共通鍵としてクラゕントシークレットを使うことも可能 ▪クラゕントサドゕプリではやってはいけない! 13
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. OpenID
Connect 適用のための検討事項 処理フローの選択 ユーザー識別子(IDトークン) 連携する属性情報(クレーム) ユーザーンターフェース(ログン画面) 再認証処理 シングルログゕウト 14
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. ユーザー識別子の必要条件
ユーザー毎に一意であり、かつ再利用されてはならない IDトークンの sub パラメーターの値 15 名寄せ可能な情報 名寄せ不可能な情報
[email protected]
OP RP2
[email protected]
RP1
[email protected]
OP RP2 kodfas74 RP1 3jhfds2a RP1: kodfas74 RP2: 3jhfds2a
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. ユーザー識別子の種類の使い分け
16 名寄せ可能な情報 名寄せ不可能な情報 例 メールアドレス ランダム文字列 (仮名、PPID) セキュリティ (プライバシー保護) 普通 高 OP 側の運用 容易 若干複雑 RP 側の運用 容易 若干複雑 使い分け 実装コスト、運用効率重視 セキュリティ重視
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. OpenID
Connect 適用のための検討事項 処理フローの選択 ユーザー識別子(IDトークン) 連携する属性情報(クレーム) ユーザーンターフェース(ログン画面) 再認証処理 シングルログゕウト 17
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. 連携する属性情報(クレーム)
ユーザー識別子以外に RP が必要とする情報 氏名、所属部門(グループ)、連絡先など コンシューマー環境とは異なり、全ての属性情 報を個人が所有しているわけではない 所属する企業により付与された属性情報 所属する企業とは関係しない属性情報 従業員が行う業務に関連した情報 18
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. 連携する属性情報(クレーム)
RP は以下のような手段で情報を取得する OPからのゕデンテゖテゖ・プロビジョニング ▪一番わかりやすくて、管理しやすい フェデレーションによる取得 ▪必要なときに必要な分だけ情報をもらうことができる (Just In Time Provisioning) ▪2つの方法 ▪IDトークンに含めてもらう ▪UserInfo エンドポントから取得する(RPからOPへの直接通信が可能な場合) サービス利用者が直接 RP の画面から入力 19
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. OpenID
Connect 適用のための検討事項 処理フローの選択 ユーザー識別子(IDトークン) 連携する属性情報(クレーム) ユーザーインターフェース(ログイン画面) 再認証処理 シングルログゕウト 20
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. コンシューマー向けサービスの場合、ログインペー
ジにOP の選択肢を表示するのが一般的 21 Browser ローカル認証 OP ユーザー名 パスワード Yahoo! Google ログイン
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. エンタープライズITにおける要件
自社の会社名を一覧に表示してほしくない 他の利用企業に知られてしまう サービス利用者が迷うようなンターフェース は極力無くしたい 情報システム部門への問い合わせ増大を招きたくない 22
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. 想定される実装案
RPがサービス利用企業ごとに一意となるURLを用意 ゕクセスしてきたサービス利用者に対応するOPを判別 し、自動的にそのOPへ遷移させる ▪SAMLのSP-Initiated SSO のメージ OPは社内ポータルなどにRPへのリンク(上記の一意な URL) を張っておき、サービス利用者に案内する Account Chooser を使うという手も サービス利用者への周知がポント 23
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. OpenID
Connect 適用のための検討事項 処理フローの選択 ユーザー識別子(IDトークン) 連携する属性情報(クレーム) ユーザーンターフェース(ログン画面) 再認証処理 シングルログゕウト 24
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. どのような状況において再認証処理が必要か
セキュリテゖレベルが高いコンテンツにゕクセ スする場合 多要素認証などで認証させたい RPに対して更新系のリクエストを送る場合 その前にID/パスワードの入力を再度求めたい (CSRF 対策など) 25
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. 再認証処理の実現方法
「認証コンテキスト・クラス・リフゔレンス」 を利用 RP は認可リクエストで認証レベル(LoA)を指定 ▪acr_values パラメーター OP は要求されたレベルの認証を実施して、結果を ID トークンに入れて返す ▪acr パラメーター 26
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. OpenID
Connect 適用のための検討事項 処理フローの選択 ユーザー識別子(IDトークン) 連携する属性情報(クレーム) ユーザーンターフェース(ログン画面) 再認証処理 シングルログアウト 27
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. シングルログアウト
シングルサンオンしたのであれば、ログゕウ トも一度の操作で完了したい OpenID Connect 仕様の Session Management を 利用 HTML 5 を利用 環境によっては少しハードルが高いかもしれない 28
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. 工夫で実現
よくあるやり方 RP 側のセッションタムゕウト時間を短めに設定してお く(例えば 30 分) ▪セッションがタムゕウトしたら、再び OP に認可リクエストを 送信する 一方、OP のセッションタムゕウト時間を実用に耐える 時間(8時間など)にしておく ▪RP から短い間隔で認可リクエストを受け取っても、サービス利 用者からすれば、認証操作を行うことなくゕクセスし続けている ように見える 29
まとめ 30
Copyright 2013 OpenID Foundation Japan - All Rights Reserved. まとめ
エンタープラズ IT における OpenID Connect の 適用方法、フェデレーションの実現方法を検討した 現在のOpenID Connect仕様は、多くの場合、フェ デレーションの要件に対応可能であると考えられる OpenID Connectをどう適用するかについては、プ ロビジョニングの有無、OP のネットワーク構成な どが大きな考慮点となる 31
None