OpenAMを利用した学認(Shibboleth)への参加

2012年 7月 19日
プリンシパル・エンジニア 相本 智仁
オープンソース・ソリューション・テクノロジ株式会社
http://www.osstech.co.jp/
Copyright © 2012 Open Source Solution Technology, Corp.

1

目次

●

会社紹介

●

シングルサインオンとは●OpenAMとは

●

学認とは

●

OpenAMとShibbolethとの連携

●

事例紹介

Copyright © 2012 Open Source Solution Technology, Corp.

2

会社紹介

Copyright © 2012 Open Source Solution Technology, Corp.

3

会社紹介
オープンソース・ソリューション・テクノロジ株式会社●

OS に依存しない OSS のソリューションを中心に提供のソリューション
➢●●Linuxだけでなく、Windows/Solaris/AIXなどへも対応！

Samba,OpenLDAP,OpenAM,IDM などによる認証統合 /シングル・サイン・オン、 ID 管理ソリューションを提供
管理ソリューション➢製品パッケージ提供➢

製品サポート提供➢OSSの改良、バグ修正などコンサルティング提供

Windows Active Directory, CLUSTERPRO などの商用ソフトのソリューション ,Sun Java Directory Server も提供➢

商用製品とOSSの柔軟な組み合わせに対応

Copyright © 2012 Open Source Solution Technology, Corp.

4

会社概要
会社名

オープンソース・ソリューション・テクノロジ株式会社

英語表記

Open Source Solution Technology Corporation
所属
団体等

社名略称

OSSTech（ｵｰｴｽｴｽﾃｯｸ）または OSSテクノロジ

業務内容

・OSS（オープンソース）を中心とするソフトウエアの企画、開発、販売およびサポート・システムの導入に関するコンサルティング
・ソフトウエアに関する教育、研修役 員

代表取締役
技術取締役

オフィス

東京都品川区西五反田1-29-1 コイズミビル 8F
Tel.03-6417-0753 Fax.03-6417-0754

Web

http://www.osstech.co.jp/

設立

２００６年９月

資本金１５００万円

小田切 耕司武田 保真
取引先およびﾊﾟｰﾄﾅｰ様

OpenSSO&OpenAMコンソーシアム理事 副会長
OSSコンソーシアム理事 副会長OSCA(Open Standard Cloud Association)理事
LPI-Japanビジネスパートナー
デルISVアリーナ パートナー
NEC CLUSTERPRO WORKSパートナー
レッドハット レディ・ビジネス・パートナー・株式会社野村総合研究所
・デル株式会社
・株式会社バッファロー
・日本電気株式会社
・株式会社 大塚商会
・キヤノンITソリューションズ株式会社
・伊藤忠テクノソリューションズ株式会社
・新日鉄ソリューションズ株式会社
・株式会社ＰＦＵ
・株式会社 日立ソリューションズ
・三菱電機インフォメーションシステムズ株式会社
・ソフトバンク・テクノロジー株式会社
・ニフティ株式会社
・三井情報株式会社・ダイワボウ情報システム株式会社
・ＮＴＴデータ先端技術株式会社

OSSTechのソリューション領域
システム管理者

ID管理

ID管理

ID管理

Active Directory

Google Apps
Salesforce
ファイル
サーバー

クラウド

WebアプリLDAPWindows
ドメインログオン

ログイン

ログイン

ユーザー
Copyright © 2012 Open Source Solution Technology, Corp.

6

OSSTechのソリューション導入効果
Unicorn IDM

ID管理
システム管理者

ID連携
Active Directory

Google Apps
Salesforce
ファイル
サーバー

LDAP

Web アプリクラウド

SSO
Windows
ドメインログオン
ログイン

認証基盤をすべてOSS製品で提供

ユーザー

Copyright © 2012 Open Source Solution Technology, Corp.

7

OSSTechの製品群（すべてOSSで提供）

原則Linux/Solaris/AIX共にRPMで提供●Samba for Linux/Solaris/AIX●

OpenLDAP for Linux/Solaris/AIX
●

認証統合、ディレクトリサービス、シングルサインオンのインフ
ラ

OpenAM for Linux/Windows/Solaris●

ADの代替、高性能NASの代替

