このドキュメントでは、 Netskope Cloud Exchangeプラットフォームの Risk Exchange モジュール用の LDAP v1.0.0 プラグインを構成する方法について説明します。 このプラグインは、指定された検索ベースパスからユーザーを取得します。また、ユーザーに対するグループへの追加およびグループからの削除操作もサポートしています。
前提条件
この統合を完了するには、以下が必要です。
- Netskopeテナント(または、例えば本番環境と開発/テスト環境など、複数のテナント)。
- Netskope Cloud Exchangeテナントには、テナントプラグインとリスクエクスチェンジプラグインが既に設定済みです。
- LDAPサーバーのアドレス、ポート、ユーザー名、パスワード、検索ベース、および証明書(保護されたポートのケースのみ)。
LDAPプラグインのサポート
LDAPプラグインは、指定された検索ベースパスからユーザーを取得します。また、ユーザーに対するグループへの追加およびグループからの削除操作もサポートしています。
| 取得したデータの種類 | ユーザー |
|---|---|
| サポートされているアクション |
|
マッピング
マッピングは 取得されたユーザーとそのそれぞれの詳細を表示します。 プラグイン設定時にマッピングされたフィールドは、データが取得されるとレコードページに表示されます。以下は、プラグインの設定時に使用すべき推奨マッピングです。 プラグインの設定時に使用してください。
ユーザー向けプルマッピング
| プラグインフィールドラベル | 想定されるデータ型 | 推奨フィールドラベル | 提案された集約戦略 |
|---|---|---|---|
| ユーザープリンシパル名 | String | ユーザープリンシパル名 | Unique |
| 氏名(DN) | String | 氏名(DN) | Override |
| 電子メールアドレス | String | 電子メールアドレス | Override |
| ユーザーグループ | List | ユーザーグループ | Override |
| ユーザー名 | String | ユーザー名 | Override |
権限
LDAPプラグインを設定するユーザーアカウントには、次の権限が必要です:グループの作成、削除、管理。
APIの詳細
このプラグインはワークフローを実行するために ldap3 (v2.9.1) Python ライブラリを使用します。
- プラグイン ldap3のServerクラスを使用してサーバーオブジェクトを作成し、Connectionクラスを使用して接続を作成します。 また、安全な TLS 接続を作成するために TLS クラスを使用し、証明書を使用します。
- 以下に、その使用方法を示すスクリプトを示します。
tls = Tls(
validate=ssl.CERT_REQUIRED,
version=ssl.PROTOCOL_TLS,
ca_certs_data=ldap_cert,
)
server = Server(
host=(f"ldaps://{server_ip}" if ldap_cert else f"ldap://{server_ip}"),
port=port,
use_ssl=True if ldap_cert else self.ssl_validation,
tls=tls if ldap_cert else None,
connect_timeout=VALIDATION_TIMEOUT if is_validation else TIMEOUT,
)
conn = Connection(
server,
username,
password,
auto_bind=True,
authentication="SIMPLE",
raise_exceptions=True,
receive_timeout=(VALIDATION_TIMEOUT if is_validation else TIMEOUT),
)
検証呼び出しの場合、VALIDATION_TIMEOUTは60秒、その他の機能の場合、TIMEOUTは300秒であることに注意してください。
- プラグインを使う conn.extend.standard.paged_search ユーザーとグループをプルするメソッドはページネーションを使います。 1ページあたり最大10000人のユーザーを取得できます。
USER_SEARCH_FILTER = (
"(|(objectClass=person)(objectClass=inetOrgPerson)(objectClass=User))"
)
attributes = conn.extend.standard.paged_search(
search_base=search_base,
search_filter=USER_SEARCH_FILTER, #
attributes={
"userPrincipalName",
"mail",
"distinguishedName",
"name",
"memberOf",
},
search_scope="SUBTREE",
paged_size=10000,
generator=True,
time_limit=TIMEOUT,
)
for attribute in attributes:
# Logic to fetch users.
search_filter は使用ケースによって異なります。
- ユーザーを取得する: “(|(objectClass=person)(objectClass=inetOrgPerson)(objectClass=User))”
- ユーザーの更新: “(&(|(objectClass=person)(objectClass=inetOrgPerson)(objectClass=User))(|(userPrincipalName=testuser.ldap.local)))”
- グループを引っ張る:
- 検索フィルター: (objectClass=group)
- 属性: {“name”, “distinguishedName”}
- グループに追加アクションの場合、ad_add_members_to_groups メソッドは です。
ad_add_members_to_groups(
connection=conn,
members_dn=user_info.get("dn"),
groups_dn=group_info.get("dn"),
raise_error=True,
)
- グループからメンバーを削除するには、ad_remove_members_from_groups メソッドを使用します。 。
ad_remove_members_from_groups(
connection=conn,
members_dn=user_id,
groups_dn=group_id,
fix={
"member": user_id,
"group": group_id,
},
raise_error=True,
)
パフォーマンスマトリックス
以下は、これらの仕様を持つ大規模CEスタック上で50万人のユーザーをプルして実施したパフォーマンスマトリックスです。
| スタックサイズ | 大容量 RAM: 32 GB コア: 16 |
| 取得および更新されたホストレコードを保存するのに要した時間 | 約74分 |
ワークフロー
- 検索ベースパスを取得します。
- ユーザーに権限を追加する。
- LDAPプラグインを設定します。
- LDAP用のリスク交換ビジネスルールを追加します。
- LDAP のリスク交換アクションを追加します。
- LDAPプラグインを検証してください。
再生ボタンをクリックして動画をご覧ください。
検索ベースパスを取得する
検索ベースとは、グループを取得する必要のあるベースパスのことです。これはサーバーのバックエンドから取得できます。
- LDAPサーバーにアクセスしてください。
- サーバーマネージャーを開きます。
- ToolsをクリックしてActive Directory Administrative Centerを選択してください。

