OpenAMによる最新認証連携～Office365、Googleとの連携～
株式会社野村総合研究所
IT基盤イノベーション事業本部
オープンソースソリューション推進室
和田 広之

株式会社 野村総合研究所 情報技術本部 オープンソースソリューション推進室
Mail ： ossc@nri.co.jp

Web： http://openstandia.jp/

アジェンダ

1. Office 365との認証連携
2. Googleとの認証連携(OpenID Connect)

1

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

はじめに

2

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

自己紹介

所属部署
オープンソースソリューション推進室
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の機能拡張、バグ修正等を実施しています3

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

Office 365との認証連携

4

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

Office 365との認証連携

企業内だけのSSOから、SaaSも含めたSSOが昨今求められている
その中でも、Office 365(o365)と認証連携したいニーズが高まってる
従来は、Microsoft製品(AD・ADFS)との組み合わせが必要であったが、o365もSAML2.0に対応し、単独で認証連携が可能に

今後活用事例が増えそうなo365との認証連携をデモを交えて紹介
5

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

Office 365との認証連携

1. Office 365とは
2. 従来の連携方式
3. 新しい連携方式
4. 連携設定のポイント
5. 動作デモ
6. まとめ6

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

o365とはMicrosoftが提供する統合的なクラウドサービス
メールサービスのExchange Online
ナレッジ共有のSharePoint Online
オンライン会議のLync Online
Office 365 ProPlus

7(出所) http://www.microsoft.com/ja-jp/office/365/about/default.aspx/
NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

o365とは8

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

Office 365との認証連携

1. Office 365とは
2. 従来の連携方式
3. 新しい連携方式
4. 連携設定のポイント
5. 動作デモ
6. まとめ9

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

従来の連携方式

社内にADがある場合社内にADがない場合

10

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

従来の連携方式

社内にADがある場合
ADFS(Active Directoryフェデレーションサービス)をo365連携に利用
OpenAMはADを認証先としてデスクトップSSOを行う
Outlookなどのメールクライアントを利用する場合はADFS Proxyが必要
DMZ

ADFS Proxy

社内ネットワーク

認証

AD
11・・・

認証

ADFS 社内システム(出所)http://www.microsoft.com/ja-jp/office/365/about/default.aspx/
NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

従来の連携方式

社内にADがない場合
認証DBにOpenLDAPやOpenDJなどのLDAP、MySQLなどのRDBを使用しているケース
OpenAMではオフィシャルには認証連携できず(o365 は正式にはSAML2.0に対応せず)

直接連携
できず
社内ネットワーク・・・

LDAPなど12

社内システム(出所)http://www.microsoft.com/ja-jp/office/365/about/default.aspx/
NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

Office 365との認証連携

1. Office 365とは
2. 従来の連携方式
3. 新しい連携方式
4. 連携設定のポイント
5. 動作デモ
6. まとめ13

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

新しい連携方式

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

14

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

新しい連携方式 - o365 のSAML2.0対応

o365ではAzure ADがアカウント管理・認証に使われている
Azure ADがSPとなり、OpenAM(IdP)と認証連携(フェデレーション)を行う

ここにOpenAMを使用することが正式に可能に

15(出所) http://community.office365.com/ja-jp/b/office_365_community_blog/archive/2014/03/07/office-365-saml-2-0.aspx
NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

新しい連携方式

ForgeRock社も9月にo365連携の設定方法を公開
https://wikis.forgerock.org/confluence/display/openam/Micr
osoft+Office+365+Integration

構成例
DMZ

SAML ECP利用時に必要(後述)

Reverse Proxy

社内ネットワーク・・・

LDAPなど16

社内システム(出所)http://www.microsoft.com/ja-jp/office/365/about/default.aspx/
NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

注意点：SAML 2.0による連携時の制約

Office デスクトップアプリケーションは対象外
Lync デスクトップ クライアントの使用
ただし、2014年後半にSAML 2.0にも対応予定との話もある

メールクライアントを利用する場合はSAML ECPへの対応が必要
Outlook デスクトップ クライアントの使用
モバイル クライアントから Exchange Online への接続
※ECPについては次のスライドで補足

17

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

SAML ECP(Enhanced Client or Proxy)とは大まかに言うとブラウザ以外(リダイレクトに対応していない)のクライ
アントをSAMLで認証するための仕様
o365の場合、Outlookなどのメールクライアントが対象
o365を経由してOpenAMにSOAPで認証要求が渡ってくる
DMZ

