リリースノート
1.1.0
Added
- 設定可能な区切り文字のサポートを追加しました。検証機能付きのカスタム値も含まれています。
- CSVファイルから引用符を削除する機能を追加しました。
Changed
- ロガーとツールチップを更新しました。
1.0.1
Fixed
- CSVパスに関するプラグインの検証を修正しました。
- 健全性確認ステップレベルの検証を修正しました。
1.0.0
Added
- 初回リリース。
このドキュメントでは、Microsoft ファイル共有 EDM v1.1.0 の構成方法について説明します。Netskope Cloud Exchangeプラットフォームの Exact Data Match モジュールを備えたプラグイン。 このプラグインは、Microsoft WindowsサーバーからCSVファイルを取得します。 SMBまたはSFTPプロトコルを使用し、定義されたプラグイン構成に従って完全一致データ一致(EDM)ハッシュを生成します。
このプラグインは、ネイティブなMicrosoftファイル共有のためのSMB(Server Message Block)と、安全なファイル転送のためのSFTP(SSH File Transfer Protocol)という2つのプロトコル接続をサポートしています。この柔軟性により、組織はセキュリティ要件とインフラストラクチャ構成に基づいて、最適なプロトコルを選択できる。
前提条件
この設定を完了するには、以下が必要です。
- Netskopeテナント(または、例えば本番環境と開発/テスト環境など、複数のテナント)。
- Netskope Cloud Exchangeテナントには、テナントプラグインと完全一致データ一致プラグインが既に設定されています。
- ネットワークファイル共有機能を備えたMicrosoft Windowsサーバー。
- EDMハッシュ生成のために処理されるデータを含むCSVファイルは、Microsoftサーバーに保存されています。
- Microsoft サーバー上の CSV ファイルに対する読む権限を持つ適切なユーザー クレデンシャル。
For the SMB Protocol
- ネットワーク共有が有効になっている(SMB/CIFSサービスが稼働している)Microsoftサーバー。
- 適切なアクセス権限が設定された共有フォルダ。
- SMBポート(通常は445番)を介したMicrosoftサーバーへのネットワーク接続。
For the SFTP Protocol
- OpenSSHサービスが有効化され、設定されているMicrosoftサーバー。
- SSHサービスが稼働しており、Cloud Exchangeからアクセス可能です。
- SFTPプロトコル(通常はポート22)を介したMicrosoftサーバーへのネットワーク接続。
Microsoft ファイル共有プラグインのサポート
このプラグインは、Microsoft WindowsサーバーからCSVファイルを取得します。 SMBまたはSFTPプロトコルを使用し、定義されたプラグイン構成に従って完全一致データ一致(EDM)ハッシュを生成します。 このプラグインは、最大限の柔軟性とさまざまなネットワーク環境との互換性を実現するために、デュアルプロトコル接続をサポートしています。
| 特徴 | サポート |
|---|---|
| Pull | はい |
| Push | いいえ |
権限とマッピング
Microsoftサーバーのアクセス許可
| 権限の種類 | SMMプロトコル | SFTPプロトコル |
|---|---|---|
| ファイルを読む アクセス | Required | Required |
| ネットワーク共有アクセス | Required | 必須ではありません |
| SSHアクセス | 必須ではありません | Required |
| 港湾アクセス | 445 (SMB) | 22 (SSH) |
必要な権限
プラグインの設定には、以下の権限が必要です。
For the SMB Protocol
- Microsoft Server ユーザーは、共有フォルダーと CSV ファイルへのアクセス権を持っている必要があります。
- ポート445でMicrosoftサーバーへのネットワーク接続が必要です。
- Microsoftサーバー上でSMB/CIFSサービスが有効になっています。
For the SFTP Protocol
- SSH ユーザーは、指定された CSV ファイルに対する読み取り権限を持っている必要があります。
- 設定されたポート(デフォルト:22)でMicrosoftサーバーへのネットワーク接続が必要です。
- Microsoftサーバー上でOpenSSHサービスが有効になり、実行されています。
APIの詳細
List of Libraries Used
このプラグイン Microsoft Windowsサーバーへの接続を確立し、SMBまたはSFTPプロトコルを介してCSVファイルを転送するためのPythonライブラリ。
For the SMB Protocol
- Library: pysmb – 純粋なPython製SMB/CIFSライブラリ
- Usage: pysmbは、PythonアプリケーションがSMB/CIFS共有フォルダにアクセスしたり、SMB/CIFS共有フォルダとの間でファイルを転送したりできるようにする、純粋なPythonによるSMB/CIFSプロトコルの実装です。プラグイン pysmbを使用してWindowsの共有フォルダに接続し、サーバーで認証を行い、SMBプロトコル経由でCSVファイルを安全にダウンロードします。
For the SFTP Protocol
- Library: Paramiko – Python 用 SSH2 プロトコルライブラリ
- Usage: Paramikoは、クライアント機能とサーバー機能の両方を提供する、純粋なPythonによるSSHv2プロトコルの実装です。プラグイン Paramikoは、WindowsでOpenSSHが有効になっている場合に、安全なSFTP接続を作成し、Windowsサーバーで認証を行い、CSVファイルを安全に転送します。
SMBプロトコルの実装
Create a SMB Connection
from ..lib.smb.SMBConnection import SMBConnection
connection = SMBConnection(
username=configuration.get("smb_username"),
password=configuration.get("smb_password"),
my_name="netskope_machine",
remote_name=configuration.get("smb_machine_name"),
)
# Connect to the server
connection_result = connection.connect(
ip=configuration.get("smb_server_ip"),
)
Download a CSV File via SMB
with open(csv_file_path, "wb") as file_object:
if record_count:
# Partial file retrieval (for sample data)
smb_connection.retrieveFileFromOffset(
shared_directory_name,
remote_file_path,
file_obj=file_object,
offset=0,
max_length=record_count * 5 * 1024,
)
else:
# Full file retrieval
smb_connection.retrieveFile(
shared_directory_name,
remote_file_path,
file_obj=file_object,
)
Close and SMB Connection
smb_connection.close()
SFTPプロトコルの実装
Create an SSH Client Connection
from ..lib import paramiko
ssh_connection = paramiko.SSHClient()
ssh_connection.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_connection.connect(
hostname=configuration.get("sftp_server_ip"),
username=configuration.get("sftp_username"),
password=configuration.get("sftp_password"),
port=configuration.get("sftp_port"),
)
Create an SFTP Client
with ssh_connection.open_sftp() as sftp_session:
# SFTP operations here
pass
Download a CSV File via SFTP
with ssh_connection.open_sftp() as sftp_session:
if record_count:
# Partial file retrieval (for sample data)
file_content = []
with sftp_session.file(
remote_file_path, "r"
) as remote_file:
for _ in range(record_count + 1):
record = remote_file.readline()
if not record:
break
file_content.append(record)
with open(
csv_file_path, "w", encoding="utf-8", newline="\n"
) as local_file:
local_file.writelines(file_content)
else:
# Full file retrieval
sftp_session.get(remote_file_path, csv_file_path)
Close SFTP Connections
ssh_connection.close()
Protocol Parameters
SMB Protocol Parameters
| パラメータ | Value |
|---|---|
| プロトコル | SMB/CIFS(サーバーメッセージブロック) |
| Default Port | 445 |
| 認証 | Username/Password |
| 接続タイプ | ネットワークファイル共有 |
| 対応バージョン | SMB 2.0, SMB 3.0 |
SFTP Protocol Parameters
| パラメータ | Value |
|---|---|
| プロトコル | SFTP(SSHファイル転送プロトコル) |
| Default Port | 22 |
| 認証 | Username/Password |
| 接続タイプ | セキュアシェル(SSH) |
| 暗号化 | SSH-2プロトコル |
Performance Matrix
以下は、以下の仕様を持つ大規模CEインスタンスで、約100万行(25列、各列は約50文字の文字列、サイズ1.3GB、平均列一意性:約96%、平均行一意性:約96%)のCSVファイルを取得およびサニタイズするために実施したパフォーマンス測定結果です。
| デスクリプション | 仕様 |
|---|---|
| スタックの詳細 | サイズ:大 RAM:32 GB CPU:16コア |
| サニタイズされていないMicrosoftファイル共有から取得したCSVデータ | 約7.4K行/秒 |
注記
- このパフォーマンス測定は、Windowsインスタンス上でSMBプロトコルを設定した状態で実施されました。
- CEインスタンスのディスク容量については、こちらのドキュメントを参照してください。
Performance Comparison
- SFTPプロトコルは、SMBと比較して約50%優れたパフォーマンスを示します。
- 消毒処理は、どちらのプロトコルにおいても処理速度を約55~65%低下させる。
- パフォーマンスとセキュリティの向上には、SFTPの使用をお勧めします。
ワークフロー
- Microsoft Windowsサーバー(SMBまたはSFTP)を設定します。
- Microsoftファイル共有EDMプラグインを設定します。
- Microsoft File Share EDMプラグインとNetskope EDMプラグイン間の共有設定を行います。
- Microsoftファイル共有EDMプラグインを検証します。
動画を見る
再生ボタンをクリックして動画をご覧ください。
Microsoft Windows Server を構成する
SMBファイル共有の場合
- 共有したいフォルダを見つけるか、作成してください。
- フォルダを右クリックしてPropertiesを選択します。
- Go to the Sharing tab and click Advanced Sharing.
- Share this folderを確認してください。
- 必要に応じて、共有に名前を付けてください。
- 必要に応じて共有名を変更し、 Permissionsをクリックしてアクセス制御を設定します。
- Permissionsウィンドウで、アクセス権を付与するユーザーまたはグループを選択してください。
- 必要なユーザーが「グループ名またはユーザー名」セクションにリストされていない場合は、 Addをクリックしてください。Advanced Select 、 Find Nowをクリックして、リストからユーザーを選択してください。
- 追加後、ユーザーがPermissionsダイアログボックスに表示されていることを確認し、そのユーザーがフォルダに対してRead権限を持っていることを確認してください。
- アクセスレベルを設定します(閲覧、変更、またはフルコントロール)。
- ApplyとOKをクリックしてください。
- 変更を保存し、 Network Pathのコンピューター名の直後にフォルダー名が表示されていることを確認してください。
WindowsサーバーでSFTP用にOpenSSHを有効にする手順
WindowsサーバーでOpenSSHサービスを有効にするには、以下の手順に従ってください。
https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse?tabs=gui
Microsoftファイル共有EDMプラグインの設定
-
Cloud Exchange で、 Settings > Plugin Storeに移動します。
-
Microsoft File Share EDM v1.1.0プラグインボックスを検索して選択します。