- 表示されている画面が表示されます。

- グループが保存されているフォルダーをどれでもSelect 。 例えば、グループは「ユーザー」ディレクトリに保存されます。

- 上部の画面Active Directory Administrative Center > ldapstest(local)をクリックしてください。
- それをクリックすると、この画面が表示されます。

- そのパスをコピーして プラグインの設定に貼り付けてください。
ユーザーに権限を付与する
ユーザーに権限を付与するには、以下の手順に従ってください。
- サーバーマネージャーを開いてください。
- ToolsをクリックしてActive Directory Users and Computersを開きます。
- ユーザーが存在するフォルダSelect 。 例えば、ユーザーディレクトリには「Test LDAP」というユーザーが存在します。そのディレクトリを右クリックしてDelegate Controlを開きます。

- Nextをクリックしてください。
- 権限を追加したいユーザーを選択するには、 Addをクリックしてください。
- 「追加」をクリックすると、このウィンドウが表示されます。オブジェクト名を入力してCheck Namesをクリックしてください。ユーザーが存在する場合は、自動的にフルネームが追加されます。

- OKをクリックしてください。
- Nextをクリックしてください。
- このウィンドウが表示されます。

- LDAP プラグインを実行するには、次の権限を付与する必要があります:
グループの作成、削除、および管理。 - Nextをクリックしてから、 Finishをクリックしてください。
- ユーザーはLDAPプラグインを実行する権限を持っています。
LDAPプラグインの設定
- Cloud Exchangeで Settings > Pluginsに行ってください。LDAP 1.0.0 (CRE)プラグインボックスを検索して選択します。

- 設定名を入力し、必要に応じて同期間隔を変更するか、デフォルト設定のままにしてください。

- Nextをクリックしてください。サーバーアドレス(IP/DNS)、ポート、ユーザー名、パスワード、検索ベース、および証明書(セキュリティで保護されたポートの場合)を入力してください。
- サーバーアドレス、ポート番号、ユーザー名、パスワードは、サーバー設定から取得できます。
- 検索ベースとは、ユーザーとグループを取得できるベースパスのことです。
例: CN=Users,DC=ldapstest,DC=local 。ここで、DCはドメインコンポーネント、CNはコンポーネント名です。

