このドキュメントではCloud ExchangeプラットフォームでNetskope EDM プラグイン v1.0.0 を構成する方法について説明します。 このプラグインは 設定済みのEDMプラグインによって生成されたEDMファイルハッシュをNetskopeテナントにプッシュします。
このプラグインはプッシュ モードでのみ動作し、データ共有構成の宛先として使用することのみを目的としています。
Prerequisites
この設定を完了するには、以下が必要です。
- Cloud Exchangeでv2/RBACv3トークンを生成する権限が既に設定されているNetskopeテナント(または複数のテナント、例えば本番環境と開発/テスト環境)。
- テナントプラグインが設定され、完全一致データ一致モジュールが有効になっているNetskope Cloud Exchangeテナント。
- サポートされているサードパーティ製EDMプラグイン( Microsoft File Shareなど)が設定済みで、統合に使用できる状態であること。
完全一致データ一致プラグインの範囲
このプラグインは EDMファイルのハッシュ値をNetskopeテナントにプッシュするためのものです。
権限
Netskope EDMプラグインが正しく機能するためには、 Netskopeテナントを設定する際に、適切なロールを持つV2/V3トークンが設定されていることを確認してください。
| APIエンドポイント | 方法 | Permission |
|---|---|---|
| /api/v2/events/dataexport/events/alert | 得る | Read |
| /api/v2/services/dlp/edm/file/apply | 役職 | 読む+書く |
| /api/v2/services/dlp/edm/file/staging | 役職 | 読む+書く |
API Details
使うAPI一覧
| APIエンドポイント | 方法 | Permission |
|---|---|---|
| /api/v2/events/dataexport/events/alert | 得る | Read |
| /api/v2/services/dlp/edm/file/apply | 役職 | 読む+書く |
| /api/v2/services/dlp/edm/file/staging | 役職 | 読む+書く |
V2トークンを検証する
API Endpoint: https://<tenant-url> /api/v2/events/dataexport/events/alert
Method: 得る
Application Headers
| 鍵 | Value |
|---|---|
| Netskope-API-Token | <netskope_api_v2_token> |
| ユーザーエージェント | netskope-ce-6.0.0 |
Example API response
{
"result": [
{
"CononicalName": "string",
"_id": "string",
"access_method": "string",
"account_id": "string",
"account_name": "string",
"acked": "string",
"action": "string",
"activity": "string",
"alert": "string",
"alert_id": "string",
"alert_name": "string",
"alert_type": "string",
"app": "string",
"app_activity": "string",
"app_session_id": 0,
"appcategory": "string",
"appsuite": "string",
"asset_id": "string",
"asset_object_id": "string",
"breach_date": 0,
"breach_description": "string",
"breach_id": "string",
"breach_media_references": "string",
"breach_score": "string",
"breach_target_references": "string",
"browser": "string",
"browser_session_id": 0,
"browser_version": "string",
"bypass_traffic": "string",
"category": "string",
"cci": 0,
"ccl": "string",
"client_bytes": 0,
"compliance_standards": [
"string"
],
"conn_duration": 0,
"conn_endtime": 0,
"conn_starttime": 0,
"connection_id": 0,
"count": 0,
"data_type": "string",
"device": "string",
"device_classification": "string",
"dlp_file": "string",
"dlp_incident_id": 0,
"dlp_is_unique_count": "string",
"dlp_mail_parent_id": "string",
"dlp_parent_id": 0,
"dlp_profile": "string",
"dlp_rule": "string",
"dlp_rule_count": 0,
"dlp_rule_severity": "string",
"dlp_unique_count": 0,
"domain": "string",
"dst_country": "string",
"dst_geoip_src": 0,
"dst_latitude": 0,
"dst_location": "string",
"dst_longitude": 0,
"dst_region": "string",
"dst_timezone": "string",
"dst_zipcode": "string",
"dsthost": "string",
"dstip": "string",
"dstport": 0,
"email_source": "string",
"event_type": "string",
"evt_src_chnl": "string",
"exposure": "string",
"external_collaborator_count": 0,
"external_email": 0,
"file_cls_encrypted": true,
"file_lang": "string",
"file_path": "string",
"file_size": 0,
"file_type": "string",
"from_user": "string",
"fromlogs": "string",
"hostname": "string",
"http_transaction_count": 0,
"iaas_asset_tags": [
"string"
],
"iaas_remediated": "string",
"instance": "string",
"instance_id": "string",
"internal_collaborator_count": 0,
"justification_reason": "string",
"justification_type": "string",
"last_app": "string",
"last_country": "string",
"last_device": "string",
"last_location": "string",
"last_region": "string",
"last_timestamp": 0,
"log_file_name": "string",
"malicious": "string",
"malsite_category": [
"string"
],
"malsite_country": "string",
"malsite_id": "string",
"malsite_ip_host": "string",
"malsite_latitude": 0,
"malsite_longitude": 0,
"malsite_region": "string",
"managed_app": "string",
"managementID": "string",
"matched_username": "string",
"md5": "string",
"mime_type": "string",
"modified": 0,
"netskope_activity": "string",
"netskope_pop": "string",
"notify_template": "string",
"nsdeviceuid": "string",
"numbytes": 0,
"object": "string",
"object_id": "string",
"object_type": "string",
"org": "string",
"organization_unit": "string",
"orig_ty": "string",
"orignal_file_path": "string",
"os": "string",
"os_version": "string",
"other_categories": [
"string"
],
"outer_doc_type": 0,
"owner": "string",
"page": "string",
"page_site": "string",
"parent_id": "string",
"password_type": "string",
"policy": "string",
"policy_actions": [
"string"
],
"policy_id": "string",
"profile_id": "string",
"protocol": "string",
"referer": "string",
"region_id": "string",
"region_name": "string",
"req_cnt": 0,
"request_id": 0,
"resource_category": "string",
"resource_group": "string",
"resp_cnt": 0,
"sAMAccountName": "string",
"sa_profile_id": 0,
"sa_profile_name": "string",
"sa_rule_id": "string",
"sa_rule_name": "string",
"sa_rule_severity": "string",
"sanctioned_instance": "string",
"scan_type": "string",
"serial": "string",
"server_bytes": 0,
"sessionid": "string",
"severity": "string",
"severity_level": "string",
"severity_level_id": 0,
"sfwder": "string",
"sha256": "string",
"shared_domains": "string",
"shared_with": "string",
"site": "string",
"src_country": "string",
"src_geoip_src": 0,
"src_latitude": 0,
"src_location": "string",
"src_longitude": 0,
"src_region": "string",
"src_time": "string",
"src_timezone": "string",
"src_zipcode": "string",
"srcip": "string",
"suppression_end_time": 0,
"suppression_key": "string",
"suppression_start_time": 0,
"telemetry_app": "string",
"threat_match_field": "string",
"threat_match_value": "string",
"threat_source_id": 0,
"threshold": 0,
"threshold_time": 0,
"timestamp": 0,
"title": "string",
"to_object": "string",
"total_collaborator_count": 0,
"traffic_type": "string",
"transaction_id": 0,
"true_obj_category": "string",
"true_obj_type": "string",
"tss_mode": "string",
"two_factor_auth": "string",
"type": "string",
"universal_connector": "string",
"ur_normalized": "string",
"url": "string",
"user": "string",
"userPrincipalName": "string",
"user_generated": "string",
"user_id": "string",
"useragent": "string",
"userip": "string",
"userkey": "string",
"web_universal_connector": "string"
}
]
}
EDMハッシュファイルをステージング環境にアップロードする
API Endpoint: https://<tenant-url> /api/v2/services/dlp/edm/file/staging
Method: 役職
Application Headers
| 鍵 | Value |
|---|---|
| Netskope-API-Token | <netskope_api_v2_token> |
| ユーザーエージェント | netskope-ce-6.0.0 |
| Content-Type | アプリケーション/json |
Request Body
{
"edm_filename": "customers.csv",
"tgz_filename": "customers.tgz",
"sha1": "d6727f9b11c80631773a993c9823e60634b138b4",
"size": 15000,
"keep_staging": true,
"description": "This is the staging file for customers.tgz file on 2024-06-24"
}
Example API response
{
"fileid": "4841a51417666e38760860b2c4e5b5b48627d2c4",
"uploadid": "MzBlZWE4Y2YtMzZmYy00MGI5LThhNDktNWU2MTk5OWI1NjAzLjBmM2Q4YmI1LTM4OTctNDY2Yy05ZjQ5LTk1N2FmZWNjYjk5NQ",
"part_max_size": 16000000,
"msg": "Optional message"
}
段階的EDMハッシュファイルを適用する
API Endpoint: https://<tenant-url> /api/v2/services/dlp/edm/file/apply
Method: 役職
Application Headers
| 鍵 | Value |
|---|---|
| Netskope-API-Token | <netskope_api_v2_token> |
| ユーザーエージェント | netskope-ce-6.0.0 |
| Content-Type | アプリケーション/json |
Request Body
{
"fileid": fileid
}
Example API response
status code: 201
Response None
Netskope EDMプラグインのサポート
| 特徴 | サポート |
|---|---|
| Pull | いいえ |
| Push | はい |
パフォーマンスマトリックス
以下は、これらの仕様を持つ大規模Cloud Exchangeインスタンスで、約100万行(25列、各列は約30文字の文字列、各列に0.3Mの一意の値)のデータに対してハッシュをプッシュした際のパフォーマンス測定結果です。
| デスクリプション | Specifications |
|---|---|
| スタックの詳細 | サイズ:大 RAM:32 GB CPU:16コア |
| ソースからNetskopeテナントにハッシュがプッシュされる(辞書なし) | 約10分 |
| ソースからNetskopeテナントへハッシュを辞書(2~3列)とともに送信します | 約14分 |
ユーザーエージェント
このプラグインで追加されるユーザーエージェントの形式は次のとおりです。
netskope-ce-<ce_version>
例: Netskope -ce-6.0.0
ワークフロー
- Generate a v2 token for your Netskope tenant.
- Create Netskope Tenant Using V2 Auth Token.
- Netskope EDMプラグインを設定します。
- EDMサードパーティプラグインとNetskope EDMプラグイン間の共有を設定します。
- 設定済みの共有設定の状態を確認してください。
動画を見る
再生ボタンをクリックして動画をご覧ください。
Generate a V2 (RBACv3) Token
- Netskopeテナントで、 Settings > Administration > Administrators & Roles > Roles.

