オープンソース最前線ここまでできる 認証連携と ID 管理 株式会社野村総合研究所 IT 基盤イノベーション事業本部オープンソースソリューション推進室和田広之 OpenStandia 2006 2011 5 1,000 株式会社野村総合研究所情報技術本部オープンソースソリューション推進室 Mail : ossc@nri.co.jp Web: http://openstandia.jp/
はじめに 1
自己紹介 所属部署 オープンソースソリューション推進室 OSSを使ったシステム構築から運用までワンストップでサポート対象 OSSは50 種類以上 OpenStandiaの紹介 URL ( http://openstandia.jp/ ) 私の担当 OSS をベースとしたソリューション開発を担当 OpenStandia/SSO&IDM V2 を 11/5 リリース ( http://www.nri.com/jp/news/2014/141105.html ) OpenAM OpenIDM の機能拡張 バグ修正等を実施しています 2
参考 OpenStandia のサポート対象 OSS 約 50 種類のオープンソースを ワンストップでサポート 機能 オープンソース 機能 オープンソース OS CentOS RedHat Enterprise Linux ディレクトリサーバ OpenLDAP OpenDJ データベース言語 Webサーバプロキシサーバ APサーバフレームワーク ORマッピングログ管理 MySQL MySQL Cluster PostgreSQL MongoDB Ruby Apache HTTP Server Nginx Squid Apache Tomcat JBoss AS JBoss EAP JBoss EWS JBoss EWP Apache Struts Spring Framework Ruby on Rails Hibernate MyBatis(iBATIS) Apache log4j メールサーバ POP3/IMAP バージョン管理全文検索エンジンクラスタリングシングルサインオン ID 管理運用監視 BI レポート作成ポータル 文書管理 Postfix sendmail Mailman Dovecot Courier-IMAP qpopper Apache Subversion Apache Solr Apache ManifoldCF Heartbeat Pacemaker DRBD OpenAM LISM OpenIDM Zabbix Jaspersoft Pentaho Liferay Alfresco Moodle SOAP Apache Axis2 業務システム ADempiere idempiere MosP ルールエンジン JBoss BRMS インフラ Docker SOA JBoss SOA Java ライブラリ Jackson DNS BIND ファイルサーバ Samba 3
ForgeRock 社との提携 2014 年 7 月 30 日 当社は ForgeRock 社と日本国内における唯一の販売パートナーになりました
アジェンダ 1. OpenAMとは 2. Office 365との認証連携 3. デモ 4. まとめ 5
OpenAM とは 6
OpenAM の概要 SSO を実現するための OSS 旧 Sun Microsystems 社の商用製品 (OpenSSO) がベースであるため高品質かつ多機能 ForgeRock 社が OpenAM としてフォークし継続開発中 CDDL(Common Development and Distribution License) ライセンスで ソースコードを無償で使用 改変 再配布可能 最新の安定バージョン ( コミュニティ版 ) は 11.0.0 近々 12.0.0 がリリース予定 7
Identity Data Portals, applications, web services, API s Access Management Identity Administration 参考 ForgeRock プロダクトラインナップ CloudCONNECT Provisioning SSO 今日お話しするのはココ Registration & Self-Service Auditing & Compliance Workflow & Reporting Native connectors REST API Identity Connector Framework ICF Enterprise Apps Cloud Apps Authentication & session Authorization & policy Entitlements Federation REST API Reverse Proxy App / Mobile Gateway Legacy Apps Consumers & Customers Federation Partners Devices & Things Identity Store Directory Proxy REST API HA Replication Data Centers 8
SSO 方式 OpenAM の代表的な SSO 方式 SSO 方式 エージェント方式 リバースプロキシ方式 代理認証方式 説明 アプリケーションが動作するサーバに直接エージェントを導入する方式 リバースプロキシサーバ ( 通常は Apache) にエージェントを導入し バックエンドにいる複数のアプリケーションサーバに対してリバースプロキシする方式 代理認証とは ユーザからのログインリクエストをエミュレートし 認証を代行すること OpenIG と連携することで 代理認証が可能となる 連携先システムで HTTP ヘッダから認証情報を取得するカスタマイズが出来ない際に採用する方式 SAML SAML とは認証情報を表現するための XML 仕様 Salesforce GoogleApps Office365 などと SSO する際に採用する方式 OpenID Connect OAuth2.0 をベースとするシンプルな新しい ID 連携プロトコル OpenAM11.0 から利用可能 主にクラウドサービスとの SSO 方式として今後の主流になると思われる 9
Office 365 との認証連携 10
o365 とは Microsoft が提供する統合的なクラウドサービス メールサービスのExchange Online ナレッジ共有のSharePoint Online オンライン会議のLync Online Office 365 ProPlus 11 ( 出所 ) http://www.microsoft.com/ja-jp/office/365/about/default.aspx/
o365 とは 12
従来の連携方式 社内に AD がある場合 ADFS(Active Directoryフェデレーションサービス ) をo365 連携に利用 OpenAMはADを認証先としてデスクトップSSOを行う Outlookなどのメールクライアントを利用する場合はADFS Proxyが必要 DMZ ADFS Proxy 社内ネットワーク 認証 認証 13 AD ADFS 社内システム ( 出所 )http://www.microsoft.com/ja-jp/office/365/about/default.aspx/
従来の連携方式 社内に AD がない場合 認証 DB に OpenLDAP や OpenDJ などの LDAP MySQL などの RDB を使用しているケース OpenAM ではオフィシャルには認証連携できず (o365 は正式には SAML2.0 に対応せず ) 直接連携できず 社内ネットワーク 14 LDAPなど社内システム ( 出所 )http://www.microsoft.com/ja-jp/office/365/about/default.aspx/
新しい連携方式 2014/03/06 に 正式に SAML2.0 の対応が Microsoft よりアナウンスされた マイクロソフトは Office 365 ユーザーを対象に Security Assertion Markup Language (SAML) 2.0 によるフェデレーションをサポートすることを発表しました これは Active Directory 以外のオンプレミスの ID プロバイダーを利用している Office 365 ユーザーに向けた新機能の 1 つで 他の機能と併せて Web ベースの Office アプリケーションで アカウントの同期 サインインのフェデレーション およびシングルサインオンを可能にするパッシブ認証の利用範囲の拡大を実現します ( 出所 ) http://community.office365.com/ja-jp/b/office_365_community_blog/archive/2014/03/0 7/office-365-saml-2-0.aspx 15
新しい連携方式 ForgeRock 社も 9 月に o365 連携の設定方法を公開 https://wikis.forgerock.org/confluence/display/openam/microsoft+office+3 65+Integration 構成例 DMZ SAML ECP 利用時に必要 Reverse Proxy 社内ネットワーク 16 LDAPなど社内システム ( 出所 )http://www.microsoft.com/ja-jp/office/365/about/default.aspx/
注意点 :SAML 2.0 による連携時の制約 Office デスクトップアプリケーションは対象外 Lync デスクトップクライアントの使用 ただし今年後半に SAML 2.0 に対応予定 ( もうリリースされているかも?) メールクライアントを利用する場合は SAML ECP への対応が必要 Outlook デスクトップクライアントの使用 モバイルクライアントから Exchange Online への接続 OpenAM では ECP に対応しているが 現状そのままでは動作しない ECP のモジュール拡張が必要 (BASIC 認証でアクセス許可するように ) ECP に対応しない場合は メール機能は Web メール (OWA:Outlook Web App) の利用に限定させる必要あり 17
デモ 18
デモ 構成 AWSを利用しインターネット上に構築認証 データストアにはOpenAMに付属の組込 OpenDJを利用 SSO 保護対象アプリケーションとしてWordPressを構築 OpenAM/o365はそれぞれ認証連携設定済み認証連携用のアカウント登録は手動で実施済み AWS Open AM Word Press Docker My SQL 19
デモ SP 起点でログイン ユーザは SP(o365) にまずアクセス https://login.microsoftonline.com/login.srf IdP(OpenAM) で認証 SP(o365) にアクセス IdP 起点でログイン ユーザは IdP(OpenAM) にまずアクセス https://sso.openamdemo.mydns.jp/openam/saml2/jsp/idpss OInit.jsp?metaAlias=/idp&spEntityID=urn:federation:Microsoft Online&NameIDFormat=urn:oasis:names:tc:SAML:2.0:nameid -format:persistent IdP(OpenAM) で認証 SP(o365) にアクセス 20
デモ SP 起点の場合 ログイン ID の入力が必要 共通ログイン画面にてログイン ID の入力が求められる Office 365 は入力されたログイン ID のドメイン名をもとに IdP へのリダイレクトを行う仕様 ポータルサイトなどに IdP 起点の URL リンクをつけるなどの対応が必要 21
まとめ OpenAM で社内システムとクラウドサービスをまとめて SSO 可能 AD ADFS がない環境でも o365 との認証連携が可能 ただし機能制限は現状あるので注意 ( 今後解消される見込みあり ) 実運用を考慮すると o365(azure AD)/OpenAM ユーザの自動プロビジョニングが必要 MS の o365 用の ID 同期のツールもあるが制限がある (AD が必要 FIM が必要など ) Azure AD Graph API(REST API) が使用できるため 自前で ID 連携のコードを書くことも可能 (OpenAM も REST API があります ) 運用負荷や内部統制 その他の認証連携先へのプロビジョニングも考慮すると OpenIDM 等の専用の ID 管理ツールの導入も合わせて検討すべき 22
OpenStandia は 攻めの IT を支援します オープンソースのことなら なんでもご相談ください! お問い合わせは NRI オープンソースソリューション推進室へ ossc@nri.co.jp http://openstandia.jp/ 23 本資料に掲載されている会社名 製品名 サービス名は各社の登録商標 又は商標です NRIオープンソースソリューション推進室 NRIオープンソースソリューション推進室 Copyright 2014 Copyright 2014 Nomura Nomura Research Research Institute, Institute, Ltd. All Ltd. rights All reserved. rights reserved.