Reverse Proxy

社内ネットワーク・・・

LDAPなど18

社内システム(出所)http://www.microsoft.com/ja-jp/office/365/about/default.aspx/
NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

ADFS Proxyを使用した場合と同じ動き

SAML ECPの注意点

OpenAMに対してインターネットからアクセス許可が必要
何も考えないで構築すると、社外からのo365アクセスでメールが使えてしまうので注意
社外からの利用を禁止する場合は、アクセス元のIPアドレスにてアクセス制限を適切に行う必要がある

SSL証明書が必要
o365からのアクセスはSSLが必須
アクセス元はMSなので、MSが対応している認証局が発行した物が必要

OpenAMではECPに対応しているが、現状そのままでは動作しない
ECPのモジュール拡張が必要(BASIC認証でアクセス許可するように)

ECPに対応しない場合は、メール機能はWebメール(OWA:Outlook Web App)の利用に限定させる必要あり
19

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

o365のSAMLメッセージの要件

HTTPSが必須
サポート対象のバインディング方式
ログインはHTTP POST、ログアウトはREDIRECT

必須属性
NameID: o365ユーザのImmutableIDと同じ値
IDPEmail: o365ユーザのUserPrincipalName(UPN)と同じ値
Issuer: IdPのURIで、o365に設定された物と同じ値

NameIDフォーマットURI
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent※http://technet.microsoft.com/ja-jp/library/dn641269.aspx に詳細は記載

アカウント紐づけ情報をOpenAM側で永続化する必要あり
20

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

SAML利用時のアカウントの紐づけ

LDAPなどAccountLinking

uid: demo1
sn: 野村givenName: 太郎
mail: demo1@openamdemo.mydns.jp
sun-fm-saml2-nameid-info: https://sso.opena
mdemo.mydns.jp:443/openam|urn:federation:M

UserPrincipalName: demo1@open

amdemo.mydns.jp
ImmutableID: demo1

icrosoftOnline|demo1|https://sso.openamdem
SAML レスポンス
o.mydns.jp:443/openam|urn:oasis:names:tc:SA
ML:2.0:nameid-format:persistent|null|urn:federa<samlp:response ・・・>
tion:MicrosoftOnline|IDPRole|false
・・・
・・・<saml:subject>

LastName: 野村FirstName: 太郎
UsageLocation: JP・・・<saml:nameid ・・・>demo1</saml:nameid><saml:subject>・・・<saml:attributestatement><saml:attribute name="IDPEmail"><saml:attributevalue ・・・>

demo1@openamdemo.mydns.jp</saml:attributevalue></saml:attribute></saml:attributestatement></saml:assertion></samlp:response>
21(出所)http://www.microsoft.com/ja-jp/office/365/about/default.aspx/
NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

Office 365との認証連携

1. Office 365とは
2. 従来の連携方式
3. 新しい連携方式
4. 連携設定のポイント
5. 動作デモ
6. まとめ22

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

OpenAM - o365 連携設定のポイント

OpenAMの設定
o365の設定

OpenAMの設定

o365の設定

DMZ

Reverse Proxy

社内ネットワーク・・・

LDAPなど23

社内システム(出所)http://www.microsoft.com/ja-jp/office/365/about/default.aspx/
NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

OpenAMの設定

IDPの作成(CoTの作成)
リモートSPの登録(o365のメタデータのインポート)
属性マッピング設定
IDPメタデータのエクスポート
接続テスト用ユーザの登録

24

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

IDPの作成(CoTの作成)

管理画面から設定ウィザードを開き作成

25

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

リモートSPの登録(o365のメタデータのインポート)

o365のメタデータを下記URLから取得
https://nexus.microsoftonline-p.com/federationmetadata/sa
ml20/federationmetadata.xml

取得したXMLから、<signature>...</signature>を削除してからOpenAMにインポート

26

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

属性マッピング設定

SAMLレスポンスのIDPEmail属性にメールアドレスを設定するようにマッピング定義を行う「IDPEmail=mail」をSP側の属性マッパーに設定しておく

27

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

IDPメタデータのエクスポート