Tomcat,OpenLDAP対応で高機能なシングルサインオン機能を提供

Unicorn ID Manager for Linux/Solaris

Google Apps,ActiveDirectory,LDAP, Yahoo!メール Academic
Editionに対応した統合ID管理8

OSSTechの製品群（すべてOSSで提供）●

Chimera Search for Linux●LDAP Account Manager for Linux/Solaris●

リモートからのWindowsファイルサーバアクセス機能を提供

Mailman for Linux/Solaris●

管理機能の弱いOSSのLDAP/SambaにWebベースのGUIを提供

ThothLink for Linux●

アクセス権の無いファイルは表示されない全文検索システム

Google Appsのメーリングリスト機能を補完

Netatalk for Linux/Solaris

UTF-8に対応したMac OS対応のAFPファイルサーバー

9エンジニア募集中です！

特にOpenAM(Java)のエンジニア募集中

●

●

●

●

➢

http://www.osstech.co.jp/company/recruit➢

recruit@osstech.co.jp

OpenAM(OpenSSO)を使ったシングルサインオンもし
くはSamba、OpenLDAPを使った統合認証に関する開発エンジニア、コンサルタント、アーキテクト
シングルサインオン、統合認証、Linux / UNIX / OSS
経験
Java,Cの知識があり、前向きに自分でスキル向上を目指せる方
紹介会社などを通さず直接弊社へ募集エントリされた
方には、入社後現金２０万円を差し上げます10シングルサインオンとはCopyright © 2012 Open Source Solution Technology, Corp.

11

システムには必ず必要な「認証」

企業・組織内クラウド

Google Apps
Webアプリ1

Salesforce

Webアプリ2

ログイン

ログイン

ログイン

ユーザー

ログイン

システムの数だけ「認証」が必要

Copyright © 2012 Open Source Solution Technology, Corp.

12

シングルサインオンとは一度のログイン操作さえ完了すれば、複数のWebアプリケーションに認証操作することなくアクセスすることが可能になる。
（以後、SSO と略すことも）クラウド
Google Apps
Webアプリ1

Salesforce

Webアプリ2

SSO

ユーザー
ログイン

Copyright © 2012 Open Source Solution Technology, Corp.

13

シングルサインオンを実現するソフトウェア

 Webアプリケーションにおけるシングルサインオンを実現するためのプラットフォームとなるソフトウェア
 現在はオープンソースだが、元はSun Microsystems社の商用製品（Access Manager）

 弊社で製品パッケージを提供●●

SAMLを扱えるオープンソースのソフトウェア➢Shibboleth1.3以前のバージョンがSAML1.1を実装➢Shibboleth2.0よりSAML2.0を実装

学認フェデレーションでの主な認証ミドルウェアとして使用
Copyright © 2012 Open Source Solution Technology, Corp.

14

OpenAMとは？

Copyright © 2012 Open Source Solution Technology, Corp.

15

OpenAMとは
 Webアプリケーションにおけるシングルサインオンを実現するためのプラットフォームとなるソフトウェア➢

SAMLよるシングルサインオン➢

エージェント方式によるシングルサインオン➢

リバースプロキシ方式によるシングルサインオン

 SAML、OpenID、OAuth、ID-WSFなどの認証・認可に関連した複数のプロトコルをサポート
 FedletやPolicy AgentなどのアプリケーションにOpenAMによる認証/認可を実現する仕組みを用意
 GUIによる管理が可能

Copyright © 2012 Open Source Solution Technology, Corp.

16

シングルサインオンの方式（1）
SAML
Identity Provider (IdP)
OpenAM（認証サーバー）
・認証基盤
・ID管理
Service Provider (SP)（１）ログインアサーション（認証情報）

ユーザー（２）サービスへアクセス（ログイン操作なし）

SAML

Web
Application

WebアプリがSAMLに対応している必要がある【SAML】
認証連携を行うための標準規格
GoogleやSalesforce等のクラウドサービスで利用※この図は、HTTP Redirect Binding/HTTP POST Binding の場合の例です。
Copyright © 2012 Open Source Solution Technology, Corp.

17

シングルサインオンの方式（2）エージェント方式
OpenAM（認証サーバ）（3）Cookieの正当性を確認（１）ログイン

Cookie

ユーザー

Agent