- Newをクリックして新しい役割を作成します。ロールネームとショートロールを入力すると、デスクリプションです。 権限設定でDLPが選択されていることを確認してください。

- DLP > DLPプロファイルに対してManage And Applyアクセス許可Select 。
スコープIT -> アラート -> 権限の管理で
が選択されています
Skope IT で、Skope IT > アラートの権限Manageを選択します。

- Service Accountをクリックしてください。
- サービスアカウント名を入力してください。
- サービスアカウント用に作成した役割Select 。
- 有効期限を入力してください。日、時間、週、年からSelect 。

- Saveをクリックしてトークンをコピーしてください。これは、 Cloud ExchangeでNetskopeテナント プラグインを設定するための手順です。
Configure Netskope EDM Plugin
- Cloud Exchange で、 Settings > Plugin Storeに移動します。
- Netskope Exact Data Match (EDM)プラグインボックスを検索して選択します。

- 基本情報を入力してください:
- Configuration Name統合に適した名前を指定してください。
- Tenant Name: Select tenant name from the dropdown.

- 必要に応じてオプションの詳細を変更します:
Enable SSL verification : SSL 経由で通信するためのトグルを有効にします。(デフォルト=無効) - Saveをクリックしてください。
- Exact Data Match > Pluginsページにリダイレクトされ、そこで設定済みのプラグインを確認できます。

