CatoクラウドのLDAP連携機能について、連携対象の絞り込みや、連携したユーザの自動的なグループ管理を実行する方法について紹介します。
はじめに:LDAP連携とフィルタリングの意義
CatoにおけるLDAP連携
Catoクラウドのモバイル接続を使用するためには、ログイン用アカウントとして
各利用者向けのSDP Userを準備する必要があります。
SDP Userはもちろん手動でも作成可能ですが、大規模な組織の利用ユーザ全てを
毎回手動で追加するのは困難であり、作業ミスのリスクも存在します。
大量のユーザを効率的に管理できるように、CatoはLDAPとSCIMの2方式による、
各種ディレクトリサービスとの連携機能を提供しています。
双方に対応しているサービスであれば基本的にSCIMでの連携の方が優先されますが、
オンプレミスのADと連携したい場合、基本的にLDAP連携を使用します。
フィルタリングの必要性
Catoの連携機能によって、ADのユーザがCatoにプロビジョニングされる
……と言っても、全てのユーザをCatoに連携する必要があるとは限りません。
- システム部門など、特定の部署の社員だけを対象にしたい
- 協力会社のメンバーや派遣のメンバーは、対象外にしたい
- 各部署の、特定の役職の社員だけを対象にしたい
上記のような要望を持つ組織は、少なからず存在することでしょう。
こういった需要に応えるために、CatoのLDAP連携では連携対象をフィルタリングする機能が提供されています。
必要なユーザのみを連携し、セキュリティを確保できるだけでなく、
ライセンスを要するユーザの数を抑えてコストも低減できるという大変うれしい機能です。
フィルタリングの2つの方式
CatoのLDAP連携では、連携対象をフィルタリングする方法として以下の2つが用意されています。
- グループによるフィルタリング(User Groups)
ディレクトリサービス上の特定のグループを選択し、そのグループに所属するユーザのみを連携する方式です。GUI上でグループを選択するだけで、簡単に設定できてしまいます。 - LDAPクエリによるフィルタリング(LDAP Query)
LDAP Query言語を用いて、ユーザの属性に基づいた柔軟な条件を記述する方式です。複数の属性を組み合わせた複雑な条件でのフィルタリングが可能です。
どちらの方式でも連携対象のユーザを制御できますが、設定の難しさと自由度に差があります。要件に応じて、適切な方式を選んでいきましょう。
フィルタリング設定の流れ
ここから、具体的なフィルタリング設定の流れを説明していきます。
本稿では、前提として対象ディレクトリのLDAP連携自体は完了しているものとして説明を行っています。
LDAP連携自体の手順については、過去のブログ記事やCatoのKnowledge Baseをご参照ください。
【Catoクラウド】ADからユーザをプロビジョニングしてみた – TechHarmony
User Groupsによるフィルタリング
2つのフィルタリング方法のうち、簡単に設定できるのが「User Groups」を用いる方法です。これは、ディレクトリのグループを参照し、所属するユーザをLDAP連携の対象に指定する方法です。
CMAの[Access] > [Directory Service]の「LDAP」タブで、あらかじめ連携しておいたディレクトリの名前をクリックすると、ディレクトリ設定の編集画面が開きます。
編集画面の「Filters」セクションにて、「User Groups」を選択することで、グループの選択メニューが表示されます。
プルダウンリスト方式でディレクトリのグループが表示されるので、連携対象としたいグループを選択しましょう。
グループは複数選択が可能で、複数のグループを選択した場合、どれか一つ以上に所属するユーザはすべて連携対象となります。
なお、デフォルトでは全てのユーザが連携対象です。
大規模な組織の場合、フィルタの設定を忘れないようにしましょう。
LDAP Queryによるフィルタリング:概要
グループ単位ではなく、LDAP Query言語による条件指定でフィルタリングを実施することも可能です。
この方式の最大のメリットは、属性による細かな条件指定を行えることです。
「特定のグループに所属する」だけを条件にするので十分ならばUser Groupsによる指定でも問題ありませんが、LDAP Queryならば以下のような指定も可能です。
- 「Title」属性を参照して、マネージャの社員だけを対象にする
- 「employeeType」属性を参照して、正社員だけを対象にする
- 「department」属性と上記2属性の参照を組み合わせ、
「営業部もしくはシステム部所属の、マネージャではない正社員」を対象にする
もしこのような具体的な条件で利用者を絞り込みたい場合は、LDAP Queryを活用しましょう。
LDAP Queryによるフィルタリング設定の流れ
LDAP Queryによるフィルタリングを実施する場合も、
CMAの[Access] > [Directory Service]の「LDAP」からLDAP設定の編集画面を開きます。
編集画面の「Filters」セクションにて、「LDAP Query」を選択することで、
クエリ文の入力ウィンドウが表示されます。ここに、条件指定のためのクエリ文を入力しましょう。
例えば、Active Directoryで「objectCategoryがpersonかつobjectClassがuserであるもの」を取得する場合のクエリは以下のようになります。
設定を完了したら、「Save」をクリックして設定を保存し、「Sync Now」で同期を実行しましょう。
応用編:Dynamic Groupsによるユーザ管理
Dynamic Groupsとは
ここまで提示してきた「User Group」および「LDAP Query」によるフィルタリングは、
「ディレクトリ上に存在するどのユーザをCatoに連携するか」を制御する機能です。
一方、Dynamic Groupは、LDAP連携で作成されたユーザを、Cato上でグループ化する機能です。
これが何を意味するのか、具体的な利用例を挙げて説明します。
SDP Userをグループに所属させることで、Group単位でFirewall等の条件指定を行うことが可能です。
たとえば、「海外拠点のグループに所属しているSDP Userは、国内拠点内へのアクセスを禁止する」といった制御を行いたいケースはあるでしょう。
こうした場合、該当するSDP Userを特定グループに所属させたうえで、
転勤などで所属が変わった場合は都度所属ユーザの追加・削除を行うことになります。
ディレクトリサービス上でも行っている属性管理をCato上でも行わなければならないことになり、
二度手間になるだけでなく「変え忘れ」による過剰な権限残留のリスクも生じてしまいます。
こうした時に威力を発揮するのがDynamic Groupです。
Dynamic Groupで事前に「stがTokyoであるユーザのDynamic Group」「stがOsakaであるユーザのDynamic Group」等を定義しておけば、LDAP連携の情報更新のたびに、ディレクトリ側の属性を参照して自動的にグループの所属状況を更新してくれます。これにより、ディレクトリ側さえきちんと管理していれば、Cato側はメンテナンスフリーで所属拠点ごとの制御が実施できることになります。
上手く使いこなせれば非常に便利な機能なので、必要に応じてぜひ実装してみましょう。
Dynamic Groupsの設定手順
Dynamic Groupも、フィルタリング設定を行う場合と同様にLDAP設定の編集画面上で定義します。
CMAの[Access] > [Directory Service]の「LDAP」からLDAP設定の編集画面を開きます。
「Dynamic Groups」セクションを開き、以下のように内容を記述してから「Add」を押下することで定義が追加されます。追加されたことを確認したら、「Save」を実行して同期を行いましょう。
Group Name: 任意の名前
Query: LDAPクエリ文による条件指定
Dynamic Groupへの所属状況は、LDAP同期の度に更新されます。
[General]セクションで「Sync Daily」を有効にしておけば、毎日更新を反映することが可能です。
Dynamic Groupsの注意事項
Dynamic Groupsを設定するうえで、以下の制約事項に注意する必要があります。
- 名前の重複は不可
Dynamic Groupは、それぞれ一意の名前である必要があります。
「test」のようなよくある名前を作る際は注意しましょう。 - 利用できるLDAP属性は10種類まで
Dynamic Groupsのクエリで使用できる属性は、アカウント全体で10種類までとなっています。 - 合計50個まで
Dynamic Groupはアカウント全体で50個までしか作成できません。注意しましょう。
このほか、LDAPクエリ文自体に誤りがある場合も当然エラーが発生します。
クエリ文の作成知識を求められる点はLDAP Queryによるフィルタリングと同様ですが、
上手く使いこなしていきたいところです。
おわりに
今回は、CatoのLDAP連携におけるフィルタリング機能について、グループフィルタとLDAPクエリフィルタ、およびDynamic Groupsについて紹介しました。
フィルタリングを適切に設定することで、余計なユーザが作成されてしまうことを回避でき、視認性が向上するだけでなく、不適切なアクセス権限が作成される可能性を低減することが可能です。
また、Dynamic Groupsについても、運用上のリスクの一つである「組織移動などに伴う権限の外し忘れ」への対策の一つとなりえるポテンシャルを秘めています。
LDAPクエリを使用する場合は多少複雑な設定が必要となる場合もありますが、運用効率化にぜひご活用ください。




