openid connectとscimのエンタープライズ利用ガイドライン

32
OpenID フフフフフフフフフ フフフフ Enterprise Identity WG / フフ TF フフフフ フフ フ フフフフフフフフフフフ () OpenID Connect と SCIM と とととととととととととととととと

Upload: takashi-yahata

Post on 13-Apr-2017

719 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

OpenID ファウンデーション・ジャパン

Enterprise Identity WG / 技術 TF リーダー

八幡 孝(株式会社オージス総研)

OpenID Connect と SCIM のエンタープライズ利用ガイドライン

Page 2: 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 プロビジョニングの普及を推進し、新た

なビジネスの創造・展開を図ることを目的に活動を行なっています。

Page 3: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 3ID & IT Management Conference 2015

技術 TF の活動テーマ

エンタープライズ IT とクラウドサービスを相互連携するた

めの OIDC OP/RP および SCIM のサンプル実装を行なう。

実装により明らかとなった課題と解決策をまとめる。

以上の結果を「 OpenID Connect と SCIM のエンタープラ

イズ実装ガイドライン」としてまとめ、発行する。

Page 4: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

エンタープライズにおけるID 連携

Page 5: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 5

Identity とは?

主体 (Entity | Subject)人とか PC とかサービスとか、 ...

Identity主体にかかわる属性の集合体

ひとつの主体に、コンテキスト毎の Identity

Page 6: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 6

認証とは?

主体(人)を Identity に紐付けること

アクセスをしている主体は、

サービス・システムが認識している、どの Identity と

紐付いているか、

本人だけが知り得る、所有する情報をもって確認する

Page 7: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 7

ID 連携とは?

認証連携 + 属性連携 = ID 連携

クラウドアプリへの認証連携は、活用の一側面に

過ぎない

Page 8: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 8

エンプラ ID と IT の特性

異動により Identity が変化

グループウェア、コラボレーションアプリなど、利

用する全ユーザーの Identity が必要なアプリも多

ID 連携には フェデレーション(オンライン)と

プロビジョニング(バッチ)が必要

Page 9: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 9

ID 連携を実現する技術標準

フェデレーション プロビジョニング

Page 10: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 10

エンプラでの ID 連携ユースケース

クラウド利用時のセキュリティ強化

グループ、グローバルでの情報共有・ IT 相互利用

取引先との情報共有・ IT 相互利用

Page 11: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 11

クラウド利用時のセキュリティ強化

シングルサインオンシステム

ID 管理システム

Office 365

Salesforce

cybozu.com

多要素認証 リスクベース認証

認証

企業内ネットワーク

認証連携JIT プロビジョニング

ID のプロビジョニング

ID のデプロビジョニング

モバイル・テレワーク

認証

統一された認証機能の利用 企業の定めた認証ポリシーを適用 クラウドサービスへのパスワード提供、

パスワード管理が不要

Page 12: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 12

グループ、グローバルでの情報共有・ IT 相互利用

シングルサインオンシステム

ID 管理システム

企業内ネットワーク グループ企業・海外拠点

シングルサインオンシステム

ID 管理システム

自社システム グループ企業のシステム

単一の ID での自社システム、グループ企業システムの相互利用

グループ、拠点毎の自立的管理・運用 M&A での迅速なシステム統合の実現

Page 13: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

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 企業毎に異なる認証方法、認証強化策からの開放

担当者交代時の手続きの簡略化

Page 14: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

OpenID Connect と SCIM を使った ID 連携実装

Page 15: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

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. サービスの提供

Page 16: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

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 (ユーザーリソース)

Page 17: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 17ID & IT Management Conference 2015

技術標準に沿って実装すればOK? 技術標準

さまざまなユースケースに対応できるよう、広範囲に及

ぶ仕様が決められている

実装の現場

どの方法でどこまで実装すればつながるの?という悩み

つなぐ相手によって実装範囲が異なるのもつらい

Page 18: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

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

Page 19: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 19ID & IT Management Conference 2015

実装ガイドが目指すところ

OpenID Connect, SCIM の標準仕様に基づいて

最低限実装すべき事項と、実装方法を提示

クラウド事業者と利用企業がそれぞれ実装

エンプラ分野での ID 連携活用を広める

Page 20: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

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

認証

クラウド利用

利用企業の認証システム

社内ユーザー

モバイル・テレワーク

Page 21: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. 21ID & IT Management Conference 2015

連携のための初期設定のワークフロー

1. クラウドサービスが設定に必要な基本情報を利用企業へ提供する。

2. 利用企業の ID 管理サーバーで SCIM クライアントとしての設定を

行なう。

3. 利用企業の認証サーバーへクラウドサービスを RP として登録する。

4. クラウドサービスに認証サーバーを OP として登録する。

Page 22: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 22

ユーザー情報のプロビジョニング

具体的なユーザーリソースのスキーマを定義

エンプラ IT で必要となる属性、相互連携に必要な属性を

EIWG拡張リソースとして定義

ユーザー情報の操作方法を定義

作成 → HTTP POST, 更新 → HTTP PUT, 削除 → HTTP DELETE で対応

Page 23: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 23

ユーザー認証

ID トークンの形式、含めるクレームを定義

3 つの認証フローを定義クラウドサービス起点のログイン

利用企業起点のログイン

再認証要求

受け取った ID トークンとユーザーの紐付け方式を解

Page 24: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 24

その他

ID トークン署名用キーペアの更新

SCIM EP アクセス用パスワードの更新

SCIM EP アクセス時の OAuth を使った認可への対応

強制ログアウト要求

Page 25: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 25

具体的な実装方法を解説

実装すべきエンドポイント、その振る舞い

エンドポイントを呼び出す方法、その結果の扱い

それぞれの視点で具体例を交えた実装方法を解説

クラウドサービス事業者向け

クラウドサービス利用企業向け

Page 26: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

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 )

クラウドサービス事業者が実装すること クラウド利用企業が実装すること

Page 27: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

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) クラウドサービスのユーザーとの紐付け

Page 28: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

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 )クラウドサービス事業者が実装すること クラウド利用企業が実装すること

Page 29: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 29

ガイドライン公開は 10 月上旬を予定

現在 EIWG 内でレビュー中

2 本同時に公開を予定 OpenID Connect と SCIM のエンタープライズ利用ガイドライン

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

Page 30: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

まとめ

Page 31: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン

Copyright © 2015 OpenID Foundation Japan. All Rights Reserved. ID & IT Management Conference 2015 31

まとめ

これからはエンプラでも ID 連携が重要になる

OpenID Connect と SCIM で ID 連携

実装ガイドに沿った実装で、 ID 連携を広めよう

Page 32: OpenID ConnectとSCIMのエンタープライズ利用ガイドライン