サードパーティ製EDMプラグインとEDMプラグイン間の共有を設定する
- Exact Data Match > Sharingへ移動してください。
- Add Sharing Configurationをクリックしてください。

- Source Configuration: 設定済みのサードパーティ製プラグインSelect 。
- Destination Configuration: 宛先構成としてNetskope EDMプラグインSelect 。

- Target: 値は、選択された宛先構成に応じて自動的に設定されます。
- Saveをクリックしてください。
Netskope EDMプラグインを検証する
設定済みの共有のステータスを監視します
Exact Data Match > Sharing and Upload Managementへ移動してください。ここでは、設定されているすべての共有設定のステータス一覧が表示されます。
ステータス値は以下のとおりです。
- Scheduled: 共有設定が完了しており、プル操作とプッシュ操作が処理待ちのキューに入っていることを示します。
- Generating Hash: ハッシュの生成プロセスが開始されたことを示します。 この段階では、バックグランドに、フェッチ > 検証 > サニタイズ (選択した場合) > ハッシュの生成ステージが含まれます。
- Uploading Hash: 宛先構成へのハッシュのアップロードが開始されたことを示します。
- Upload Completed: ハッシュが宛先設定にアップロードされたことを示します。
- Checking Apply Status: この段階では、ハッシュ化のステータスチェックが宛先構成に適用されます。
- Apply In Progress: これは、ハッシュ処理が宛先で開始され、進行中の状態であることを示しています。
- Completed: ハッシュファイルが宛先設定に正常にプッシュされたことを示します。
- Failed: アクションの最終結果の実行に失敗したことを示します。実行されるアクションは、ハッシュの生成、ハッシュのアップロード、適用状況の確認です。

