Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説

1,744 views

Published on

2016年6月24日開催 Enterprise Identity WG 成果報告会
発表資料
OpenIDファウンデーション・ジャパン
EIWG 技術TF

Published in: Technology
  • Be the first to comment

『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説

  1. 1. OpenIDファウンデーション・ジャパン Enterprise Identity WG / 技術TF リーダー 八幡 孝(株式会社オージス総研) OpenID Connect と SCIM の エンタープライズ実装ガイドライン 解説 遂に公開!
  2. 2. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 1 OIDF-J EIWGって?  OpenIDファウンデーション・ジャパン (OIDF-J)  国内におけるOpenID関連技術の普及・啓蒙のための活動を行なっています。  Enterprise Identity WG (EIWG)  エンタープライズIT市場でOpenID ConnectやSCIMなどの仕様をベースとし た、IDフェデレーションやIDプロビジョニングの普及を推進し、新たなビジ ネスの創造・展開を図ることを目的に活動を行なっています。
  3. 3. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 2 技術TFの活動テーマ  エンタープライズITとクラウドサービスを相互連携するため のOIDC OP/RPおよびSCIMのサンプル実装を行なう。  実装により明らかとなった課題と解決策をまとめる。  以上の結果を「OpenID ConnectとSCIMのエンタープライ ズ実装ガイドライン」としてまとめ、発行する。
  4. 4. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 3 今日は、ようやく完成した 『OpenID Connect と SCIM の エンタープライズ実装ガイドライン』 のお話です。 j.mp/eiwg-guides-2016ガイドラインのダウンロードはこちら ➡
  5. 5. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 4 ガイドの位置づけ  昨今、企業でのクラウドサービス利用が急速に進んできている。今後もよ り多くの企業、より多くの業務へとクラウドサービスの利用が拡大する ことが見込まれる。  ID 連携技術である OpenID Connect と SCIM をとりあげ、OpenID Connect を使った認証連携 (SSO) と、SCIM を使ったアイデンティ ティ管理(ID 管理)により、利用企業の認証システムとクラウドサービスを相 互接続、相互運用するための、一般的かつ最小限の実装について解説。
  6. 6. OpenID Connect と SCIM を 使ったID連携実装 ~実装ガイドラインの内容から
  7. 7. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 6 OpenID Connect  2014年2月にローンチ  複数の組織やアプリケーション間で ユーザーの認証結果や属性情報をや りとりするための技術仕様  OpenID Connect Core 1.0 と、複数 の選択仕様 OpenID Connect 認可コードフローの例
  8. 8. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 7 SCIM  2015年9月にSCIM2.0がRFC化  RFC 7642, 7643, 7644  アイデンティティデータのプロビ ジョニングと管理を行なうための 技術仕様 リソース エンドポイント名 行なえる操作 ユーザー /Users GET, POST, PUT, PATCH, DELETE グループ /Groups GET, POST, PUT, PATCH, DELETE 自分自身 /Me GET, POST, PUT, PATCH, DELETE サービスプロバイダー 設定 /ServiceProviderConfig GET リソースタイプ /ResourceTypes GET スキーマ定義 /Schemas GET バルク操作 /Bulk POST 検索 [prefix]/.search POST 属性名 サブ属性名 説明 userName ユーザー名(ユニークID) name 名前 formatted フルネーム familyName 姓 givenName 名 middleName ミドルネーム honorificPrefix プレフィックス。Mr.など。 honorificSuffix サフィックス。三世、など。 displayName 表示名 nickName ニックネーム profileUrl プロフィールが参照できるURL title 役職 userType 職種 preferredLanguage 使用言語 locale 地域("en-US"形式) timezone タイムゾーン active 管理状態(trueならログイン可,falseなら不可など) password パスワード(書き込み専用属性) emails メールアドレス のリスト phoneNumbers 電話番号 のリスト ims インスタントメッセージのアドレス のリスト photos ユーザーの写真のURL のリスト addresses 住所 のリスト formatted 表示用に整形された住所 streetAddress 番地、建物名など locality 市区町村 region 都道府県 postalCode 郵便番号 country 国("US", "JP"などの短縮形式) groups ユーザーが所属するグループ のリスト entitlements ユーザーが持っている資格・権利 のリスト roles ユーザーのロール のリスト x509Certificates ユーザーの電子証明書 のリスト SCIM Protocol [RFC 7644] SCIM Core Schema [RFC 7643](ユーザーリソース)
  9. 9. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 8 技術標準に沿って実装すればOK?  技術標準  さまざまなユースケースに対応できるよう、広範囲に及ぶ 仕様が決められている。  実装の現場  どの方法でどこまで実装すればつながるの?という悩み。  つなぐ相手によって実装範囲が異なるのもつらい。
  10. 10. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 9 一般的なID連携のケースを対象に整理
  11. 11. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 10 属性に注目したクラウドサービスの分類  シンプルなユーザー情報を要求するクラウド サービス  多言語対応されたユーザー情報を要求するク ラウドサービス  日本特有の多階層の組織情報やそれに対応する役職 の情報を要求するクラウドサービス 実 装 ガ イ ド が タ ー ゲ ッ ト と す る ケ ー ス
  12. 12. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 11 連携のための初期設定のワークフロー 1. クラウドサービスが設定に必要な基本情報を利用企業へ提供する。 2. 利用企業のID管理サーバーでSCIMクライアントとしての設定を行 なう。 3. 利用企業の認証サーバーへクラウドサービスをRPとして登録する。 4. クラウドサービスに認証サーバーをOPとして登録する。
  13. 13. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 12 連携のための初期設定のワークフロー
  14. 14. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 13 ユーザー情報のプロビジョニング  具体的なユーザーリソースのスキーマを定義  相互連携に必要な属性をEIWG拡張リソースとして定義  ユーザー情報の操作方法を定義  作成 ➡ HTTP POST  更新 ➡ HTTP PUT  削除 ➡ HTTP DELETE で対応
  15. 15. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 14 ユーザー属性 属性 SCIM属性名 サブ属性名 ID管理サーバー上の識別子 externalId サービス利用時のユーザー名 userName 企業OPでのログインID externalUserName (*2) IDトークンの識別子 idTokenClaims (*2) issuer subject 従業員番号 employeeNumber (*1) 名前(母国語) name formatted familyName givenName 表示用の名前(母国語) displayName 所属(主務・母国語) department (*1) 役職(主務・母国語) title 地域 locale メールアドレス emails value primary 属性 SCIM属性名 サブ属性名 電話番号 phoneNumbers type value primary 有効フラグ active 多言語表現の名前 localNames (*2) locale formatted givenName display primary type 所属組織と役職 organizationalUnits (*2) local value name display titleValue titleName titleDisplay primary type (*1) SCIM Core SchemaのEnterpriseUserで 定義された属性 (*2) EIWG拡張スキーマとして定義する属性
  16. 16. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 15 特別な意味を持つ属性  ID 管理サーバー上の識別子 (externalId)  サービス利用時のユーザー名 (userName)  企業OPでのログインID (externalUserName)  ID トークンのIssuerとSubject (idTokenClaims.issuer, idTokenClaims.subject)  有効フラグ (active)
  17. 17. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 16 ユーザー認証  IDトークンの形式、含めるクレーム、署名アルゴリズム  3つの認証フロー  クラウドサービス起点のログイン  利用企業起点のログイン  再認証要求  受け取ったIDトークンとユーザーの紐付け方式
  18. 18. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 17 その他  強制ログアウト処理 (OpenID Connect Back-Channel Logout)  IDトークン署名用キーペアの更新  SCIM EPアクセス用パスワードの更新  SCIM EPアクセス時のOAuthを使った認可への対応
  19. 19. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 18 具体的な実装内容を解説  実装すべきエンドポイント、その振る舞い  エンドポイントの呼び出し方、そのレスポンスの扱い方  それぞれの視点で具体例を交えて実装方法を解説  クラウドサービス事業者向け ➡ OpenID Connect RP, SCIM Server  クラウドサービス利用企業向け ➡ OpenID Connect OP, SCIM Client
  20. 20. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 19 OpenID Connect RP(クライアント)の実装 認証フローの概要 ログイン開始エンドポイントの実装 利用企業の認証サーバーへの認証要求 ▪通常の認証要求 ▪再認証のための認証要求 利用企業の認証サーバーからの認証結果の受け取り IDトークンの検証 認証されたユーザーとクラウドサービスのユーザーと の紐付け セッションの管理 強制ログアウト処理 利用企業の認証サーバーの公開鍵の取得 OpenID Connect OP (認証サーバー)の実装 認証フローの概要 クラウドサービスから認証要求を受け取る ▪通常の認証要求 ▪再認証のための認証要求 ユーザーを認証する ユーザーに認証連携の同意を得る クラウドサービスへ認証結果を返す IDトークン ▪JOSEヘッダ ▪IDトークンに格納するクレーム ▪IDトークンの署名 ユーザーセッションを強制ログアウトする 公開鍵の公開(JWK Setエンドポイントの実装) 具体的な実装方法を解説 クラウドサービス事業者が実装すること クラウド利用企業が実装すること
  21. 21. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 20 具体的な実装方法を解説 クラウドサービス事業者が実装すること クラウド利用企業が実装すること
  22. 22. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 21 SCIMサーバーの実装 Userエンドポイントの実装 ▪ユーザーの作成 (POST) ▪ リクエストの受け取り ▪ クラウドサービスのユーザーとして登録 ▪ 登録結果の応答 ▪ユーザーの更新 (PUT) ▪ユーザーの削除 (DELETE) 検索エンドポイントの実装 ▪ユーザーの検索 ユーザーデータの検証 エンドポイントアクセス時の認証 利用企業の管理者向け機能の実装 OpenID Connect OP(認証サーバー)登録機能 SCIMクライアント(ID管理サーバー)登録機能 管理者向け機能利用時の認証方式 SCIMクライアントの実装 ユーザー情報の操作 ▪ユーザーの作成 ▪ユーザーの更新 ▪ユーザーリソース識別子 (id) の取得 ▪ユーザー情報の更新 ▪ユーザーの削除 ▪エラー応答 エンドポイントアクセス時の認証 具体的な実装方法を解説 クラウドサービス事業者が実装すること クラウド利用企業が実装すること
  23. 23. OpenID Connect と SCIM の エンプラIT での活用
  24. 24. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 23 SCIMのクラウドサービスでの実装が進む  Salesforce  Microsoft Azure AD  SAP HANA  Slack  …
  25. 25. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 24 エンプラでのID連携ユースケース  クラウド利用時のセキュリティ強化  グループ、グローバルでの情報共有・IT相互利用  取引先との情報共有・IT相互利用 ID & IT Management Conference 2015
  26. 26. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 25 クラウド利用時のセキュリティ強化 シングルサインオン システム ID管理システム Office 365 Salesforce cybozu.com 多要素認証 リスクベース 認証 認証 企業内ネットワーク 認証連携 JITプロビジョニング IDのプロビジョニング IDのデプロビジョニング モバイル・ テレワーク 認証  統一された認証機能の利用  企業の定めた認証ポリシーを適用  クラウドサービスへのパスワード提供、 パスワード管理が不要 ID & IT Management Conference 2015
  27. 27. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 26 グループ、グローバルでの情報共有・IT相互利用 ID & IT Management Conference 2015 シングルサインオン システム ID管理システム 企業内ネットワーク グループ企業・海外拠点 シングルサインオン システム ID管理システム 自社システム グループ企業 のシステム  単一のIDでの自社システム、グループ企 業システムの相互利用  グループ、拠点毎の自立的管理・運用  M&Aでの迅速なシステム統合の実現
  28. 28. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 27 取引先との情報共有・IT相互利用 ID & IT Management Conference 2015 シングルサインオン システム HUB企業 シングルサインオン システム EDI SPOKE企業 シングルサインオン システムSCM SPOKE企業 シングルサインオン システム HUB企業 EDI SCM  接続してくるSPOKE企業のID管 理、パスワード管理からの開放  取引先HUB企業毎に異なる認証 方法、認証強化策からの開放  担当者交代時の手続きの簡略化
  29. 29. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. + Demo
  30. 30. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 29 デモ構成 OpenAM (OpenID Provider) OpenDJ (LDAP & SCIM Server) App (Relying Party) SCIMによる ユーザー操作アプリ アクセス 認証・ 認証連携 ユーザー 詳細情報の 利用
  31. 31. まとめ
  32. 32. Copyright © 2016 OpenID Foundation Japan. All Rights Reserved. 31 まとめ  これからはエンプラでもID連携が重要になる  OpenID Connect と SCIM でID連携  実装ガイドに沿った実装で、ID連携を広めよう

×