Webサーバー
ユーザ
情報

Web
Application（2）Webアプリへアクセス

リバースプロキシ方式
リバースプロキシ
HTTPヘッダー

ユーザー（1）ログイン

Web
Application（3）Webアプリへアクセス（2）ユーザー認証

OpenAM（認証サーバ）
Copyright © 2012 Open Source Solution Technology, Corp.

18

OpenAMの機能-データストアと認証方式
認証方式

ワンタイムパスワード
Windows Desktop SSO
クライアント証明書
外部DB
認証連鎖

ログイン

Web
Application

OpenAM

ID
PW

SSO

ログイン

Web
Application

ユーザー
Web
Application

User
DataStoreユーザー データストア（ユーザー情報DB）
Active Directory
OpenLDAPRDB

Copyright © 2012 Open Source Solution Technology, Corp.

19

OpenAMの機能 - 認証方式●●

基本的には OpenAM のユーザーデータストアに保存された ID/パスワードにより認証を行なう
ユーザー認証時に外部のデータベースを参照することも可能（更新できない参照のみのものでも可能）➢●●

LDAP、Active Directory、RADIUS、RDB（JDBC）

よりセキュアな認証方式も使用可能➢

ワンタイムパスワード（電子メールを利用）➢

クライアント証明書による認証➢

Windows Desktop SSO（統合Windows認証）

複数の認証方式を組み合わせて使用可能：認証連鎖
Copyright © 2012 Open Source Solution Technology, Corp.

20

学術認証フェデレーション
学認：GakuNinとは？

Copyright © 2012 Open Source Solution Technology, Corp.

21学認とは学認とは？

参考） 「学術認証フェデレーションシンポジウム」の資料より
https://www.gakunin.jp/docs/open/3

Copyright © 2012 Open Source Solution Technology, Corp.

22

学認の構成参考） 学術認証フェデレーションの資料より
https://www.gakunin.jp/

Copyright © 2012 Open Source Solution Technology, Corp.

23

学認で利用されている技術●●●SAML（Security Assertion Markup Language）➢

認証情報の連携を行うプロトコル➢

学認のSP - IdPのやりとりはSAMLで行うと取り決め

学認に参加し、SPやIdPと連携するためには・・・➢

SAMLを扱える認証基盤の構築が必要➢

ソフトウェアはSAMLを扱えれば何でも良い

しかし、実際はほとんどShibbolethで構築➢学認のシステム運用基準で推奨されている
GakuNin では，フェデレーション内で利用するソフトウェアとして，上記プロトコルの実装例であるShibboleth を利用することが推奨される。
（※上記プロトコルとはSAMLのこと）
学術認証フェデレーションシステム運用基準（Ver 1.2）より引用
https://www.gakunin.jp/docs/files/GakuNin_System_SpecV1.2.pdf➢

学認のWebページにShibbolethの情報があり、構築しやすい
Copyright © 2012 Open Source Solution Technology, Corp.

24

学認(Shibboleth)の動作の仕組み参考） 「学術認証フェデレーションシンポジウム」の資料より
https://www.gakunin.jp/docs/open/3

Copyright © 2012 Open Source Solution Technology, Corp.

25

デモ1
●

学認テストフェデレーションデモ➢

前ページのフローを実際にやってみる。

●

SPへアクセス●

DSへアクセス●

DSにて自身が所属する機関を選択●

IdP(自身の機関)へアクセス●

IdPにて認証●

SPのサービスを扱える

Copyright © 2012 Open Source Solution Technology, Corp.

26

OpenAMとShibbolethの連携

Copyright © 2012 Open Source Solution Technology, Corp.

27

学内の認証をShibbolethで？ (1)●

学認へ参加する場合はShibbolethで構築するのが良い➢➢

Shibbolethが学認推奨のソフトウェアである点
メタデータの取扱いや属性情報の用意等、Shibboleth独自の機能を使った方が運用上において楽な点【例えばOpenAMで学認に参加することを考える】
SAMLでやりとりを行うため、OpenAMと学認との連携は技術的には可能。
しかし、OpenAMで学認との連携するシステムを運用していくためは、Shibbolethの独自機能を補う仕組みを用意する必要がある。

●

Shibbolethによる学内のシングルサインオン➢

