スキップしてメイン コンテンツに移動

Workspace ONE UEMとOneloginの LDAP連携


今回の投稿は、Workspace ONE UEMとOneLogin間でディレクトリ連携設定を行い、WS1 UEMのアイデンティティソースとしてOneLoginを利用し、OneLoginのユーザーやグループをWS1 UEMに連携する構成の検証を行います。

Omnissa Communityに、この構成でハマったという投稿があり、そもそもそんな構成が有り得るんだと気になったので検証してみました。

WS1導入時にディレクトリ連携をする構成として、ADと連携するケースは非常に多いのですが、連携先のディレクトリとしてOneLoginを利用する構成は見たことが無かったので試してみようと思ったという事情もあったりします。

大まかな流れは以下の通りです。
    1.Workspace ONE UEMのディレクトリ連携設定
    2.OneLogin側でユーザーとグループ作成
    3.動作確認
     3.1.ユーザー追加
     3.2.グループ追加とメンバーユーザーの自動同期

1.Workspace ONE UEMのディレクトリ連携設定

WS1 UEMではディレクトリ連携の連携先としてADを利用するケースがかなり多いですが、連携先のディレクトリサービスとしてOneLoginを利用することができるようで、OneLogin側でドキュメントなども公開されています。

まずは、WS1 UEM側のディレクトリ連携設定を入れていきます。

「グループと設定」>「すべての設定」をクリック後、「システム」>「エンタープライズ統合」>「ディレクトリサービス」をクリックし、「ウィザードをスキップして手動で構成」をクリックします。


「サーバ」タブで以下を設定します。
 -ディレクトリタイプ : LDAP - 他の LDAP 
 -サーバ  :ldap.us.onelogin.com
 -暗号化タイプ :SSL
 -ポート :636
 -SSL 証明書を検証 :無効
 -プロトコル バージョン :3
 -サービス アカウントの資格情報を使用 :無効
 -バインド認証タイプ :ベーシック
 -バインドのユーザー名 :Oneloginの管理者アカウントをDN形式で指定
 ※「cn=[OneLogin管理者アカウント],ou=users,dc=[TENANT],dc=onelogin,dc=com」の形式です。[TENANT]の箇所は組織ごとに異なります。
 -バインド パスワード  :上記[OneLoginの管理者アカウント]のパスワード


「ユーザー」タブに移動し、以下を設定します。
 -ベース DN :dc=[TENANT],dc=onelogin,dc=com
 -ユーザー オブジェクト クラス :top
 -ユーザー検索フィルタ :(&(objectClass=top)(username={EnrollmentUser}))  


「ユーザー」タブの属性マッピング設定を以下のように設定します。
基本的にOnelogin側のドキュメントの記載通りで、記載の無いものはデフォルトから変更なしです。
属性マッピング値
オブジェクト識別子uid
ユーザー名username
氏名name
表示名name
givenName
ミドルネームmiddleName
sn
メール アドレスmail
E メールのユーザー名mail
ユーザー プリンシパル名cn
状態status
オブジェクトクラスobjectClass


「グループ」タブに移動し、以下を設定します。
 -ベース DN : ou=groups,dc=[TENANT],dc=onelogin,dc=com
 -グループ オブジェクトクラス : groupOfNames
 -組織ユニット オブジェクトクラス : groupOfNames
 -グループ検索フィルタ : (&(objectClass=groupOfNames)(cn=*))
【補足】
ベースDNの設定値について、OneLogin側の公開ドキュメント上は「dc=[TENANT],dc=onelogin,dc=com」を指定せよ、との書かれていて「ou=groups」部分の記載は無いのですが、実際に設定すると「ou=groups」が無いとグループの追加ができませんでした。
理由は不明ですが、ベースDNとしてはドメイン部分だけでなく「ou=groups」も必要なようです。


「グループ」タブの属性マッピング設定を以下のように設定します。
こちらも基本的にOnelogin側のドキュメントの記載通りで、記載の無いものはデフォルトから変更なしです。
属性マッピング値
オブジェクト識別子cn
名前cn
メンバーmember
一般名cn
メンバーmemberOf
識別名dn
グループ オブジェクトクラスroles


一応「接続のテスト」を実行しておき、設定に問題が無いか確認しておきます。
テストの結果に問題が無ければ、「キャンセル」をクリックして閉じます。


「保存」をクリックして設定変更を確定させます。



2.OneLogin側でユーザーとグループ作成

WS1に同期するユーザーとグループをOneLogin側で作成します。
特にWS1に同期するために特別な手順を踏む必要は無いですが、WS1側で必要な属性値が漏れないようにだけ気を付けます。

OneLogin管理コンソールにログイン後「Users」>「Users」をクリックします。


