openid connectとscimのエンタープライズ利用ガイドライン
TRANSCRIPT
OpenID ファウンデーション・ジャパン
Enterprise Identity WG / 技術 TF リーダー
八幡 孝(株式会社オージス総研)
OpenID Connect と SCIM のエンタープライズ利用ガイドライン
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 2ID & IT Management Conference 2015
OIDF-J EIWG って?
OpenID ファウンデーション・ジャパン (OIDF-J) 国内における OpenID 関連技術の普及・啓蒙のための活動を行なっています。
Enterprise Identity WG (EIWG) エンタープライズ IT 市場で OpenID Connect や SCIM などの仕様をベース
とした、 ID フェデレーションや ID プロビジョニングの普及を推進し、新た
なビジネスの創造・展開を図ることを目的に活動を行なっています。
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 3ID & IT Management Conference 2015
技術 TF の活動テーマ
エンタープライズ IT とクラウドサービスを相互連携するた
めの OIDC OP/RP および SCIM のサンプル実装を行なう。
実装により明らかとなった課題と解決策をまとめる。
以上の結果を「 OpenID Connect と SCIM のエンタープラ
イズ実装ガイドライン」としてまとめ、発行する。
エンタープライズにおけるID 連携
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 5
Identity とは?
主体 (Entity | Subject)人とか PC とかサービスとか、 ...
Identity主体にかかわる属性の集合体
ひとつの主体に、コンテキスト毎の Identity
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 6
認証とは?
主体(人)を Identity に紐付けること
アクセスをしている主体は、
サービス・システムが認識している、どの Identity と
紐付いているか、
本人だけが知り得る、所有する情報をもって確認する
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 7
ID 連携とは?
認証連携 + 属性連携 = ID 連携
クラウドアプリへの認証連携は、活用の一側面に
過ぎない
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 8
エンプラ ID と IT の特性
異動により Identity が変化
グループウェア、コラボレーションアプリなど、利
用する全ユーザーの Identity が必要なアプリも多
い
ID 連携には フェデレーション(オンライン)と
プロビジョニング(バッチ)が必要
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 9
ID 連携を実現する技術標準
フェデレーション プロビジョニング
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 10
エンプラでの ID 連携ユースケース
クラウド利用時のセキュリティ強化
グループ、グローバルでの情報共有・ IT 相互利用
取引先との情報共有・ IT 相互利用
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 11
クラウド利用時のセキュリティ強化
シングルサインオンシステム
ID 管理システム
Office 365
Salesforce
cybozu.com
多要素認証 リスクベース認証
認証
企業内ネットワーク
認証連携JIT プロビジョニング
ID のプロビジョニング
ID のデプロビジョニング
モバイル・テレワーク
認証
統一された認証機能の利用 企業の定めた認証ポリシーを適用 クラウドサービスへのパスワード提供、
パスワード管理が不要
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 12
グループ、グローバルでの情報共有・ IT 相互利用
シングルサインオンシステム
ID 管理システム
企業内ネットワーク グループ企業・海外拠点
シングルサインオンシステム
ID 管理システム
自社システム グループ企業のシステム
単一の ID での自社システム、グループ企業システムの相互利用
グループ、拠点毎の自立的管理・運用 M&A での迅速なシステム統合の実現
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 13
取引先との情報共有・ IT 相互利用
シングルサインオンシステム
HUB 企業
シングルサインオンシステム
EDI
SPOKE 企業
シングルサインオンシステムSCM
SPOKE 企業
シングルサインオンシステム
HUB 企業
EDI
SCM
接続してくる SPOKE 企業の ID管理、パスワード管理からの開放
取引先 HUB 企業毎に異なる認証方法、認証強化策からの開放
担当者交代時の手続きの簡略化
OpenID Connect と SCIM を使った ID 連携実装
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 15
OpenID Connect 2014 年 2 月にローンチ
複数の組織やアプリケーション間で
ユーザーの認証結果や属性情報をや
りとりするための技術仕様
主な用語
認可コードフロー、 Implicit フロー
ID トークン、クレーム
エンドユーザー(ブラウザ)
クライアント(リライイング・パーティ/ RP)
認可サーバー(OpenIDプロバイダー/OP)
12
6
5認可
エンドポイント
3
4
直接アクセスのリクエスト・レスポンス
Webブラウザのリダイレクトを使ったアクセス
1. 認証要求を生成
2. OPへ認証要求を送信(ブラウザリダイレクト)
5. RPへIDトークンなどを応答(ブラウザリダイレクト)
3. ユーザーを認証
4. ユーザーの同意/許可を取得
6. IDトークンの検証、Subject識別子の取得s
0
7
0. サービスへのアクセス
7. サービスの提供
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 16
SCIM IETF で RFC 化の作業中
アイデンティティデータのプロビ
ジョニングと管理を行なうための
技術仕様
リソース エンドポイント名 行なえる操作ユーザー /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 プロフィールが参照できる URLtitle 役職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 API
SCIM Core Schema (ユーザーリソース)
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 17ID & IT Management Conference 2015
技術標準に沿って実装すればOK? 技術標準
さまざまなユースケースに対応できるよう、広範囲に及
ぶ仕様が決められている
実装の現場
どの方法でどこまで実装すればつながるの?という悩み
つなぐ相手によって実装範囲が異なるのもつらい
OpenID Connect と SCIM のエンタープライズ実装ガイドライン
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 19ID & IT Management Conference 2015
実装ガイドが目指すところ
OpenID Connect, SCIM の標準仕様に基づいて
最低限実装すべき事項と、実装方法を提示
クラウド事業者と利用企業がそれぞれ実装
エンプラ分野での ID 連携活用を広める
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 20
一般的な ID 連携のケースを対象に整理
認証サーバー(OIDC OP)
ID管理サーバー(SCIM Client)
アプリケーション(OIDC RP)
ID管理I/ F(SCIM Server)
Firewall
認証結果の連携
ユーザー情報のプロビジョニング
利用企業A クラウドサービス 1
認証
クラウド利用
利用企業の認証システム
社内ユーザー
モバイル・テレワーク
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 21ID & IT Management Conference 2015
連携のための初期設定のワークフロー
1. クラウドサービスが設定に必要な基本情報を利用企業へ提供する。
2. 利用企業の ID 管理サーバーで SCIM クライアントとしての設定を
行なう。
3. 利用企業の認証サーバーへクラウドサービスを RP として登録する。
4. クラウドサービスに認証サーバーを OP として登録する。
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 22
ユーザー情報のプロビジョニング
具体的なユーザーリソースのスキーマを定義
エンプラ IT で必要となる属性、相互連携に必要な属性を
EIWG拡張リソースとして定義
ユーザー情報の操作方法を定義
作成 → HTTP POST, 更新 → HTTP PUT, 削除 → HTTP DELETE で対応
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 23
ユーザー認証
ID トークンの形式、含めるクレームを定義
3 つの認証フローを定義クラウドサービス起点のログイン
利用企業起点のログイン
再認証要求
受け取った ID トークンとユーザーの紐付け方式を解
説
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 24
その他
ID トークン署名用キーペアの更新
SCIM EP アクセス用パスワードの更新
SCIM EP アクセス時の OAuth を使った認可への対応
強制ログアウト要求
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 25
具体的な実装方法を解説
実装すべきエンドポイント、その振る舞い
エンドポイントを呼び出す方法、その結果の扱い
それぞれの視点で具体例を交えた実装方法を解説
クラウドサービス事業者向け
クラウドサービス利用企業向け
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 26
OpenID Connect RP (クライアント)の実装認証フローの概要ログイン開始エンドポイントの実装利用企業の認証サーバーへの認証要求
▪通常の認証要求▪再認証のための認証要求
利用企業の認証サーバーからの認証結果の受け取りID トークンの検証認証されたユーザーとクラウドサービスのユーザーと
の紐付けセッションの管理ログアウトエンドポイントの実装利用企業の認証サーバーの公開鍵の取得
OpenID Connect OP (認証サーバー)の実装認証フローの概要クラウドサービスから認証要求を受け取る
▪通常の認証要求▪再認証のための認証要求
ユーザーを認証するユーザーに認証連携の同意を得るクラウドサービスへ認証結果を返す強制ログアウトを要求するID トークン
▪ JOSEヘッダ▪ ID トークンに格納するクレーム▪ ID トークンの署名
公開鍵の公開( JWK Set エンドポイントの実装)
具体的な実装方法を解説( OpenID Connect )
クラウドサービス事業者が実装すること クラウド利用企業が実装すること
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 27
具体的な実装方法を解説( OpenID Connect )
クラウドサービス事業者が実装すること クラウド利用企業が実装すること
ブラウザ 認証エンドポイントログイン開始
エンドポイント
利用企業 クラウドサービスユーザー
(1) クラウドサービスからの認証要求の受付
(2) ユーザーの認証
(3) ユーザーからの認証連携の同意取得
(4) クラウドサービスへの認証結果の連携
コールバックエンドポイントブラウザ
リソース(ページ)
ログイン開始エンドポイント 認証サーバー
コールバックエンドポイント
クラウドサービスへアクセス
(1) ログイン開始EPへリダイレクト
(2) 利用企業の認証サーバーへ認証を要求
フラグメントにIDトークンをつけて、コールバックエンドポイントへリダイレクト
(3) J avaScriptを使ってIDトークンを取得 (POST)
利用企業の認証サーバーによる認証処理
認証完了後のランディングページURIを保存
(4) IDトークンを検証
クラウドサービスのユーザーセッションを開始(保存していたランディングページURIへリダイレクト)
クラウドサービス 利用企業ユーザー
(5) クラウドサービスのユーザーとの紐付け
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 28
SCIM サーバーの実装User エンドポイントの実装
▪ユーザーの作成 (POST)▪ リクエストの受け取り▪ クラウドサービスのユーザーとして登録▪ 登録結果の応答
▪ユーザーの更新 (PUT)▪ユーザーの削除 (DELETE)
検索エンドポイントの実装▪ユーザーの検索
ユーザーデータの検証エンドポイントアクセス時の認証
利用企業の管理者向け機能の実装OpenID Connect OP (認証サーバー)登録機能SCIM クライアント( ID 管理サーバー)登録機能管理者向け機能利用時の認証方式
SCIM クライアントの実装 ユーザー情報の操作
▪ユーザーの作成▪ユーザーの更新
▪ ユーザーリソース識別子 (id) の取得▪ユーザー情報の更新▪ユーザーの削除▪エラー応答
エンドポイントアクセス時の認証
具体的な実装方法を解説( SCIM )クラウドサービス事業者が実装すること クラウド利用企業が実装すること
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 29
ガイドライン公開は 10 月上旬を予定
現在 EIWG 内でレビュー中
2 本同時に公開を予定 OpenID Connect と SCIM のエンタープライズ利用ガイドライン
OpenID Connect と SCIM のエンタープライズ実装ガイドライン
まとめ
Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 31
まとめ
これからはエンプラでも ID 連携が重要になる
OpenID Connect と SCIM で ID 連携
実装ガイドに沿った実装で、 ID 連携を広めよう