- サーバーアドレス(IP/DNS)、ポート、ユーザー名、パスワード、検索ベース、および証明書(セキュリティで保護されたポートの場合)を入力してください。
- サーバーアドレス、ポート番号、ユーザー名、パスワードは、サーバー設定から取得できます。
- 検索ベースとは、ユーザーとグループを取得できるベースパスのことです。
例: CN=Users,DC=ldapstest,DC=local 。ここで、DCはドメインコンポーネント、CNはコンポーネント名です。
- 証明書はサーバー管理者からも入手できます。
- Nextをクリックしてください。エンティティのドロップダウンからエンティティをSelectしてください。エンティティフィールドは、スキーマエディタページから作成することも、 フィールドドロップダウンから+ Add Fieldオプションを選択することもできます。 現場のマッピング情報を提供してください。推奨されるマッピングについては、 「マッピング」セクションを参照してください。

- Saveをクリックしてください。
- LDAPプラグインはRisk Exchange > Plugins .
で確認できます。
LDAP のリスク交換ビジネスルールを追加する
- Risk ExchangeでBusiness Rulesに移動してください。
- 右上隅のCreate New Ruleクリックしてください。
- ルール名を入力してください。LDAPプラグイン用に設定したフィールドに対応するエンティティをSelect 、要件に基づいてクエリを設定します。 この例では、LDAPプラグインから取得したすべてのユーザーを取得します。

- Saveをクリックしてください。作成可能なビジネスルールの例をいくつか示します。

LDAP のリスク交換アクションを追加する
LDAPプラグインは、以下のアクションタイプをサポートしています。
- 何もしない:このアクションに対しては何も行われません。ユーザーは、この操作を行い、[アラートの生成] トグルを有効にすることで、Ticket Orchestrator で UBA アラートを生成できます。 この操作を行い、[アラートの生成] トグルを有効にします。
- グループに追加:この操作は、LDAP上の選択したグループにユーザーを追加します。
- グループからの削除:この操作は、LDAP上の選択したグループからユーザーを削除します。
グループに追加
- Risk ExchangeでActionsに移動し、 Add Action Configurationをクリックします。
- ビジネスルールと、設定済みのプラグイン構成Select 。
- アクションにはAdd to Groupを選択してください。
- ユーザーがビジネス ルールを使用するユーザーを除外する必要がある場合、または静的電子メールを提供する必要がある場合は、アクション パラメーターでソースと電子メール アドレスを選択します。
- 「グループ」ドロップダウンメニューで、左側のドロップダウンリストから「静的」オプションを選択し、次にユーザーを追加する既存のグループを選択します。または、 Create new groupを選択して新しいグループを作成し、LDAPプラグインでユーザーをそのグループに追加してください。複数のグループを選択できます。
- In the New Group Name dropdown, provide the name of the new group if you have selected Create new group in the Groups dropdown.
- 「他のすべてのグループから削除」パラメーターで、左側のドロップダウンから「静的」を選択し、次にYesまたはNo選択します。 ケース。 「はい」を選択した場合、ユーザーは選択したグループに追加され、他のすべてのグループから削除されます。
- ユーザーに対して操作を実行する前に承認が必要な場合は、 「承認が必要」トグルを有効にしてください。

- Saveをクリックしてください。
グループから削除
- Risk ExchangeでActionsに移動し、 Add Action Configurationをクリックします。
- ビジネスルールと、設定済みのプラグイン構成Select 。
- アクションにはRemove from Groupを選択してください。
- ユーザーがビジネス ルールを使用するユーザーを除外する必要がある場合、または静的電子メールを提供する必要がある場合は、アクション パラメーターでソースと電子メール アドレスを選択します。
- 「グループ」ドロップダウンメニューで、左側のドロップダウンリストから「静的」オプションを選択し、次にユーザーを追加する既存のグループを選択します。または、 Create new groupを選択して新しいグループを作成し、LDAPプラグインでユーザーをそのグループに追加してください。複数のグループを選択できます。
- ユーザーに対して操作を実行する前に承認が必要な場合は、 「承認が必要」トグルを有効にしてください。
- Saveをクリックしてください。

No Action
- Risk ExchangeでActionsに移動し、 Add Action Configurationをクリックします。
- ビジネスルールと、設定済みのプラグイン構成Select 。
- アクションにはNo actionsを選択してください。
- Enable the Generate Alert toggle to generate alerts in the Ticket Orchestrator module.
- ユーザーに対して操作を実行する前に承認が必要な場合は、 「承認が必要」トグルを有効にしてください。