学認用に導入したShibboleth IdPを使い、学内のシングルサインオンを実現できないか？（せっかくシングルサインオン製品を導入したのだから）

Copyright © 2012 Open Source Solution Technology, Corp.

28

学内の認証をShibbolethで？ (2)●

学内のアプリケーションをSAML化すればShibbolethでのシングルサインオン環境を実現できる➢●

SAMLに対応していないアプリは改修が必要

他にもこんな懸念も・・・➢➢➢

学認との接続ノウハウの情報はあるが、学内アプリのSSO化の情報が少ない

アプリケーションのSAML化ってどうすれば良いかわからない

アプリケーションの改修にコストがかかる

Shibbolethの標準機能では認証方式はID/Password形式


デスクトップSSO/クライアント証明書等柔軟な認証方式を採用できない

複数の認証方式の組み合わせ認証連鎖を行えない

Shibbolethでは認証のみ提供。認可の提供はない。

Shibbolethは学内アプリケーションのシングルサインオンに
Shibbolethは学内アプリケーションのシングルサインオンに不向き
不向き
Copyright © 2012 Open Source Solution Technology, Corp.

29

学内のシングルサインオンはOpenAM●

学内のシングルサインオンはOpenAMで行うのが良い➢

OpenAMはシングルサインオンの方式としてSAML以外も用意
➢

多様な認証方式を用意
●

様々な方式を用意しアプリの改修なしでシングルサインオンを実現可能
ID/パスワード認証以外に認証方式を標準で備えており、システムのセキュリティや用途にあった認証方式の選択が可能

学内はOpenAM、学認はShibbolethという構成がベスト


学内SSO環境

学認フェデレーション環境

認証

学内アプリ

OpenAM
学認SP
Shibboleth(IdP)
Copyright © 2012 Open Source Solution Technology, Corp.

30

OpenAMとShibbolethの連携●●

OpenAMとShibbolethが別々では、それぞれで認証が必要➢

シングルサインオン製品を活かせていない！
学認フェデレーション環境

学内SSO環境
2回認証をしないといけないのは煩わしい・・・●

そこでOpenAMとShibbolethを連携する➢

Shibboleth IdPの認証をOpenAMで行う


具体的にはShibbolethがOpenAMにRest APIによる認証有無の問い合わせを行い、ユーザーはShibbolethでのログイン操作は行わなくて済む

ユーザーは一度の認証で、学認、学内のアプリケーションが使用可能
ユーザーは一度の認証で、学認、学内のアプリケーションが使用可能
Copyright © 2012 Open Source Solution Technology, Corp.

31

OpenAMとShibbolethの構成
学認：NII
ShibbolethSPSAMLOpenAM
IdP
OpenAM
リバプロ

認証連携

ヘッダー認証または代理認証

OpenAMSP
SAMLに対応できない
既存アプリ

Shibboleth IdPはOpenAMと連携し、OpenAMでログイン完了するとShibbolethのログインも完了

Shibboleth
IdP
SAML

Shibboleth
SP

OpenAMとShibbolethの構成
学認：NII
Shibboleth
SP●

OpenAM

SAML

(1)
(6)

OpenAM
リバプロ

REST

Shibboleth
IdP

(7)

学内アプリ

ヘッダー認証または代理認証

(4)

(3)

SAML

(2)
(5)
Shibboleth
SP

すでにOpenAMのログインが完了している場合(3) - (5)は行われないデモ2●

OpenAMとShibbolethの連携➢

学認テストフェデレーションをOpenAMで認証➢

前ページのフローを実際にやってみる。

➢

デモ1と異なり、DSにてIdP選択後OpenAMの認証画面表示



OpenAM認証完了すると学認SPが利用可能

学内のアプリケーション
OpenAMで学内アプリのシングルサインオンを実現

Copyright © 2012 Open Source Solution Technology, Corp.

34

まとめCopyright © 2012 Open Source Solution Technology, Corp.

35

これからのSSO - 混在する複数のSSO環境
Shibboleth IdP で SSO を実現(Shibboleth は SAML を利用しているが、仕様上 OpenAM では代替不可能)

SAML IdP を導入してSSO を実現

Google Apps

SAML

Shibboleth
SPSAML
Shibboleth
IdP