-
基本情報を入力してください:
-
Configuration Name: 統合内容に適した名前を入力してください。
指定した構成名はNetskopeテナントと共有する生成されたハッシュファイルの名前になります。 後でこの設定を削除して同じ名前で新しい設定を作成する場合、ハッシュファイルがNetskopeテナントに既に存在している可能性があることに注意してください。このような場合、ハッシュファイルをテナントにプッシュしようとすると、同じ名前のファイルが既に存在するため、エラーが発生します。 この問題を回避するには、一意の名前を使用することを検討してください。 -
Sync Interval: 必要に応じて同期間隔を調整してください。(デフォルト:12時間)

-
-
Protocol Selection: Microsoftサーバーに接続するためのプロトコルを選択してください。
- SMB: Microsoftベースのシステム向けにネイティブに設計されたプロトコル。社内ネットワークに最適です。
- SFTP: 安全なファイル転送プロトコル。比較すると、より高速で安全です。WindowsではOpenSSHサービスが必要です。

-
Next をクリックして、設定パラメータを入力してください。
-
Configuration Parameters For SMB:
-
Server IP/Hostname: WindowsサーバーのIPアドレスまたはホスト名。
-
Machine Name: WindowsサーバーのNetBIOSマシン名。
-
Username: 共有ディレクトリへの「読む」アクセス権を持つユーザー名。
-
Password: ユーザー名に関連付けられたパスワード。
-
Shared Directory Name: 共有ディレクトリの名前。
-
CSV File Path: 共有ディレクトリからの相対パスで、CSVファイルへのパスを指定します。
-
Delimiter: 単一文字区切り文字 CSV/TXTファイル内(例: (コンマ、パイプ、セミコロン)。
-
Remove Quotes: CSVファイルでフィールドが二重引用符で囲まれている場合(特に値にカンマが含まれている場合)は、チェックマークを付けてください。引用符で囲まれたフィールドは、単一の列として解析されます。引用符の位置が不適切だと、行がスキップされる可能性があります。

-
-
Configuration Parameters For SFTP:
-
Server IP/Hostname: WindowsサーバーのIPアドレスまたはホスト名。
-
Username: CSV ファイルへの「読む」アクセス権を持つユーザー名。
-
Password: ユーザー名に関連付けられたパスワード。
-
Port: OpenSSHサービスに接続するためのポート番号(デフォルト:22)。
-
CSV File Path: サーバー上のCSVファイルへのフルパス。
-
Delimiter: 単一文字区切り文字 CSV/TXTファイル内(例: (コンマ、パイプ、セミコロン)。
-
Remove Quotes: CSVファイルでフィールドが二重引用符で囲まれている場合(特に値にカンマが含まれている場合)は、チェックマークを付けてください。引用符で囲まれたフィールドは、単一の列として解析されます。引用符の位置が不適切だと、行がスキップされる可能性があります。
デフォルトでは、引用符は文字通りのテキストとして扱われます。CSVファイルで引用符を削除するトグルを有効にしてください。 カンマを含むフィールド("123 ABC Street, Suite 100"など)を囲むには、二重引用符を使用します。 これにより、そのフィールドが単一の列として扱われることが保証されます。このモードでは、厳密なCSVフォーマットが必須となることに注意してください。フィールドが引用符で始まる場合、閉じ引用符の後に続き、コンマの前にある文字(スペースを含む)(例:"Word",)があると、その行はスキップされます。 -
-
-
Next をクリックしてHash Generation and Sanitization Parameters:を入力してください。
-
サニタイズおよびハッシュ生成操作に適したオプションSelect 。
- Sanitization (Name Column): 「名前列」チェックボックスをオンにして、コンテンツをサニタイズしてください。(デフォルト:チェックなし)消毒処理では、以下の動作が行われます。
- One character: セルに文字が1つしか含まれていない場合、そのセルは無効とみなされます。
- Digits: 数字を含むセルは無効としてマークされます。
- Stopwords: リストにあるストップワードに一致するセルは無効としてマークされます(これは、[ストップワードを削除] チェックボックスがオンになっている場合にのみ機能します)。
- Non-alphanumeric characters: セルを検証するには、すべての特殊文字を削除してください。
- ハッシュ生成は2つの部分に分かれています。
- Normalization: ドロップダウンリストから値Select 、データ値を正規化してください。 (デフォルト:なし)
- Create Dictionary: ドロップダウンから値Select 、選択したフィールドの一意の値の辞書を作成します。 NetskopeテナントのDLPルールで使用できます。 (デフォルト:なし)
- Sanitization (Name Column): 「名前列」チェックボックスをオンにして、コンテンツをサニタイズしてください。(デフォルト:チェックなし)消毒処理では、以下の動作が行われます。
-
Remove Stopwords: サニタイズ処理の一環として特定のストップワードを削除する場合は、チェックマークを付けてください。(デフォルト:チェックなし)変更内容を反映させるため、該当するフィールドの「名前」列にチェックが入っていることを確認してください。
注記
- 使う 正規化パラメータで取得した結果を正規化します。 例えば、123-45-6789や123 45 6789のような番号は、123456789として扱われます。数値の正規化では、ドット、ダッシュ、スペースなどの文字は無視されます。文字列正規化は文字のケース感度を無視します。
- 「辞書の作成」オプションは、必要な場合にのみ使用してください。この操作はリソースを大量に消費し、システムパフォーマンスに影響を与える可能性があります。 最適な効率性を得るために、このオプションを慎重に選択してください。

-
-
Nextをクリックしてください。Preview Good FileまたはPreview Bad Fileをクリックして、サニタイズサンプルの出力をプレビューしてください。
プラグインをサニタイズ機能を有効にして使用している場合、追加処理が発生するためパフォーマンスが異なる場合があります。 -
Proceed without sanitization: 消毒処理を進めるには、このオプションのチェックを外してください。(デフォルト:チェック済み)
このオプションのチェックを外すと、すべてのデータがハッシュ生成の対象となります。チェックを外すと、有効なファイルの内容のみがハッシュ生成の対象となります。 -
Saveをクリックしてください。「完全一致データ一致」>「プラグイン」ページにリダイレクトされ、設定済みのプラグインを確認できます。

Microsoft ファイル共有の共有を構成する
共有構成は、生成された EDM ハッシュを宛先プラットフォームと共有するために使用されます。 EDMハッシュをNetskopeテナントと共有するには、共有設定を作成します。 以下の手順に従ってください。
-
Exact Data Match > Sharingに移動してAdd Sharing Configurationをクリックしてください。

-
共有パラメータを設定します。
- Source Configuration: 設定済みのMicrosoftファイル共有EDMプラグインSelect 。
- Destination Configuration: EDMハッシュの共有先Select 。
- Target: 値は、選択された宛先構成に応じて自動的に設定されます。

-
Saveをクリックしてください。
Validate the Microsoftファイル共有EDMプラグイン
Cloud Exchangeで検証する
Cloud Exchange で構成済みのプラグインが正しくプルされたことを確認するには、 Settings > Loggingに移動して、Microsoft File Share EDM プラグインのログを検索してください。
プラグインの動作は、Cloud Exchange のLogging にあるログから確認できます。

ステータス値は以下のとおりです。
- Scheduled: 共有が設定されており、プル操作とプッシュ操作が処理待ちのキューに入っていることを示します。
- Generating Hash: ハッシュ生成プロセスが開始されたことを示します。 この段階には、データの取得 > 検証 > サニタイズ(有効な場合) > ハッシュの生成が含まれます。
- Uploading Hash: 宛先構成へのハッシュのアップロードが開始されたことを示します。
- Upload Completed: ハッシュが宛先設定にアップロードされたことを示します。
- Checking Apply Status: ハッシュが宛先構成に適用された状態を確認します。
- Apply In Progress: ハッシュ プロセスが開始され、宛先で進行中です。
- Completed: ハッシュファイルが宛先構成に正常にプッシュされたことを示します。
- Failed: アクションの最終結果が実行されなかったことを示します。実行されるアクションは、ハッシュの生成、ハッシュのアップロード、適用状況の確認です。
共有EDMハッシュは、Cloud ExchangeのLogging にあるログから確認できます。

Validate in the Netskope Tenant
Cloud ExchangeからNetskopeテナントへのEDMハッシュのプッシュを確実に行うには:
-
Netskopeテナントにログインし、 Policies > DLPに移動します。

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

-
On the Exact Match tab, a list of files is shown.

EDM Microsoftファイル共有プラグインのトラブルシューティング
Microsoft ファイル共有プラグインを構成できません
Microsoft File Share EDMプラグインを構成できない場合、以下のいずれかの理由が考えられます。
For the SMB Protocol
- 間違った SMB クレデンシャルが提供されました。
- Windowsサーバー上でSMB/CIFSサービスが実行されていません。
- ポート445へのネットワーク接続に問題が発生しています。
- 共有フォルダの設定が正しくありません。
- ユーザーには共有ディレクトリに対する読む権限がありません。
For the SFTP Protocol
- 間違った SSH クレデンシャルが提供されました。
- Windowsサーバー上でOpenSSHサービスが実行されていません。
- ポート22へのネットワーク接続に問題が発生しています。
- SSHサービスが正しく設定されていません。
- ユーザーには CSV ファイルを読む権限がありません。
What to do:
For SMB Protocol:
-
SMB クレデンシャルと共有フォルダーへのアクセスを確認します。
cmd net use \\\\server_ip\\shared_folder /user:username password -
WindowsサーバーでSMBサービスのステータスを確認する:
Get-Service -Name LanmanServer -
ネットワーク接続をテストする:
telnet server_ip 445
For SFTP Protocol:
-
SSH クレデンシャルを確認します。
bash ssh username@server_ip -p port_number -
OpenSSHサービスのステータスを確認する:
Get-Service -Name sshd -
ネットワーク接続をテストする:
telnet server_ip 22
プロトコル固有の接続問題
SMB Connection Failures
SMB接続が失敗した場合:
What to do:
- WindowsサーバーでSMBが無効になっている場合は有効にする:
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol - SMB 用に Windows ファイアウォールを設定する:
New-NetFirewallRule -DisplayName "SMB-In" -Direction Inbound -Protocol TCP -LocalPort 445 - 共有フォルダーのアクセス許可を確認し、ユーザーに「読む」アクセス権があることを確認してください。
SFTP Connection Failures
SFTP接続が失敗した場合:
What to do:
- OpenSSHサーバーがインストールされていない場合はインストールしてください。
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 - SSH サービスを開始して構成します。
Start-Service sshd Set-Service -Name sshd -StartupType 'Automatic' - WindowsファイアウォールでSSHの設定を行う:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
CSVファイルが見つからないか、アクセスが拒否されました。
ファイルが見つからない、またはアクセスが拒否されたというエラーが表示される場合。
What to do:
- CSVファイルのパスが正しいこと、およびファイルが存在することを確認してください。
- ユーザーがファイルに対する読む権限を持っていることを確認してください。
- ファイルが他のプロセスによってロックされていないか確認してください。
- SMBの場合:パスが共有ディレクトリからの相対パスであることを確認してください。
- SFTPの場合:パスがサーバー上の完全な絶対パスであることを確認してください。
ハッシュ生成が失敗するか、時間がかかりすぎる
ハッシュ生成が失敗した場合、またはパフォーマンスが低下した場合。
What to do:
- Cloud Exchangeの空きディスク容量を確認してください(CSVファイルサイズの少なくとも2倍の容量が必要です)。
- パフォーマンスを向上させるために、SFTP プロトコルの使用を検討してください。
- CSVファイルのサイズを小さくするか、より小さなファイルに分割してください。
- パフォーマンス向上のため、必要でない場合はサニタイズ機能を無効にしてください。
- 処理中はシステムリソースを監視してください。
共有構成が失敗します
EDMハッシュをNetskopeテナントに共有することに失敗した場合。
What to do:
- 宛先設定が正しく設定されていることを確認してください。
- Netskopeテナントへのネットワーク接続を確認してください。
- ハッシュファイル名がテナント内に既に存在しないことを確認してください。
- ログを確認して、具体的なエラーメッセージを確認してください。
既知の行動
- サイズの大きなCSVファイルは、処理にかなりの時間とシステムリソースを必要とする場合があります。
- サニタイズ処理は処理速度を約65%低下させる可能性があるが、データ品質を向上させる。
- 辞書の作成はリソースを大量に消費するため、 必要な場合にのみ行うべきです。
- このプラグインは処理中に一時ファイルを作成しますが、それらは自動的に削除されます。
- 非常に大きなファイルの場合、SSH接続のタイムアウトが発生する可能性があります。タイムアウト値を増やすことを検討してください。
- メモリ使用量はCSVファイルのサイズに比例します。大容量ファイルの処理中はシステムリソースを監視してください。
- Windowsファイアウォールのルールは、SMBプロトコルとSFTPプロトコルの両方に対応するように設定する必要がある場合があります。
制限事項
Netskopeの各テナントは、最大5つのステージングファイルを処理できるという制限があります。この上限に達すると、ハッシュの共有中に次のエラーが発生する可能性があります。
EDM Netskope Exact Data Match [EDM Netskope] Received exit code 400, Error occurred while uploading EDM hashes of configuration Linux EDM to the configuration EDM Netskope.
このエラーを解決するには、ステージング環境から既存のファイルを削除する必要があります。

