AzureADによるHCL Domino (SAML)統合ログイン 設定方法

今回の記事ではAzureADのアカウントを使ってHCL Domino WEBアプリケーションへログインが出来るようになるAzureADとHCL Domino SAMLによる統合ログインの設定方法を解説します。

前提:
今回検証を行った環境は以下の通りです。

  • Domino 10.0.1FP3
  • DominoサーバーへSSL証明書インストール済み
  • Windowsサーバー

では早速、設定方法を説明していきます。

なおこの設定はHCL Domino V10.0.1 最新のFP以降であれば動作可能であるようです。

AzureADの設定

  1. https://portal.azure.com/ へログインします。
  2. “Azure Active Directory”を選択します。
  1. 左メニューから”Azure AD Connect”を選択し、”ユーザーサインイン”の箇所で「代替ログインIDとして電子メールを送信する」を有効にします。

チェックを入れて「保存」ボタンをクリックします。

Azure Active Directory ページからエンタープライズアプリケーションの作成

  1. 左メニューから”エンタープライズアプリケーション”を選択
  2. 上部のメニューから「新しいアプリケーション」をクリック
  1. 遷移後のメニューから「独自のアプリケーションの作成」をクリック
  1. 任意のアプリの名前を入力。”ギャラリーに見つからないその他のアプリケーションを統合します(ギャラリー以外)”を選択して作成ボタンをクリック。
  1. 作成後の遷移画面で、左メニューから”シングル サインオン”を選択。
  2. ”シングルサインオン方式の選択”からSAMLを選択。
  1. “基本的なSAML構成”のセクションから「編集」をクリック
  1. 識別子 (エンティティ ID)“と”応答 URL (Assertion Consumer Service URL)“にそれぞれHTTPSプロトコルから始まるDominoサーバーFQDNを入力します。
    例)
    識別子 (エンティティ ID): 「https://mydominoserver.com」
    応答 URL (Assertion Consumer Service URL): 「https://mydominoserver.com/names.nsf?SAMLLogin」

    他は省略可能のため空欄で保存します。
  1. 次に”属性とクレーム“セクションで「編集」をクリックします。
  2. ”必要な要求”の”一意のユーザー識別子 (名前 ID)”行をクリックします。
  3. ソース属性を「user.mail」に変更して保存をクリックします。
  1. 保存後、値が「user.mail [nameid-format:emailAddress]]」となっていることを確認します。
  1. 作成したアプリケーションの”シングルサインオン”画面に戻り、”SAML 署名証明書”セクションから”フェデレーション メタデータ XML”をダウンロードしておきます。
  1. アプリケーションの左メニューから”プロパティ”を選択。
  2. 必要に応じて”割り当てが必要ですか?”、”ユーザーに表示しますか?”をいいえに変更します。
    ”割り当てが必要ですか?”で[はい]を選択すると、ユーザーが認証できるようにAzure内でアクセス制御を行う必要があります。
    ”ユーザーに表示しますか?”で[はい]を選択すると、Microsoft MyAppポータルにアプリケーションが表示されるようになります。

お疲れ様でした。
以上でAzureAD側の設定は完了です。

次はDominoサーバー側の設定をしていきましょう。

IdP Catalog アプリケーションの作成および設定

  1. DominoサーバーでIdP Catalog アプリケーションを新規作成します。
  2. 新規アプリケーションダイアログで”詳細テンプレートの表示”チェックボックスをチェックしてIdP Catalogテンプレートから「idpcat.nsf」ファイルを作成します。