OpenAMのメタデータ出力URLにアクセスし保存例)
https://sso.openamdemo.mydns.jp/openam/saml2/jsp/e
xportmetadata.jsp?realm=/&entityid=https://sso.openam
demo.mydns.jp:443/openam
青字の部分をo365側の設定時に利用する<?xml version="1.0" encoding="UTF-8" standalone="yes"?><EntityDescriptor entityID="https://sso.openamdemo.mydns.jp:443/openam" xmlns="urn:oasis:names:tc:SAML:2.0:metadata"><IDPSSODescriptor WantAuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"><KeyDescriptor use="signing"><ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:X509Data><ds:X509Certificate>
MIICQDCCAa ・・・ ==</ds:X509Certificate></ds:X509Data></ds:KeyInfo></KeyDescriptor>
・・・<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
Location="https://sso.openamdemo.mydns.jp:443/openam/IDPSloRedirect/metaAlias/idp"
ResponseLocation="https://sso.openamdemo.mydns.jp:443/openam/IDPSloRedirect/metaAlias/idp"/>
・・・<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="https://sso.openamdemo.mydns.jp:443/openam/SSOPOST/metaAlias/idp"/><SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
Location="https://sso.openamdemo.mydns.jp:443/openam/SSOSoap/metaAlias/idp"/>
・・・</IDPSSODescriptor></EntityDescriptor>
28

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.接続テスト用ユーザの作成(OpenAM)

o365側のアカウントとの紐づけのため、下記情報を追加
設定
o365側のUserPrincipalNameと同じ値(メールアドレス)をmail属性にo365側のImmutableIDと同じ値(デモではuidの値を利用)をsun-fmsaml2-nameid-infoに登録
uid: demo1
sn: 野村givenName: 太郎
mail: demo1@openamdemo.mydns.jp
sun-fm-saml2-nameid-info: https://sso.openamdemo.myd
ns.jp:443/openam|urn:federation:MicrosoftOnline|demo1|htt
ps://sso.openamdemo.mydns.jp:443/openam|urn:oasis:nam
es:tc:SAML:2.0:nameid-format:persistent|null|urn:federatio
n:MicrosoftOnline|IDPRole|false
・・・
29

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

o365側の設定

ドメインの追加
フェデレーションドメインの設定
テスト用のユーザ追加

30

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

ドメインの追加

デフォルトのドメインではフェデレーションの設定ができない
ため、o365に独自ドメインを追加する所有しているドメインが必要
ドメインの所有権確認用に、DNSサーバに対してTXTまたはMXレコードの設定が必要
デモではフリーのDDNSサービスであるmydns.jpで取得したドメインを利用

31

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

フェデレーションドメインの設定

PowerShellで設定
Azure AD Module のインストールも必要
Connect-MsolService で接続(ログイン)
Set-MsolDomainAuthentication で追加したドメインをフェデレーション用に設定する

32

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

フェデレーションドメインの設定
設定値にOpenAMのメタデータに記載の値を指定
ECPの設定は、HTTPSでないとエラーになるので注意ECPを使用しない場合は、-ActiveLogOnUriの設定なしでコマンドを実行す
ればOK$dom = "openamdemo.mydns.jp"$url = "https://sso.openamdemo.mydns.jp/openam/SSOPOST/metaAlias/idp"$ecp="https://sso.openamdemo.mydns.jp/openam/SSOSoap/metaAlias/idp"$entity = "https://sso.openamdemo.mydns.jp:443/openam"$logout = "https://sso.openamdemo.mydns.jp/openam/IDPSloRedirect/metaAlias/idp"$cert = "MIIC…0Q=="
Set-MsolDomainAuthentication -DomainName $dom `-FederationBrandName $dom `-Authentication Federated `-PassiveLogOnUri $url `-SigningCertificate $cert `-IssuerUri $entity `-ActiveLogOnUri $ecp `-LogOffUri $logout `-PreferredAuthenticationProtocol SAMLP

33

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

OpenAMのメタデー
タXMLから該当箇所をコピー

接続テスト用ユーザの作成(o365)

PowerShellの下記コマンドでテスト用ユーザを作成
この時指定するUserPrincipalNameとImmutableIdが重要
OpenAM側のユーザとの紐づけに使用される
new-msoluser `-DisplayName "野村 太郎" `-UserPrincipalName demo1@openamdemo.mydns.jp `-UsageLocation JP `-ImmutableId demo1

作成ユーザにライセンス付与

34

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