- Saveをクリックしてください。
LDAPプラグインを検証する
Cloud Exchangeで検証する
LDAP からユーザーを取得することを検証するには、 Loggingに移動し、構成名に基づいてログをフィルタリングします。例:メッセージ「CRE LDAP」のようなメッセージ。
Cloud Exchangeに保存されているプルされたレコードを確認するには、 Risk Exchange > Recordsにアクセスしてください。LDAPプラグインが設定されているエンティティと同じものSelect 。
アクションワークフローを検証するには:
グループに追加
Loggingに移動してログを確認すると、グループが正常に作成され、ユーザーがグループに正常に追加されたことがわかります。

グループから削除
Loggingにアクセスしてログを確認すると、ユーザーがグループから正常に削除されたことが確認できます。

LDAPで検証する
LDAPで利用可能なユーザーを確認するには、プラグインで設定されている検索ベースパスにアクセスしてください。
LDAP上のグループにユーザーが追加または削除されたことを確認するには、以下の手順に従ってください。
- LDAPサーバーでServer Managerを開く
- Toolsをクリックし、ドロップダウンメニューからActive Directory Administrative Centerを選択して開きます。
- LDAPプラグインの設定時に検索ベースで指定した検索ベースパスを開きます。

- ここでは、操作を実行する際に選択したグループを確認できます。

グループに追加アクションが実行されると、新しい ユーザーがそれぞれのグループのメンバーページに表示されます。
「グループから削除」操作の場合、削除されたユーザーはそれぞれのグループのメンバーページから削除されます。

LDAPプラグインのトラブルシューティング
CRE LDAPプラグインの設定ができません。
CRE LDAPプラグインの設定ができない場合、以下のいずれかの理由が考えられます。
- サーバーアドレス、ポート番号、LDAPサーバーのユーザー名、LDAPサーバーのパスワード、検索ベース、またはLDAP証明書が正しく入力されていません。
- ユーザーに十分な権限がない場合。
これらの問題を解決するには、以下の手順に従ってください。
- 検索ベースパスを取得するには、 「検索ベースパスの取得」セクションの手順に従ってください。
- 設定パラメータに適切な権限を付与するには、 「ユーザーに権限を付与する」セクションの手順に従ってください。
LDAPからユーザーを取得できません
LDAPプラグインからユーザーを取得できない場合、以下のいずれかの理由が考えられます。
- プラグインで指定されたLDAP検索パス上にユーザーが存在しません。
- プラットフォームからユーザーを取得する際にエラーが発生しました。
- エンティティソースページでプラグインを設定する際に、マッピングは追加されません。
これらの問題を解決するには、以下の手順に従ってください。
- プラットフォーム上のLDAP検索ベースパスにユーザーが存在するかどうかを確認してください。「LDAP検証」セクションに記載されている手順を確認してください。
- ユーザー情報の取得中にエラーが発生した場合は、ログに記録されます。
- プラットフォーム上でユーザーの権限が変更されていないか確認してください。
- プラグインの設定時に、マッピングが追加され、 「ユーザープリンシパル名」フィールドがマッピングされていることを確認してください。
ユーザーに対してアクションを実行できません
ユーザーに対して操作を実行できない場合、以下のいずれかの理由が考えられます。
- 当該行為に対する十分な許可が与えられていなかった。
- 操作中にエラーが発生しました。
- ユーザーは LDAP プラットフォーム上に存在しません。
- アクションの設定中に「承認が必要」の切り替えボタンが有効になっていましたが、リクエストは承認されていません。
これらの問題を解決するには、以下の手順に従ってください。
- 当該行為に対する十分な許可が与えられていなかった。
- LDAP プラットフォームに移動し、アクションを実行する必要があるユーザーが存在するかどうかを確認します。
- アクションを実行する必要のあるグループがプラットフォーム上に存在することを確認してください。
- Action Logsに移動し、リクエストを承認するログを選択して、 [承認]アイコンをクリックするか、設定済みのアクションの[承認が必要]トグルを無効にしてから、アクションを再度実行します。