※IdP Catalogアプリケーションは必ずファイル名を「idpcat.nsf」とし、Dataフォルダ直下に配置してください。

  1. IdP Catalogから「Add IdP Config」ボタンをクリックし設定文書を開きます。
  2. Basicsタブで「Import XML file」ボタンをクリックし、AzureAD画面でダウンロードして置いた「フェデレーション メタデータ XML」を選択した後、開くボタンをクリックします。
  3. フィールドが自動で入力されたことを確認します。
    ※下のスクリーンショット画像では”Service provider ID”、”IdP name”に値が入っていますが、インポート直後には入っていませんのでご注意ください。
  1. “Service provider ID”にhttps://から始まるDominoサーバーのFQDNを入力します。
    例)「https://mydominoserver.com」
  2. “IdP name”に自分が分かりやすい任意の値を入力します。
  3. 一旦、”State”を[Enabled]から[Disabled]に変更して、[Save & Close]ボタンを押して保存します。
  4. 再度先ほどのIdP Configuration文書を開き、”Certificate Management”タブへ行きます。
  5. [Create SP Certificate]ボタンをクリックします。
  6. ”Company name”を入力するダイアログがひらきますので任意の名前を入力して[OK]ボタンをクリックします。
  7. “Certificate Management”タブ内のフィールドが自動で入力され、Exported certificate欄に”ServiceProvider.xml”が作成されたことを確認します。
  8. 再度、[Save & Close]ボタンを押して保存します。

以上でIdP Catalogの設定は完了です。
最後に、DominoサーバーのSite DocumentでSAML認証をするように設定を変更します。

Domino インターネットサイト文書の設定

インターネットサイト文書を作成していないサーバーであればサーバー文書のInternet Protocols ⇒ Domino Web Engine で設定することになりますが、ここではインターネットサイト文書が設定されている環境として進めます。

  1. インターネットサイト文書を開き、”Domino Web Engine”タブに行きます。
  2. Session Authenticationで「SAML」を選択します。
    ※WEB SSO Configurationは既に作成してあるLTPATokenがある場合はそれを選択したままでOKです。
    ※Force login on TLSはデフォルトの[No]、
    SAML single server session expirationはデフォルトの[120]分から変更したい場合は変更、
    Web overriding session authentication, generate session cookieはデフォルトの[Yes]としておきます。
  1. 文書を保存して閉じます。

HTTPタスク再起動して動作確認

ここまで設定が完了したらDomino HTTPタスクを再起動しますが、そのまでにIdP Configuration 文書のStateを[Enabled]に変更します。

  1. IdP Catalogの作成したIdP Configuration文書を開き、”State”のフィールドを[Enabled]に変更します。
  2. 文書を保存して閉じます。
  3. Domino Administratorから「tell http restart」を実行してHTTPタスクを再起動します。

ACL制御されたDomino WEBアプリケーションでテスト

ブラウザを使って、「https://mydominoserver.com/xxx/xxx.nsf」のようにDomino Webアプリケーションへアクセスします。

うまく動作する場合は、Microsoft Azure ADのログイン画面にリダイレクトされ、ログイン後にDomino Webアプリケーションに正しくログイン出来ることが確認できます。

Dominoサーバーnames.nsfに同一のEmailを持つユーザー文書が存在する場合は、AzureADログイン後Dominoアプリケーションでも正しくDominoユーザーでACLが機能していることが確認できます。

参考にした資料・ブログ

■ HCL Customer Support Article – How to configure SAML authentication for Domino HTTP using Microsoft Azure as an Identity Provider
https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0098580

■ Kris De Bisschop – HCL Domino SSO with AzureAD
https://debisschopk.wordpress.com/2020/10/19/hcl-domino-sso-with-azuread/

■ HCL Domino SAMLとOktaでの統合ログイン
https://support.hcltechsw.com/sys_attachment.do?sys_id=2a1c5afb1bb38954f37655352a4bcbac

まとめ

いかがでしたでしょうか? Microsoft Teamsを始め、多くの会社がMS365を利用している現在、DominoサーバーをAzureADで統合ログイン(シングルサインオン)することのメリットは絶大だと思います。

AzureADによる統合ログイン(シングルサインオン)をすることでアプリケーション開発プラットフォームとしてDominoサーバーがますます利活用されるようになるといいですね。