Office 365との認証連携

1. Office 365とは
2. 従来の連携方式
3. 新しい連携方式
4. 連携設定のポイント
5. 動作デモ
6. まとめ35

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

動作デモ

構成
AWSを利用しインターネット上に構築
認証・データストアにはOpenAMに付属の組込OpenDJを利用
SSO保護対象アプリケーションとしてWordPressを構築
AWS

Open
AM

WordPress

My
SQL

Docker36

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

動作デモ

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)にアクセス

37

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

動作デモ

SP起点の場合、ログインIDの入力が必要
共通ログイン画面にてログインIDの入力が求められる
Office 365は入力されたログインIDのドメイン名をもとに、IdPへのリダイレク
トを行う仕様ポータルサイトなどにIdP起点のURLリンクをつけるなどの対応が必要

38

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

Office 365との認証連携

1. Office 365とは
2. 従来の連携方式
3. 新しい連携方式
4. 連携設定のポイント
5. 動作デモ
6. まとめ39

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

まとめ

AD・ADFSがない環境でもOpenAMとo365の認証連携が可能に
ただし機能制限は現状あるので注意(今後解消される見込みはあり)

o365との認証連携設定には独自ドメインの取得が必要
実運用を考慮すると、o365(Azure AD)/OpenAMユーザの自動プロビジョニングが必要
MSのo365用のID同期のツールもあるが制限がある(ADが必要、FIMが必要など)
Azure AD Graph API(REST API)が使用できるため、自前でID連携のコードを書くことも可能(OpenAMもREST APIがあります)
運用負荷や内部統制、その他の認証連携先へのプロビジョニングも考慮す
ると、OpenIDM等の専用のID管理ツールの導入も合わせて検討すべき

40

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

Googleとの認証連携（OpenID Connect）

41

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

Googleとの認証連携

自社サービスをSaaSとして公開する際に、Googleなどの外部IDと認証連携しシングルサインオンする企業も増えてきている
OpenAMはバージョン10からOAuth2連携に対応
バージョン12ではOpenID Connect(OIDC)による認証連携にも対応
加えて、OAuth2/OIDCの簡単設定機能が追加

Googleを例にOIDCによる連携設定をデモを交えて紹介
42

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

連携方式

OIDC Basic Clientで認証連携
Google

ログイン認証連携

SaaS事業者

利用

OIDC Basic
Client(Authorization Code Flow)による直接通信公開サービス(SSO保護対象)
43(出所)http://www.microsoft.com/ja-jp/office/365/about/default.aspx/
NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

設定の流れGoogle側の設定
Google+ APIの有効化
認証情報の作成

OpenAM側の設定
Googleとの接続情報をウィザードで設定

44

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

Google＋ APIの有効化

Google Developers Console から Google+ APIを有効化する

45

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

認証情報の作成

プロジェクト > APIと認証 > 認証情報 > OAuthから作成する
APIと認証 > 同意画面 にてメールアドレスの選択を忘れないように

46

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

OpenAM側の設定

Googleとの認証連携を行うウィザードを起動

47

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

OpenAM側の設定

Googleとの接続情報を設定
Client ID
Client SecretRedirect URL

48

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

動作デモ

OIDCによる認証連携設定
Googleアカウントでログイン＆JITプロビジョニング

49

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

まとめ

OpenAM12からOIDCによる認証連携も可能に
ウィザード機能で初期設定も簡単に！

50

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.本日のまとめ

OpenAMの最新認証連携として以下を紹介
Office 365との認証連携
Google との認証連携

社内の認証基盤、自社サービスの認証
基盤 の両方に対応可能

51

NRIオープンソースソリューション推進室 Copyright©2014 Nomura Research Institute, Ltd. All rights reserved.

ＯｐｅｎＳｔａｎｄｉａは、「攻めのＩＴ」を支援します。
オープンソースのことなら、なんでもご相談ください！

お問い合わせは、NRIオープンソースソリューション推進室へ
ossc@nri.co.jp

http://openstandia.jp/

本資料に掲載されている会社名、製品名、サービス名は各社の登録 商標、又は商標です。
52

NRIオープンソースソリューション推進室Copyright©2014
ResearchInstitute,Allreserved.
rights reserved.
NRIオープンソースソリューション推進室
Copyright©2014
NomuraNomura
ResearchInstitute,Ltd. AllLtd.
rights