ADFS Proxy(Web Application Proxy)を使⽤した IBM Domino … ·...
Transcript of ADFS Proxy(Web Application Proxy)を使⽤した IBM Domino … ·...
© 2017 IBM Corporation
2017年1⽉版
ADFS Proxy(Web Application Proxy)を使⽤したIBM Domino SAML構成ガイド
1
© 2017 IBM Corporation
特記事項
2
© IBM Corporation 2017. All Rights Reserved.
この資料に含まれる情報は可能な限り正確を期しておりますが、日本アイ・ビー・エムシステムズ・エンジニアリング株式会社の正式なレビューを受けておらず、当資料に記載された内容に関して日本アイ・ビー・エムシステムズ・エンジニアリング株式会社は何ら保証するものではありません。
従って、この情報の利用はひとえに使用者の責任において為されるものであり、資料の内容によって受けたいかなる被害に関しても一切の保証をするものではありません。当資料をコピー等で複製することは、日本アイ・ビー・エムシステムズ・エンジニアリング株式会社、および執筆者の承諾なしではできません。また、当資料に記載された製品名または会社名はそれぞれの各社の商標または登録商標です。
当資料は2017年1月4日時点での情報となります。今後のFeature Packの適用により、動作が当資料に記述された内容とは異なってくる可能性がありますのでご了承下さい。
© 2017 IBM Corporation
⽬次1. はじめに2. SAMLの基礎知識3. 当資料で導⼊するサーバー⼀覧4. 当資料での構成5. ⼿順概要6. ADFS構築7. 社内⽤Domino設定8. ADFS側設定(社内Domino⽤)9. IdP, SP間のユーザー情報連携10. 社内ユーザーのSAML認証の動き11. 社外⽤Domino設定12. ADFS側設定(社外Domino⽤)13. 社外ユーザーのSAML認証の動き14. その他Hint & Tips
3
© 2017 IBM Corporation
1.はじめに
§ 概要
–当資料では、Windows Server 2012 R2のMicrosoft Active Directory Federation Services (ADFS)3.0とADFS Proxy(※)の機能を利用した、IBM DominoのSAML構成について記載しています。ADFS Proxyを利用することで、社外からDominoに対するアクセスでもSAMLによるSSOが可能となります。
• (※)ADFS Proxyについて、Windows Server 2012 R2 から「Web Appliction Proxy(WAP)」という名称に変更されています。(資料内では、分かりやすくするため「ADFS Proxy」と記載します)
– Dominoに関連する作業およびDomino側に必要な設定について記載しており、 Active Directory Certificate Services (ADCS)、ADFS、ADFS Proxyについては、既に構築されているものとし、当ガイドでの対象範囲外とします。
–利用されるクライアントは、PCブラウザーからのiNotesアクセスを想定しています。
§ 前提スキル
– WindowsおよびDominoの管理者としての基本的なスキルを有していることが前提です。
4
© 2017 IBM Corporation
2. SAMLの基礎知識(1/2)§ SAMLの概要
– SAML(Security Assertion Markup Language)• XMLベースでセキュリティに関するアサーション(証明書のようなもの)を連携する標準規格
• アサーションを他のWebサイトで利用することでシングルサインオンが可能• cookieではないのでインターネットドメインが異なっていても使用できる
§ IdPとSP– IdP(Identity Provider)
• ユーザー認証を行ないアサーションを発行する• この資料では ADFSが該当
– SP(Service Provider)• アサーションを受け取ってサービスを提供する• この資料では IBM Domino 9.0.xが該当
SP(アプリケーション
サーバー)
IdP(認証サーバー)
アサーション
5
© 2017 IBM Corporation
2. SAMLの基礎知識(2/2)§ SAMLの認証フロー(※SP Initiatedの例)
–ユーザーはIdPとSPに直接アクセスする– IdPとSPは直接通信しない
ユーザー IdP SP(1)リクエスト
(2) IdPへリダイレクト
(3)認証情報入力要求
(4)認証要求
ユーザー認証
(5)アサーションを送付
(6)アサーションをPOST
アサーション署名の検証
(7)サービスへリダイレクト
(8)サービスの利用開始
※ SPからIdPに⾃動でリダイレクトする
Identity Providerユーザーを認証しアサーションを発⾏する
Service Providerアサーションを受領し、サービスを提供する
6
© 2017 IBM Corporation
§ サーバー構成
– 4台で構成されるシステムです。• Windows Server 2012 R2環境のADFS 3.0を使用• 社内ネットワークからアクセスする社内用Dominoサーバーと、社外からアクセスする社外用Dominoサーバーは別々に構築
• IdPであるADFS、ADFS Proxyと、SPである社内用/社外用Dominoサーバーは、別インターネットドメインで構成
3. 当資料で導入するサーバー一覧
種別 ホスト名 役割 OS
IdP adfstest.ibmdemo.tokyo Active DirectoryActive Directory Certificate Services Active Directory Federation Service 3.0
Windows Server 2012 R2
IdP adfspxtest.ibmdemo.tokyo ADFS Proxy
SP vmx-007-002.vmware.cloud.ise.com
社内用Dominoサーバー Windows Server 2008 R2 SP1
SP vmx-007-010.vmware.cloud.ise.com
社外用Dominoサーバー
7
© 2017 IBM Corporation
§ NW環境– 3つのNW環境から成ります。
• 社内ユーザーは、社内NWに配置されたADFSへアクセスし、SAML認証を行って社内用Dominoサーバーにアクセスます。
• 社外ユーザーは、インターネットからDMZに配置されたADFS Proxy経由でADFSへアクセスし、SAML認証を行って社外用Dominoサーバーにアクセスします。
4. 当資料での構成
社内NW DMZ[SP]
社内用IBM Domino
[SP]社外用IBM
Domino
[IdP]AD + Active Directory Certificate Services +
Active DirectoryFederation Service
[IdP]ADFS Proxy
社内ユーザーWindows 7
iNotes
社外ユーザーWindows 7
iNotes
8
インターネット
© 2017 IBM Corporation
5. 手順概要§ ADCS構築 (※今回はADCSの証明書を使用)
– ADFSで使用するための証明書の登録§ ADFS構築
– ADCSで登録した証明書の設定–フェデレーションメタデータのエクスポート
§ 社内用Domino設定– IdPカタログデータベースの作成– SAML認証の有効化– SSLの有効化
§ ADFS側設定–証明書利用者信頼の追加
§ ADFS Proxy構築– ADFSからエクスポートした証明書のインポート
§ 社外用Domino設定– IdPカタログデータベースの作成– SAML認証の有効化– SSLの有効化
§ ADFS側設定–証明書利用者信頼の追加
社内SAML環境構築
社外用SAML環境構築追加作業
9
当資料で記載している内容
当資料で記載している内容
© 2017 IBM Corporation
6. ADFS構築
10
© 2017 IBM Corporation
6. ADFS構築概要§ Domino SAML認証設定に必要な作業の流れの概要は以下の通りです。
1. IdPとなるADFSでフェデレーションメタデータのエクスポート2. SPとなるDomino側で、フェデレーションメタデータのインポートとシングルサインオン設定
3. IdPとなるADFSで証明書利用者信頼の設定
§ この章では上記の1.の手順について記載します。
11
© 2017 IBM Corporation
6-1. フェデレーションメタデータのエクスポート(1/2)1. ADFS管理コンソールを表示します。[メタデータ] - [フェデレーションメタデータ]のエンドポイントを確認します。
12
© 2017 IBM Corporation
6-1. フェデレーションメタデータのエクスポート(2/2)2. Webブラウザでエンドポイントを開き、表示されたXMLを[名前をつけて保存](
metadata.xml)します。
3. 保存したXMLファイルをSPとなるDominoサーバーにインポートするために、Dominoを管理する管理クライアントPCにコピーしておきます。
13
© 2017 IBM Corporation
7. 社内⽤Domino設定
14
© 2017 IBM Corporation
7. 社内用Domino設定概要§ Domino SAML認証設定に必要な作業の流れの概要は以下の通りです。
1. IdPとなるADFSでフェデレーションメタデータのエクスポート2. SPとなるDomino側で、フェデレーションメタデータのインポートとシングルサインオン設定
3. IdPとなるADFSで証明書利用者信頼の設定
§ この章では上記の2.の手順について記載します。以下のステップに分かれます。– IdPカタログデータベースの作成– DominoサーバーのSAML認証の有効化– DominoサーバーのSSLの有効化
15
© 2017 IBM Corporation
7-1. IdPカタログデータベースの作成(1/10)1. サーバーエージェント実行のための権限を設定します。サーバー文書 – [セキュリティ]タブ内で以下に管理者グループLocalDomainAdminsを追加します。–制限なしで署名または実行: LocalDomainAdmins
16
© 2017 IBM Corporation
7-1. IdPカタログデータベースの作成(2/10)2. サーバーにidpcat.nsf(IdPカタログデータベース)を作成します。
項目 設定値
サーバー 導入先サーバー名※当資料では「vmx-007-002/isetest」を使用
タイトル (任意の値)※当資料では「IdPカタログ」を設定
ファイル名 idpcat.nsf
テンプレート IdPカタログ(idpcat.ntf)
17
© 2017 IBM Corporation
7-1. IdPカタログデータベースの作成(3/10)3. idpcat.nsfを開き、[IdP構成の追加]をクリックし、IdP構成文書を作成します。
4. プロトコルバージョンを「SAML 2.0」に変更します。
18
© 2017 IBM Corporation
7-1. IdPカタログデータベースの作成(4/10)5. [XMLファイルのインポート]をクリックし、事前にADFS側でエクスポートしたフェデレーションメタデータ(metadata.xml)をインポートします。
19
© 2017 IBM Corporation
7-1. IdPカタログデータベースの作成(5/10)6. 自動入力されない以下のフィールドについて、設定を行います。
– [基本]タブ
項目 設定値
ホスト名またはこのサイトにマップされたアドレス
導入先サーバーのFQDN名サーバー文書の [インターネットプロトコル/HTTP] タブの [ホスト名] フィールドに一致する必要あり※当資料では「vmx-007-002.vmware.cloud.ise.com」を設定
IdP名 (任意の値)※当資料では「IBMDEMO ADFS」を設定
サービスプロバイダID Domino HTTP サーバーの HTTP URLを設定※当資料では「http://vmx-007-002.vmware.cloud.ise.com」を設定
20
© 2017 IBM Corporation
7-1. IdPカタログデータベースの作成(6/10)– [クライアント認証]タブ
項目 設定値
信頼されたサイト IdPのWebホスト名([基本] タブに設定したホスト名とは異なります)※当資料では「adfstest.ibmdemo.tokyo」を設定
21
© 2017 IBM Corporation
7-1. IdPカタログデータベースの作成(7/10)– [証明書管理]タブ
7. 文書を保存し、[証明書の作成]ボタンをクリックします。
– [証明書の作成]ボタン実行後、公開証明書ハッシュ値が自動で入力されます。
項目 設定値
会社名 (任意の値)※当資料では「ISE002 Domino」を設定
22
© 2017 IBM Corporation
7-1. IdPカタログデータベースの作成(8/10)– サーバーコンソール上に、設定した会社名が表示されます。
23
© 2017 IBM Corporation
7-1. IdPカタログデータベースの作成(9/10)8. [証明書管理]タブの以下のフィールドについて、設定を行います。
– 保存して閉じます。Dominoサーバー上のDataディレクトリに「idp.xml」が書き出されます。このファイルをIPであるADFSサーバー側にコピーします。
項目 設定値
Domino URL Domino サーバーの URLを指定します。このフィールドに指定した文字列は URL の最初の部分となり、IdPがユーザーの SAML アサーションを Domino サーバーに送信する際に使用されます。※当資料ではSSLを使用した「https://vmx-007-002.vmware.cloud.ise.com」を設定
シングルログアウトURL 空欄
※この値を設定しても、ログアウトできないことが確認されています。(詳細は「14.その他Hint & Tips」参照)この値が空欄でもSAMLログインは可能です。
24
© 2017 IBM Corporation
7-1. IdPカタログデータベースの作成(10/10)9. 管理クライントから[設定]タブ - [ツール]ペイン - [認証] - [IDのプロパティ]からserver.idを開き、証明書が作成されていることを確認します。
– [認証]のセクションから[すべてのインターネット証明書]を選択して確認します。
25
© 2017 IBM Corporation
7-2. DominoサーバーのSAML認証の有効化1. Dominoのサーバー文書を開き、[インターネットプロトコル]タブ - [Domino Web Enginge]タブを開きます。
– [セッション認証]フィールドに「SAML」を設定し、文書を保存します。
26
© 2017 IBM Corporation
7-3. DominoサーバーのSSLの有効化(1/3)1. DominoサーバーのSSL設定に必要な自己証明書とキーリングファイルを作成します。
– 従来の「サーバー証明書管理DB(certsvr.nsf)」を使った自己証明書およびキーリングファイル作成の場合、セキュリティ対策が強化されたブラウザ側でSSL接続することが出来ません。
– OpenSSLを使った自己証明書、およびFix Centralで提供されているKYRToolを用いてのキーリングファイルの作成が必要となります。
– 詳細は、以下の参考資料をご参照ください。
【Windows 環境で OpenSSL と KYRToolを利用して自己証明書を作成する】https://www.ibm.com/developerworks/jp/lotus/library/self-signed_sha-2_with_openssl_and_kyrtool/
2. 上記手順により作成したキーリングファイル(keyring.kry)と対応するkeyring.sthファイルをDominoサーバーのDataディレクトリにコピーします。
27
© 2017 IBM Corporation
7-3. DominoサーバーのSSLの有効化(2/3)3. サーバー文書の [ポート] タブ– [インターネットポート] タブを開き、以下のフィールドについて、設定を行います。
項目 設定値
SSLキーファイル名 keyring.kry
28
© 2017 IBM Corporation
7-3. DominoサーバーのSSLの有効化(3/3)4. [インターネットポート] タブ内の [Web]タブで、以下のフィールドについて、設定を行います。
5. DominoサーバーのHTTPタスクを再起動し、SSLを有効化します。
項目 設定値
SSLポートステータス 有効
29
© 2017 IBM Corporation
8. ADFS側設定(社内Domino⽤)
30
© 2017 IBM Corporation
8. ADFS側設定概要§ Domino SAML認証設定に必要な作業の流れの概要は以下の通りです。
1. IdPとなるADFSでフェデレーションメタデータのエクスポート2. SPとなるDomino側で、フェデレーションメタデータのインポートとシングルサインオン設定
3. IdPとなるADFSで証明書利用者信頼の設定
§ この章では上記の3.の手順について記載します。
31
© 2017 IBM Corporation
8-1. 証明書利用者信頼の追加(1/13)1. ADFS管理コンソールを表示します。[証明書利用者信頼の追加]をクリックします。
32
© 2017 IBM Corporation
8-1. 証明書利用者信頼の追加(2/13)2. 「証明書利用者信頼の追加ウィザード」が起動するので、[開始]をクリックします。
33
© 2017 IBM Corporation
8-1. 証明書利用者信頼の追加(3/13)3. 「データソースの選択」では、[証明書利用者についてのデータをファイルからインポートする]を選択します。
– [参照]ボタンより先ほどDominoサーバー側からコピー配置した「idp.xml」を指定します。
4. [次へ]を押すと以下のようなエラーが表示されますが、[OK]をクリックして進みます。
34
© 2017 IBM Corporation
8-1. 証明書利用者信頼の追加(4/13)5. 「表示名の指定」では、Dominoサーバー名など任意の値を設定し、[次へ]をクリックします。※当資料では「vmx-007-002」を設定
35
© 2017 IBM Corporation
8-1. 証明書利用者信頼の追加(5/13)6. 「多要素認証の構成」では、[現時点ではこの証明書利用者信頼に多要素認証を構成しない]を選択して、[次へ]をクリックします。
36
© 2017 IBM Corporation
8-1. 証明書利用者信頼の追加(6/13)7. 「発行承認規則の選択」では、[すべてのユーザーに対してこの証明書利用者へのアクセスを許可する]を選択して、[次へ]をクリックします。
37
© 2017 IBM Corporation
8-1. 証明書利用者信頼の追加(7/13)8. 「信頼の追加の準備」では、各タブの表示内容を確認して、[次へ]をクリックします。
– [署名]タブにDominoサーバーの証明書情報が登録されていることを確認します。
38
© 2017 IBM Corporation
8-1. 証明書利用者信頼の追加(8/13)9. [ウィザードの終了時にこの証明書利用者信頼の[要求規則の編集]ダイアログを開く]にチェックを入れて、[閉じる]をクリックします。
39
© 2017 IBM Corporation
8-1. 証明書利用者信頼の追加(9/13)10. [要求規則の編集]ダイアログが開きますので、[規則の追加]をクリックします。
40
© 2017 IBM Corporation
8-1. 証明書利用者信頼の追加(10/13)11. 「変換要求規則の追加ウィザード」が起動します。[規則の種類の選択]では、「要求規則テンプレート」に[LDAP 属性を要求として送信]を選択して、[次へ]をクリックします。
41
© 2017 IBM Corporation
8-1. 証明書利用者信頼の追加(11/13)12. [要求規則の構成]では、以下のように設定を行い、[完了]をクリックします。
項目 設定値
要求規則名 任意の値※当資料では「EmailAddresstoNameID」を設定
属性ストア Active Directory
LDAP属性 E-Mail-Address
出力方向の要求の種類 名前ID
42
© 2017 IBM Corporation
8-1. 証明書利用者信頼の追加(12/13)13. 登録した規則が追加されていることを確認して「OK」をクリックします。
43
© 2017 IBM Corporation
8-1. 証明書利用者信頼の追加(13/13)14. ADFS管理コンソールを表示します。[信頼関係]-[証明書利用者信頼]に、登録した証明書利用者信頼が追加されていることを確認します。
44
© 2017 IBM Corporation
9. IdP, SP間のユーザー情報連携
45
© 2017 IBM Corporation
9. IdP, SP間のユーザー情報連携概要§ ADFSでADユーザーとして認証を行うと、Domino側ではマッピングされたDominoユーザーとして認識されます。
§ DominoディレクトリのユーザーとADのユーザーをマッピングするためには、それぞれに登録されているEメールアドレスを一致させます。
Dominoユーザー文書(抜粋)
ADのユーザープロパティ46
© 2017 IBM Corporation
10. 社内ユーザーのSAML認証の動き
47
© 2017 IBM Corporation
10.社内ユーザーのSAML認証の動き§ この時点で、社内環境の構成が終わりましたので、社内ユーザーについてSAML認証が可能です。
① iNotesのURLへアクセスします。② ADFSの認証画面へリダイレクトされます。③ AD上のユーザーIDとパスワードを入力してログインします。
⑤
⑥ iNotes画面にリダイレクトされますが、SAML認証のSSOにより、Domino側のユーザーIDとパスワードを入力せず表示されます。
48
© 2017 IBM Corporation
11. 社外⽤Domino設定
49
© 2017 IBM Corporation
11. 社外用Domino設定概要§ 社外用Dominoにおける SAML認証設定に必要な作業の流れは、社内用Domino同様以下の通りです。
1. IdPカタログデータベースの作成2. SAML認証の有効化3. SSLの有効化
§ 構築手順については社内用Dominoと同様になりますので、詳細な手順については「7. 社内用Domino設定」をご参照ください。
§ ここでは、大まかな構築注意点についてのみ記載いたします。
50
© 2017 IBM Corporation
11-1.社外用Domino設定注意点§ 社外用サーバー上に、idpcat.nsf(IdPカタログデータベース)を作成します。§ IdP構成文書のフィールド設定について、以下の注意点があります。
–「7. 社内用Domino設定」内で設定している社内用サーバーのFQDNは、社外用FQDNに置き換えて設定を行います。
– [シングルサインオンサービスURL]や[信頼されたサイト]の設定値については、社外用Domino側でも社内用と同じくADFSのFQDNを設定します。(ADFS ProxyのFQDNではありません)※ただし、社外ユーザーがアクセスするADFSのFQDNについて、実際に解決されるIPアドレスはADFS Proxyのアドレスとなります。(詳細は「13.社外ユーザーのSAML認証の動き」参照)
– [シングルログアウトURL]については、社内用Domino同様、空欄でも稼動します。(詳細は「14.その他Hint & Tips」参照)
§ SSL設定に必要な自己証明書とキーリングファイルの作成について、社内用とは別に、社外用Dominoに対して新たに作成します。
51
© 2017 IBM Corporation
12. ADFS側設定(社外Domino⽤)
52
© 2017 IBM Corporation
12. ADFS側設定(社外Domino用)§ ADFS側の設定について、社内用Domino同様、IdPとなるADFSで社外用Dominoの証明書利用者信頼の設定が必要です。
§ 構築手順については社内用Dominoと同様になりますので、詳細な手順については「8. ADFS側設定(社内Domino用)」をご参照ください。
53
© 2017 IBM Corporation
13. 社外ユーザーのSAML認証の動き
54
© 2017 IBM Corporation
13.社外ユーザーのSAML認証の動き§ 社外ユーザーからのADFSに対するアクセスがADFS Proxy経由になるよう、ADFSのFQDN名前解決について、ADFS ProxyのIPアドレスが返るよう設定が必要です。(社外DNSやhostsファイル使用)
§ この時点で、社外環境の構成が終わりましたので、社外ユーザーについてもSAML認証が可能です。(画面イメージについては、「10. 社内ユーザーのSAML認証の動き」参照)① iNotesのURLへアクセスします。② ADFSの認証画面へリダイレクトされます。(実際はADFS Proxyへのアクセス)③ AD上のユーザーIDとパスワードを入力してログインします。④ iNotes画面にリダイレクトされますが、認証なしで表示されます。
55
社外ユーザーiNotes
ADFSのFQDNでADFS ProxyのIPアドレスが解決できる必要がある
[IdP]AD + Active Directory Certificate Services +
Active DirectoryFederation Service
[IdP]ADFS Proxy
adfstest.ibmdemo.tokyox.x.x.1
adfspxtest.ibmdemo.tokyo
y.y.y.2
>ping adfstest.ibmdemo.Tokyo⇒ y.y.y.2 からの応答
© 2017 IBM Corporation
14. その他Hint & Tips
56
© 2017 IBM Corporation
14. その他Hint & Tips(1/2)§ IdP構成文書内の「シングルログアウトURL」について
–同フィールドはTFIM IdPを使用する場合に、設定が必要となります。今回のADFS統合環境では空欄でも構いません。
– Dominoは現在SAML 2.0ログアウト機能を実装していません。同フィールドに、有効なADFSのサインアウトURL(例;https://adfstest.ibmdemo.tokyo/adfs/ls/?wa=wsignout1.0)を指定しても、iNotesの「ログアウト」ボタンをクリックした際に、SAML 2.0のログアウトは行われません。
–完全にログアウトする必要がある場合はブラウザを終了してください。
57
© 2017 IBM Corporation
14. その他Hint & Tips(2/2)§ (※当ガイドでは対象外となる設定ですが)ADFS ProxyでADFSと同じ証明書を使用するため、ADCSの設定を以下の通りとします。
– [要求処理] から [秘密キーのエクスポートを許可する] を有効にして、プライベートキーもエクスポート可能な証明書とする。
– AD FS から証明書の発行要求を出せるようにするため、[Authenticated Users] に [登録] を許可
58
© 2017 IBM Corporation
【参考文献】
§ 【IBM Domino 9.0.1 Knowledge Center】– Security Assertion Markup Language (SAML) を使用して統合 ID 認証を設定する
http://www.ibm.com/support/knowledgecenter/ja/SSKTMJ_9.0.1/admin/secu_using_security_assertion_markup_language_saml_to_configure_federated_identity_authentication_t.html
§ 【SAML 認証のための ADFS - IBM Connections Cloud 設定手順書】http://www.ibm.com/developerworks/jp/lotus/ldd_tech/201603_qit_adfs_ibm_connections_cloud_saml.html
§ 【Windows 環境で OpenSSL と KYRToolを利用して自己証明書を作成する】https://www.ibm.com/developerworks/jp/lotus/library/self-signed_sha-2_with_openssl_and_kyrtool/
§ 【Generating a keyring file with a self-signed SHA-2 cert using OpenSSL and kyrtool】https://www-10.lotus.com/ldd/dominowiki.nsf/dx/Self-signed_SHA-2_with_OpenSSL_and_kyrtool?open
59