1.概要
IBM Verify (SaaS) は、様々なIDシステムと連携する機能を持っています。
この記事では、オンプレミスにある Active Directory とIBM Verify (SaaS) の連携について、概要をお伝えします。
2.ユーザー・グループの連携
IBM Verify (SaaS) は、オンプレミスにある Active Directory に登録された、ユーザーの同期を行うことができます。
この連携を利用すると、Active Directory に登録・変更したユーザー情報が、IBM Verify (SaaS) へ同期されるため、Active Directory と Verify (SaaS) の両方をメンテナンスするという手間かからなくなります。また、ユーザー情報が一致しないといった問題も防ぐことができます。

3.設定
設定に当たっては、以下のドキュメントを参考にすることができます。
3.1 Bridge for Directory Sync のインストール
Bridge for Directory Sync を Windows サーバーにインストールします。
IBM Application Exchange から IBM Security Verify Bridge for Directory Syncをダウンロードします。ダウンロードしたファイルは、Bridge for Directory SyncをインストールするWindowsサーバーにコピーします。

Zipファイルを展開します。
日本語環境でインストールする場合は、Readmeに記載されているように setup_dirsync /L1041 のようにインストーラーの言語を指定して起動します。
画面に従ってインストールします。(通常はインストール先なども変更せず、そのままインストールが可能です)
3.2 Verify (SaaS)に管理者としてログインし、Bridge for Directory Sync用のClient ID と Client Secret を作成する
Verify (SaaS) の管理者用GUIにログインし、APIクライアントを作成します。
セキュリティー > APIアクセス を選択し、APIクライアントの追加 をクリックします。

必要なAPIの権限を割り当てた後、「接続の詳細」を確認すると、クライアントID、クライアントシークレット を確認することができます。次の「3.3 Bridge for Directory Sync の定義」で利用します。

作成したClient ID と Client Secret は、
3.3 Bridge for Directory Sync の設定
Bridge for Directory Sync の設定をします。
Bridge for Directory Sync のインストールディレクトリー (何も変更をしていない場合は、C:\Program Files\IBM\DirectorySync にインストールされていると思います)を開きます。設定にあたり、ActiveDirectory へ接続するユーザーのパスワードや、クライアントシークレットは、難読化してから登録します。
Bridge for Directory Sync のディレクトリーに移動し、以下のコマンドを実行します。
IcbLdapSync.exe -obf 難読化したい文字列
このコマンドで出力される文字列は毎回異なっています。毎回文字列が異なることは、この難読化する際の特徴です。
IcbLdapSync.json をエディターで開きます。
client-id: 3.2 で取得した クライアントID を設定します。
obf-client-secret: 3.2 で取得した クライアントシークレットを obf で難読化した値を設定します。
trace-file: 設定は必須ではありませんが、IcbLdapSync.json の設定が正しくない場合などにログをみて判別をするため、コメントアウトを外します。
ldapb-base-dn: LDAPサーバー(ドメインコントローラー) の検索する際のBase DNを設定します。
host:LDAPサーバー(ドメインコントローラー)のホスト名を設定します。
user: LDAPサーバーに接続するユーザーです。ドメインのユーザーのDNを設定します。
obf-password: LDAPサーバーに接続するユーザーのパスワードを obfで難読化した値を設定します。
すべて設定したらファイルを保存します。
これ以外にも、ドメインコントローラーに対してLDAPではなくLDAPSで接続する場合の追加手順や、DirectorySyncで同期する属性の設定などもありますが、ここでは割愛します。
3.4 Bridge for Directory Sync の動作確認
Bridge for Directory Sync の設定ファイル IcbLdapSync.json の設定が終わったら、Windowsのサービスから、IBM Security Verify Bridge for Directory Sync を開始します。

IcbLdapSync.json の設定が正しくない場合等は、サービスの起動が失敗します。
原因を調べる際は、トレースファイルを確認し、原因となっている箇所を把握し、IcbLdapSync.jsonの設定を確認・修正します。
正しく設定ができ、サービスが起動したら、Active Directory に登録・変更したユーザーやグループの情報が 、IBM Verify (SaaS) に反映されていることを確認します。
Active Directory に追加した adtest001, adtest002, adtest003

DirectorySyncによって IBM Verify (SaaS)上に反映された、adtest001, adtest002, adtest003

同期されたユーザーの詳細。他のパラメータも同期をしたい場合は IcbLdapSync.json の設定を追加します。

4.追加の設定
動作の確認が取れたら、以下の作業も行い、よりセキュアに、より便利に機能を利用できるようにします。
- APIクライアントの権限の設定見直しや、接続元IPの絞り込み
- LDAPSで接続するための設定
- DirectorySyncで同期するユーザーの属性の設定
5.そのほかの連携
Active Directory との連携には、ユーザーやグループの連携以外にも、以下のような機能があります。
- Active Directory にて登録・変更されたユーザー情報を Verify (SaaS) に同期する Bridge for Directory Sync ( https://www.ibm.com/docs/ja/security-verify?topic=integrations-security-verify-bridge-directory-sync ) ・・・今回ご紹介した内容
- Active Directory との認証連携(LDAP) (https://docs.verify.ibm.com/verify/docs/connect-to-active-directory)
- Active Directory との認証連携(ADFS) (https://www.ibm.com/docs/ja/security-verify?topic=integrations-microsoft-active-directory)
- Verify (SaaS) から Active Directory に対してユーザーをプロビジョニングする Bridge for Provisioning ( https://www.ibm.com/docs/ja/security-verify?topic=integrations-security-verify-bridge-provisioning )
- Gateway for Windows を利用して、ユーザーがWindows OSにログインする際に多要素認証を提供する。