右上の「New User」をクリック後、各設定項目を埋めていき、「Save User」をクリックします。「Email」属性はOneLogin上必須ではないようですが、WS1側で必須項目なので設定しておきます。


次にグループを作成します。「Users」>「Groups」をクリックします。


右上の「New Group」をクリック後、グループ名を設定して「Save」をクリックします。


次に、作成したグループにユーザーを追加します。
ユーザー一覧の画面に戻り、対象のユーザーをクリックして、ユーザーの詳細画面を表示後、左のメニューから「Authentication」をクリックします。


「Group」のプルダウンから追加する対象のグループを選択後、「Save User」をクリックします。


グループ一覧画面から対象のグループをクリックして、グループの詳細画面を開くと「Group Members」の箇所に先ほど追加したユーザーが表示されていることが確認できます。



3.動作確認

 3.1.ユーザー個別追加

まずは、ユーザーアカウントを1つずつ個別にWS1に追加するところから見てみます。
「アカウント」>「ユーザー」>「リスト表示」をクリックしてユーザー一覧画面に移動後、「追加」>「ユーザーを追加」をクリックします。


以下を設定して、「ユーザーを確認」をクリックします。
  -セキュリティ タイプ :ディレクトリ
  -ユーザー名 :追加したいユーザーを「OneLogin側のUsername」で指定


OneLoginから連携された情報が検索結果として表示されるため、対象に間違いが無ければ「保存」をクリックします。


OneLoginからWS1 UEMへユーザーをインポートすることができました。


 3.2.グループ追加とメンバーユーザーの自動同期

次にOneLoginからグループをインポートし、グループ同期によってグループのメンバーが自動同期できることを確認します。
「アカウント」>「ユーザーグループ」>「リスト表示」をクリックしてユーザーグループ一覧画面に移動後、「追加」>「ユーザーグループを追加」をクリックします。


「テキスト検索」にOneLogin側のグループ名を入力し「検索」をクリックします。


検索結果として表示されたグループの内容に間違いが無ければ「保存」をクリックします。


ユーザーグループをインポートすることができました。後で比較するため「ユーザー」カラムが「0」であることを確認しておきます。
続けて、ユーザーグループの同期により、メンバーユーザーの自動追加を試します。今追加したグループのチェックボックスにチェックを入れて、「同期」をクリックし、確認ダイアログで「OK」をクリックします。
【補足】
今回は追加後に即時で同期をしたいので手動で同期を実行しますが、WS1 UEMではユーザーグループの自動同期機能があるため、一定時間間隔で自動同期を実行してくれます。


続けて、対象のユーザーグループにチェックを入れたまま、「その他のアクション」>「不明ユーザーの追加」をクリックし、確認ダイアログで「OK」をクリックします。


同期完了後画面を更新すると、「ユーザー」カラムの数字が増えています。


ユーザーのリスト表示画面に移動すると、「ユーザーグループ」カラムが「1」となっている(つまり、先ほど追加したグループのメンバーである)ユーザーが1つ増えています。ちなみに、画像内の1行目の方は手動でユーザーのみを追加した時のユーザーです。



以上で、WS1 UEMとOneLoginをディレクトリ連携し、ユーザーとグループを追加しするという構成が問題なく動作することを確認できました。
WS1 UEMを利用する場合、まずユーザーアカウントをどう管理するかという構成を決めますが、その際ディレクトリユーザーを利用するとなった場合に多いのがActive Directoryと連携するという構成です。

今回Omnissa Communityでの投稿きっかけでOneLoginとディレクトリ連携するという構成を初めて知りましたが、まだまだ知らないだけで色々な可能性があるなあ、と感じました。

コメント

このブログの人気の投稿

Workspace ONE Accessに証明書認証でログイン