Salesforce

クラウドSSOセグメント

学認（Shibboleth）
SSOセグメント

リバースプロキシ/
エージェント
大幅な改修はしたくな
いため、エージェント型/リバースプロキシ型でSSO を実現

学内SSOセグメント
Copyright © 2012 Open Source Solution Technology, Corp.

36

これからのSSO - 混在する複数のSSO環境●●

今後は複数のシングルサインオン環境（仮に”シングルサインオンセグメント”と表現）が混在するようなシステムの需要が予想される発生する課題➢➢

1つのシングルサインオンソフトウェアでは全てのアプリケーションの認証を行えない場合がある
同じプロトコル（SAMLなど）を実装しているソフトウェアでも、代替不可能な場合がある
●

例：Shibboleth（学認）は SAML を実装しているが、Shibboleth は独自の仕組みも実装しているため、他の SAML を実装したソフトウェアでは代替が困難

シングルサインオンセグメントを統合管理する必要がある➢

複数のインタフェースを装備し、プロトコルや仕様の違いを吸収できる柔軟なシングルサインオンソフトウェアが必要

OpenAM
OpenAM なら実現可能！
なら実現可能！
Copyright © 2012 Open Source Solution Technology, Corp.

37

OpenAMで実現するシングルサインオン・ハブ
Google Apps
Salesforce

SA
M

クラウドSSOセグメント

STE
R I
APL

OpenAM（認証サーバー）

Shibboleth
IdP

Shibboleth
SP

学認（Shibboleth）
SSOセグメント

リバース
プロキシ/エージェント

社内SSOセグメント

SSO
SSO セグメントを結合するセグメントを結合するハブハブとして OpenAM
OpenAM を利用。
を利用。
ユーザーはユーザーは OpenAM
OpenAM へのログインさえ完了していれば、へのログインさえ完了していれば、全てのアプリに全てのアプリに SSO
SSO 可能可能
Copyright © 2012 Open Source Solution Technology, Corp.

38

事例紹介

Copyright © 2012 Open Source Solution Technology, Corp.

39

導入事例
● 福岡大学様認証基盤システム
規模

9つの学部、2つの病院、22の付置施設で構成される総合大学
学生数 約21,000人
教職員数 約3,000人
ミッション

高い拡張性と柔軟性を持つ先進的SSO基盤の構築

日立製作所 とオープンソース・ソリューション・テクノロジで実現➢OpenAMとShibbolethによるハイブリッド型SSO基盤
システムのシングルサインオンを実現する認証基盤をOpenAMとShibbolethを使って実現● 様々なアプリケーションとのシングルサインオンを実現する基盤● ユーザーは1度の認証で学認と学内のアプリケーションを利用可能●

Copyright © 2012 Open Source Solution Technology, Corp.

40

システム構成
学認

Shibboleth SP

Shibboleth SP

Shibboleth DS

SAMLSAML

ユーザー
Apache Agent(リバースプロキシ)

学内アプリ

認証HTTPHeader
アクセス制御ポリシー

学内SSO

ID/PWSAML

ワンタイムパスワードSAML
認証

認証連携
OpenAM(学内認証サーバー)

Shibboleth IdP(Shibboleth認証サーバー)

OpenLDAP(LDAPサーバー)

Shibboleth SSO

Copyright © 2012 Open Source Solution Technology, Corp.

41

特徴
●

OpenAMとShibbolethを連携したシステムを構築➢

学認とはShibbolethで認証連携➢

学内ではOpenAMに認証を集約
アクセス条件によってワンタイムパスワードの認証求める、Shibbolethだけでは実現できないセキュアなシステム構成を実現➢学認と学内のSSOを実現●

ユーザーが1度の認証で学内、学認のシステムを使用可能な構成を実現

フルオープンソース で SSO 基盤を構築➢学内認証サーバー：OpenAM➢

Shibbolethサーバー：Shibboleth-IdP➢

LDAPサーバー：OpenLDAP➢

リバースプロキシサーバー：Apache + OpenAM Policy Agent
Copyright © 2012 Open Source Solution Technology, Corp.

42

オープンソース・ソリューション・テクノロジ株式会社
http://www.osstech.co.jp/
Copyright © 2012 Open Source Solution Technology, Corp.

43