openid connectとscimによるエンタープライズでのid連携活用に向けて
TRANSCRIPT
![Page 1: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/1.jpg)
OpenID ファウンデーション・ジャパン
Enterprise Identity WG
八幡 孝 (株式会社オージス総研)氏縄 武尊 (株式会社オージス総研)上田 尊教 (エクスジェン・ネットワークス株式会社)
Enterprise Identity WG 成果報告会
OpenID Connect と SCIM によるエンタープライズでの ID 連携活用に向けて
![Page 2: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/2.jpg)
OpenID ファウンデーション・ジャパン
Enterprise Identity WG / 技術 TF リーダー
八幡 孝(株式会社オージス総研)
OpenID Connect と SCIM によるエンタープライズでのID 連携活用に向けて
相互運用性確保のための認証基盤実装上の考慮点
![Page 3: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/3.jpg)
OIDF-J EIWG 活動の紹介
![Page 4: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/4.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 4
OIDF-J EIWG って?
OpenID ファウンデーション・ジャパン (OIDF-J) 国内における OpenID 関連技術の普及・啓蒙のための活動を行なっています。
Enterprise Identity WG (EIWG) エンタープライズ IT 市場で OpenID Connect や SCIM などの仕様をベース
とした、 ID フェデレーションや ID プロビジョニングの普及を推進し、新た
なビジネスの創造・展開を図ることを目的に活動を行なっています。
![Page 5: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/5.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 5
EIWG のこれまでの活動成果
「 OpenID Connect と SCIM のエンタープライズ利
用ガイドライン」を公開 ( 2013 年 12 月)
エンタープライズ IT での OIDC/SCIM の有用性
日本のエンタープライズ IT への適用
![Page 6: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/6.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 6
EIWG の現在の活動
ビジネスモデル タスクフォース
エンタープライズ IT とクラウドサービスが連携すること
で、 Win-Win となれる連携モデルの検討
技術タスクフォース
エンタープライズ IT とクラウドサービスの連携を進める
ためのサンプル実装の作成、技術課題の検討
![Page 7: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/7.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 7
技術 TF の活動テーマ
エンタープライズ IT とクラウドサービスを相互連携するた
めの OIDC OP/RP および SCIM のサンプル実装を行なう。
実装により明らかとなった課題と解決策をまとめる。
以上の結果を「 OpenID Connect と SCIM のエンタープラ
イズ実装ガイドライン」としてまとめ、発行する。
![Page 8: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/8.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 8
技術 TF 活動ロードマップ2014 年 4 月 7 月 10 月 2015 年 1 月 4 月 7 月
ID&IT2014 ▲ 9 月ガイド発行 ▲▲ キックオフ
各メンバーでのサンプル実装実行
相互運用上の技術課題洗い出し
相互運用技術課題対応の検討
中間まとめ
実装サンプル範囲・仕様検討
相互運用性検証・評価
課題対応検討
実装サンプル実装
EIWG 内レ
ビュー
実装ガイド執筆
![Page 9: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/9.jpg)
エンプラでの ID 連携活用
![Page 10: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/10.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 10
エンプラ IT を取り巻く状況
クラウドサービスの利用が拡大
ユーザーが使うデバイスが多様化
ネイティブ、 SPA などへの対応
多様なワークスタイルの出現
いつでもどこでも使える IT の提供
![Page 11: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/11.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 11
エンプラ認証基盤の目指す方向性
フェデレーション技術への対応
クラウド向け ID 管理技術への対応
JSON/REST ベースの認証技術への対応
OpenID Connect, SCIM へ対応していく必要がある
![Page 12: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/12.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 12
技術標準化の状況
OpenID Connect 1.0
2014 年 2 月にローンチ
SCIM Core Schema, SCIM Protocol
RFC 化まであと一歩
![Page 13: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/13.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 13
エンプラにおける ID 連携の現状
ID 管理サーバー
( 個別実装 )
アプリ(SAML SP)
認証サーバー(SAML IdP)
Fire
wall
利用企業 クラウドサービス
ID 管理 I/F( 個別実装 )
異動に基づく定期的なアカウントプロビ
エンプラの認証サーバーからの認証連携
具体的な取り決めがない
利用企業側に実装負担大
セッション管理はクラウドサービスの仕様に依存
E-mail アドレスを使ったアカウント紐付けが一般的
クラウドサービスが提供する独自の方式を要求( CSV, 専用ツールなど)
![Page 14: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/14.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 14
OIDC/SCIM による ID 連携の基本構成
ID 管理サーバー
(SCIM Client)
アプリ(OIDC RP)
認証サーバー(OIDC OP)
Fire
wall
利用企業 クラウドサービス
ID 管理 I/F(SCIM Server) 異動に基づく定期的な
アカウントプロビ
エンプラの認証サーバーからの認証連携
セッション管理はクラウドサービス側の責務
![Page 15: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/15.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 15
サンプル実装のターゲットターゲット 実装対象
OIDC OP エンプラで OP を実装するためのサンプルとする。
OpenAM TrustBind Federation Manager スクラッチ開発 (Ruby)
OIDC RP サービス事業者が RP を実装するためのサンプルとする。
スクラッチ開発 (Ruby) : 実装ポイントを説明するための簡易実装を行なう
mod_auth_openidc : 既存のアプリをRP 対応するゲートウェイ型実装サンプル
SCIM Server サービス事業者が ID 管理の受け口として SCIM を実装するためのサンプルとする。
スクラッチ開発 (Java) : SCIM2.0 仕様で実装する。
![Page 16: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/16.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 16
サンプル実装を用いた相互運用性の検証
OIDC OP(OpenAM)
OIDC OP(TrustBind)
OIDC OP(Ruby スクラッチ )
OIDC RP(Ruby スクラッチ )
OIDC RP(mod_auth_openidc)
SCIM Server(Java スクラッ
チ )
AWS 管理用ノード検証環境 on AWS
ユーザーマスタ CSV
フェデレーション(ユーザー識別情報の連携)
ユーザー属性情報の取得
SCIM を使った更新
CSV配布・取り込み
![Page 17: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/17.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 17
実装ガイドが目指すところ
OpenID Connect, SCIM の標準仕様に基づいて
最低限実装すべき事項と、実装方法を提示
クラウド事業者と利用企業がそれぞれ実装
エンプラとクラウドサービスの相互接続を実現
![Page 18: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/18.jpg)
実装上の考慮点
![Page 19: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/19.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 19
[OIDC] 対応する認証フロー
Implicit Flow への対応
利用企業の認証サーバーがファイアウォール内に設置さ
れる場合に対応
署名検証用の JWK ドキュメントをどう渡すか?
○ jwks_uri を提供
△ クラウドサービスの管理用 UI を使って定期更新
![Page 20: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/20.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 20
[OIDC] 認証フローの開始方法
RP起動のログイン
利用企業専用ログイン画面パターン
共通ログイン画面パターン
OP起動のログイン
login_hint, target_link_uri への対応
![Page 21: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/21.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 21
[OIDC] ID Token に含める sub の値
従業員番号
E-mail アドレス
再割り当てがない専用の識別子
企業での運用ルールで再割り当てがないことが保証できる場合
![Page 22: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/22.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 22
[OIDC] その他考慮点
認証フローの中でのユーザー同意画面の扱い
ユーザーに再認証を求める場合のフローの定義
認証エラーが発生した場合の振る舞い
![Page 23: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/23.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 23
[SCIM] 最低限実装すべきエンドポイント
User
GET(参照 ), POST( 作成 ), PUT(更新 ), DELETE(削除 )
認証方法
最低限 Basic 認証に対応
より安全な方式についても言及を予定
![Page 24: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/24.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 24
[SCIM] 最低限対応すべき属性基本属性 SCIM スキーマ (*1)
従業員番号 employeeNumber
名前(姓・漢字) name.familyName
名前(名・漢字) name.givenName
名前(姓・ひらがな) localName.familyNameReading (*2)
名前(名・ひらがな) localName.givenNameReading (*2)
メールアドレス emails
組織コード(主務) orgUnitCode (*2)
組織名(主務) orgUnitLocalNameValue (*2)
役職コード(主務) titleCode (*2)
役職名(主務) titleLocalNameValue (*2)
電話番号 phoneNumbers
有効フラグ active
識別子( ID Token の sub の値) externalId
*1: SCIM Core Schema 2.0 draft-22 の項目名で整理
*2: 専用の拡張リソースを定義して使用する属性。この拡張リソースは実装ガイドに掲載予定。
![Page 25: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/25.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 25
[SCIM] セッション強制停止の要求
デバイスの紛失等の理由で、ユーザーのセッション
を強制停止したいケースへの対応
利用企業側より アカウント無効化→アカウント再有効化
と操作
クラウドサービス側は、アカウント無効化時にユーザー
セッションを破棄する
![Page 26: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/26.jpg)
EIWG 活動の今後の予定
26
![Page 27: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/27.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 27
9 月上旬にガイドラインを公開予定
「 OpenID Connect と SCIM のエンタープライズ利
用ガイドライン」(改訂版)
「 OpenID Connect と SCIM のエンタープライズ実
装ガイドライン」
![Page 28: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/28.jpg)
![Page 29: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/29.jpg)
株式会社オージス総研
テミストラクトソリューション部
氏縄 武尊
OpenAM と mod_auth_openidc を用いたOpenID Connect の実装例
![Page 30: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/30.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 30
OpenAM と mod_auth_openidc について OpenAM (OpenID Provider / OP)
ForgeRock 社が開発元で CDDL ライセンスの OSS
SSO 認証ソフトウェア
mod_auth_openidc (Relying Party / RP)
Ping Identity 社が開発元で Apache ライセンスの OSS
Apache 認証 / 認可 モジュール
![Page 31: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/31.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 31
サンプル実装を用いた相互運用性の検証
OIDC OP(OpenAM)
OIDC OP(TrustBind)
OIDC OP(Ruby スクラッチ )
OIDC RP(Ruby スクラッチ )
OIDC RP(mod_auth_openidc)
SCIM Server(Java スクラッ
チ )
AWS 管理用ノード検証環境 on AWS
ユーザーマスタ CSV
フェデレーション(ユーザ識別情報の連携)
ユーザ属性情報の取得
SCIM を使った更新
CSV配布・取り込み
![Page 32: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/32.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 32
相互運用性検証の前提
OpenID Connect に関する設定 認証フロー : Implicit Flow
署名アルゴリズム : RS256
OP から RP に連携したいユーザ情報 ログイン ID( 社員番号 ): sub クレームで渡す
メールアドレス : email クレームで渡す
![Page 33: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/33.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 33
OP,RP の設計
mod_auth_openidcrelease 1.8.3
op.example.com rp.example.com
OpenAMOpenAM 12.0.0 Build 11961 (2014-December-17 21:16)
・ redirect_uri https://rp.example.com/ example/redirect_uri
・ well-known エンドポイント https://op.example.com/openam/ .well-known/openid-configuration
・ client_id eiwg_client
・ client_secret dWppNTI
![Page 34: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/34.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 34
設定のステップ
1.OpenAM を OP にする
2.OpenAM に RP の登録をする
3.RP の設定をする
![Page 35: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/35.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 35
1.1 OpenAM を OP にする
![Page 36: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/36.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 36
1.2 署名アルゴリズムの設定をする
必要なアルゴリズムの追加・ RS256 の追加
![Page 37: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/37.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 37
2.1 OpenAM に RP を登録する
「新規」からクライアント追加 名前 :client_id
パスワード :client_secret
(Implicit Flow でも設定は必要 )
![Page 38: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/38.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 38
2.1 OpenAM に RP を登録する
![Page 39: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/39.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 39
2.2 リダイレクト URI の設定
RP の RedirectUri を設定 (https://rp.example.com/example/
redirect_uri)
![Page 40: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/40.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 40
2.3 スコープの追加
email の追加
![Page 41: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/41.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 41
2.4 署名アルゴリズムの登録
RS256 と記述
![Page 42: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/42.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 42
3 RP の設定
LoadModule auth_openidc_module modules/mod_auth_openidc.so
OIDCProviderMetadataURL https://op.example.com/openam/.well-known/openid-configuration
OIDCClientID eiwg_clientOIDCClientSecret dWppNTIOIDCIDTokenSignedResponseAlg RS256
OIDCRedirectURI https://rp.example.com/example/redirect_uriOIDCResponseType "id_token token“OIDCScope "openid email"
OIDCSSLValidateServer onOIDCCryptoPassphrase cGFzc3dvcmQNCg
<Location /example/> AuthType openid-connect Require valid-user</Location>
httpd.conf
OP の情報を登録 well-known エンドポイント
RP の情報を登録 ClientID
ClientSecret
署名アルゴリズム
OP へのリクエストの情報 RedirectURI
ResponseType
Scope
example 以下にアクセスした際に RP として動作
![Page 43: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/43.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 43
3.1 OP の情報の登録
LoadModule auth_openidc_module modules/mod_auth_openidc.so
OIDCProviderMetadataURL https://op.example.com/openam/.well-known/openid-configuration
OIDCClientID eiwg_clientOIDCClientSecret dWppNTIOIDCIDTokenSignedResponseAlg RS256
OIDCRedirectURI https://rp.example.com/example/redirect_uriOIDCResponseType "id_token token“OIDCScope "openid email"
OIDCSSLValidateServer onOIDCCryptoPassphrase cGFzc3dvcmQNCg
<Location /example/> AuthType openid-connect Require valid-user</Location>
httpd.conf
OP の情報を登録 well-known エンドポイント
RP の情報を登録 ClientID
ClientSecret
署名アルゴリズム
OP へのリクエストの情報 RedirectURI
ResponseType
Scope
example 以下にアクセスした際に RP として動作
![Page 44: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/44.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 44
3.2 RP の情報を登録
LoadModule auth_openidc_module modules/mod_auth_openidc.so
OIDCProviderMetadataURL https://op.example.com/openam/.well-known/openid-configuration
OIDCClientID eiwg_clientOIDCClientSecret dWppNTIOIDCIDTokenSignedResponseAlg RS256
OIDCRedirectURI https://rp.example.com/example/redirect_uriOIDCResponseType "id_token token“OIDCScope "openid email"
OIDCSSLValidateServer onOIDCCryptoPassphrase cGFzc3dvcmQNCg
<Location /example/> AuthType openid-connect Require valid-user</Location>
httpd.conf
OP の情報を登録 well-known エンドポイント
RP の情報を登録 ClientID
ClientSecret
署名アルゴリズム
OP へのリクエストの情報 RedirectURI
ResponseType
Scope
example 以下にアクセスした際に RP として動作
![Page 45: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/45.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 45
3.3 OP との連携のための設定
LoadModule auth_openidc_module modules/mod_auth_openidc.so
OIDCProviderMetadataURL https://op.example.com/openam/.well-known/openid-configuration
OIDCClientID eiwg_clientOIDCClientSecret dWppNTIOIDCIDTokenSignedResponseAlg RS256
OIDCRedirectURI https://rp.example.com/example/redirect_uriOIDCResponseType "id_token token“OIDCScope "openid email"
OIDCSSLValidateServer onOIDCCryptoPassphrase cGFzc3dvcmQNCg
<Location /example/> AuthType openid-connect Require valid-user</Location>
httpd.conf
OP の情報を登録 well-known エンドポイント
RP の情報を登録 ClientID
ClientSecret
署名アルゴリズム
OP へのリクエストの情報 RedirectURI
ResponseType
Scope
example 以下にアクセスした際に RP として動作
![Page 46: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/46.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved.
LoadModule auth_openidc_module modules/mod_auth_openidc.so
OIDCProviderMetadataURL https://op.example.com/openam/.well-known/openid-configuration
OIDCClientID eiwg_clientOIDCClientSecret dWppNTIOIDCIDTokenSignedResponseAlg RS256
OIDCRedirectURI https://rp.example.com/example/redirect_uriOIDCResponseType "id_token token“OIDCScope "openid email"
OIDCSSLValidateServer onOIDCCryptoPassphrase cGFzc3dvcmQNCg
<Location /example/> AuthType openid-connect Require valid-user</Location>
46
3.4 反映されるパスの設定httpd.conf
OP の情報を登録 well-known エンドポイント
RP の情報を登録 ClientID
ClientSecret
署名アルゴリズム
OP へのリクエストの情報 RedirectURI
ResponseType
Scope
example 以下にアクセスした際に RP として動作
![Page 47: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/47.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 47
認証の流れと連携される情報
①アプリにアクセス
⑤コンテンツの取得
②OP へリダイレクト(ID Token 要求 )
③ID/PW 入力
Open AM(OP)
④RP へリダイレクト(ID Token受渡 )
③
④
表示したいコンテンツ
mod_auth_openidc(RP)
![Page 48: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/48.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved.
RP のコンテンツで取得したヘッダ情報
COOKIE
mod_auth_openidc_session
▪ OpenID Connectの認証Cookie
OIDC_CLAIM_XXX
各種クレームの情報が
HTTPヘッダーとして連携される
ログイン IDはsub値で連携される
/example/PrintHeader(RequestHeader表示アプリ )
48
![Page 49: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/49.jpg)
![Page 50: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/50.jpg)
OpenID ファウンデーション・ジャパン
Enterprise Identity WG / 技術 TF
上田 尊教 ( エクスジェン・ネットワークス ( 株 ))
Java Servlet によるSCIM サーバの実装例
![Page 51: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/51.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 51
実装のポイント ( 実装前に決めておくこと )
プロビジョニング対象として扱う情報
SCIM スキーマの設計
提供する操作
対応する SCIM オペレーション (GET,POST,PUT,PATCH,DELETE)
認証 /認可方法 HTTP Basic, OAuth2 Bearer など
![Page 52: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/52.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 52
実装のポイント
プロビジョニング機能として提供する SCIM の仕様は、クラウドサービス利用
企業 ( クライアントの開発者 ) に対して公開する必要がある。
● Base URI&各エンドポイント
●認証 ( 認可 ) 方法
●スキーマ情報
●具体的な操作方法
![Page 53: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/53.jpg)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 53
実装例
今回、実装検証用に作成した SCIM サーバの実際のソースコードに沿って
具体的なポイントを解説。
●開発環境は eclipse
●Tomcat アプリケーションの Java サーブレットとして実装
●JSON の解析は Jackson を利用
●リソース情報はオンメモリで保持
●ユーザ検索 (GET)/追加 (POST)/更新 (PUT)/削除 (DELETE) を実装
![Page 54: OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて](https://reader033.vdocuments.site/reader033/viewer/2022061618/55ce450ebb61eb8d418b4721/html5/thumbnails/54.jpg)