Workspace ONE AccessではSaaSなどのサービスへのアクセス管理ができますが、クライアント証明書認証の機能も備わっています。 ここでは、Workspace ONE UEMから配信した証明書を使用して、Workspace ONE Accessに証明書認証でログインする、ということをやってみます。 まずは、Workspace ONE UEMコンソールでの作業です。 すべての設定>システム>エンタープライズ統合>Workspace ONE Access>構成 へ移動し、「 エクスポート 」をクリックしてAirWatch認証局のルート証明書をエクスポートします。 次に、Windows向けにWorkspace ONE Access認証用証明書プロファイルを作成してデバイスに対して配信します。 SCEPペイロードを選択し、「 資格情報ソース 」は「 AirWatch認証局 」を選択します。証明書テンプレートは「 証明書(クラウド展開) 」です。 【補足】 上記のプロファイルで配信した証明書は 秘密キーのエクスポートができない ようになっているため、使い回しを防ぐことができます。つまり、私用のデバイスにインポートし直してログインしてしまおう...ということはできない仕組みになっているワケですね。 次はWorkspace ONE Accessの管理コンソールでの作業です。 IDとアクセス管理>管理>認証方法をクリックし、「 証明書(クラウドデプロイ) 」の設定を変更します。(UEMのプロファイルで選択した証明書テンプレートと同じ名前ですね。若干の誤差はありますが...) 始めに、「 証明書アダプタを有効にする 」にチェックを入れ、「 ルートおよび中間CA証明書 」のところには先ほどWorkspace ONE UEMからエクスポートした証明書をアップロードし、「 証明書の失効を有効にする 」にもチェックを入れておきます。 【補足】 公的認証局であっても、ここでルート証明書をアップロードしない限り証明書認証はできないので、今回の例では Workspace ONE UEM内部の認証局から発行されている証明書以外では認証できない 構成にすることができます。 少し下にスクロールして「 OCSPの失効を有効にする 」にチェックを入れ、「 OCSPレスポンダの署名証明書 」には...

Workspace ONE AccessでOpenID Connect連携

Workspace ONE Accessはその名の通りSaaSなどへのアクセス管理をすることができる製品ですが、Identity Providerの役割を果たすことも可能で、以下のフェデレーションプロトコルに対応しています。  -WS-Federation  -SAML  -OpenID Connect WS-FederationはOffice365と連携する際などに利用したりするヤツですね。 個人的な感覚では、クラウドサービスはSAML認証に対応しているものが多いのでWorkspace ONE Accessと認証連携する場合、SAMLを利用するケースが一番多い気がします。 また、設定ガイド( SAML ベース SSO 統合のドキュメント センター )なんかも公開されており、連携のハードルは比較的低いと思います。 一方で、OpenID Connectの利用に関してはかなり情報が少ない気がしてます... ただ、OpenID Connectも認証連携の仕組みとしては代表的なものの一つではありますので、今回はOpenID Connectを使用してWorkspace ONE Accessと認証連携をしてみたいと思います。(連携先のサービスにはRedmineを使用します。) まずはWorkspace ONE Accessの管理コンソールでの作業です。 カタログ>Webアプリケーション とクリックして、Workspace ONE Accessのアプリカタログに載せるWebアプリの一覧を開き、「 新規 」をクリックします。 「 名前 」に入力した値はそのままユーザーのアプリカタログに表示されるので、わかりやすい名称にします。入力したら次に進みます。 【補足】 いくつかのサービスは連携用のテンプレートがあり、「 またはカタログから参照 」をクリックすることで利用が可能です。今回使用するRedmineについても、SAML連携であればテンプレートがあるので比較的カンタンに設定できると思います。 まずは、「認証タイプ」で「 OpenID 接続 」を選びます。(おそらくOpenID Connectが訳されているのでしょうが、何か違うような...) すると、OpenID Connect連携用の設定項目が現れるので、各設定を入れていきます。 「 クライアントID 」と「 クライアント シークレ...

Workspace ONE AccessからServiceNowにシングルサインオン(SAML)

以前、Workspace ONEと他システム間で、 OpenID Connect で連携する内容をポストしましたが、今回は SAML を利用したシングルサインオンの構成を検証してみました。 ServiceNow と SAML連携 して、WS1のポータルからシングルサインオンする構成を試してみます。 大枠の流れとしては以下の通りです。      1.ServiceNow(SP)のSAML認証設定          1.1. WS1 AccessからSAML連携に必要な情報を取得           1.2.SAML認証設定      2.WS1 Access(IDP)でSAML認証設定      3.動作確認 1.ServiceNow側(SP)でSAML認証設定 まずは、今回の構成ではSP(Service Provider)となるServiceNow側でSAMLによるシングルサインオンを可能とするように構成します。 1.1.WS1 Accessから S AML連携に必要な情報を取得 まずは、WS1 AccessのIDPメタデータのURLを取得します。 [カタログ]>[Webアプリケーション]をクリック後、[設定]をクリックします。 左ペインから[SAMLメタデータ]をクリック後、IDPメタデータの[URLをコピー]をクリックします。 クリップボードにコピーされるので、テキストエディタにでも貼り付けておきます。 次に、WS1 AccessのIDP署名証明書を取得します。 左ペインから、[SAMLメタデータ]をクリック後、署名証明書の[ダウンロード]をクリックします。 こんなファイルがダウンロードされます。 1.2.SAML認証設定 続いて、ServiceNow側のSAML認証設定を行います。 ServiceNowの管理コンソールにログインし、検索バーに[saml]と入力後、[SAML2 Single Sign-On]配下の[Certificate]をクリックします。 後で、使用するため先ほどダウンロードした、[signingCertificate.cer]をテキストエデ...