Validate the Push on Netskope Tenant
NetskopeテナントへのCloud ExchangeからのEDMハッシュのプッシュを確実に行うには:
- Netskopeテナントにログインしてください。

- Policies > DLPへ移動してください。

- Edit RulesをクリックしてDLP Rulesを選択してください。

- Exact Matchタブには、ファイルの一覧が表示されます。

Troubleshooting
Unable to share hashes
ハッシュを共有できない場合は、次のようなエラーが表示されます。
Error response: { “message”:“You cannot consume this service” }
What to do: 上記の問題を解決するには、NetskopeテナントのV2トークンに以下のエンドポイントを追加してください。
| APIエンドポイント | Permission |
|---|---|
| /api/v2/events/dataexport/events/alert | Read |
| /api/v2/services/dlp/edm/file/staging/list | Read |
| /api/v2/services/dlp/edm/file/apply | 読む+書く |
| /api/v2/services/dlp/edm/file/staging | 読む+書く |
Limitations
- Netskope EDMハッシュファイルが保持できるデータの最大サイズは8MBです。ビジネスルールを設定する際は、この点に留意してください。
- ソースデータの列名には、特殊文字やスペースを含めないでください。代わりにアンダースコアを使用してください。
- Netskopeテナント上のEDMハッシュファイル名は、Cloud Exchangeで指定された構成名と同じになります。
Known Behavior
- 共有処理がどの段階(ハッシュの生成、ハッシュのアップロード、適用状況の確認など)で失敗した場合、ステータスは「失敗」とマークされ、詳細なエラーログはログ記録セクションで確認できます。
- このプラグインは、Netskopeテナント上のハッシュの適用状況を定期的にチェックします。データのサイズによっては、この処理に時間がかかる場合があります。
- Netskopeテナントにハッシュが正常に適用された後は、Cloud Exchangeから直接削除することはできません。NetskopeのテナントUIからそれらを削除する必要があります。
- Netskope EDMプラグインで共有を設定し、テナントがファイルをアップロードして処理すれば、すべて正常に動作します。後でCSVの列の順序を変更したり、列を追加または削除したりすると、Netskopeテナントにハッシュを適用する際に、テナントは以下のエラーを発生させます。この問題を解決するには、お客様はNetskopeテナントから以前にアップロードしたEDMハッシュファイルを削除する必要があります。


