このドキュメントでは、 Netskope Cloud Exchangeのカスタムファイル分類 (CFC) モジュールを使用して SMB ファイル共有 v1.0.0 プラグインを設定する方法について説明します。 . このプラグインは リモートSMBサーバー上の指定されたディレクトリから画像またはzipファイルを取得します。 このプラグインは、SMB 2.0.2からSMB 3.1.1までのSMBプロトコルバージョンをサポートしています。
前提条件
設定を完了するには、以下が必要です。
- Cloud Exchangeに既に設定されているNetskopeテナント(または、例えば本番環境と開発/テスト環境など、複数のテナント)。
- Netskopeテナント上のカスタムファイル分類器。
- Netskope Cloud Exchangeテナントには、テナントプラグインとカスタムファイル分類プラグインが既に設定済みです。
- SMB設定済みのサーバーで、SSHサービスを有効にしてファイルを取得できます。
SMBファイル共有プラグインのサポート
このプラグインは リモートSMBサーバー上の指定されたディレクトリから画像またはzipファイルを取得します。 このプラグインは、SMB 2.0.2からSMB 3.1.1までのSMBプロトコルバージョンをサポートしています。
| 特徴 | サポート |
|---|---|
| Pull | Yes (.bmp, .dib, .jpeg, .jpg, .jpe, .jp2, .png, .webp, .avif, .pbm, .pgm, .ppm, .pxm, .pnm, .pfm, .sr, .ras, .tiff, .tif, .exr, .hdr, .pic, .zip, .tgz) |
| Push | いいえ |
注記
以下の種類のファイルの取得を検証しました: .bmp、.dib、.jpeg、.jpe、.jp2、.png、.webp、.sr、.ras、.tiff、.tif、.exr、.hdr、.pic、。ジップ
権限
プラグインの設定にはこの権限が必要です。SSHユーザーは、指定されたファイルへのアクセス権を持っている必要があります。
APIの詳細
使う図書館一覧
このプラグイン Pythonライブラリを使用して、Linuxサーバーへの安全な接続を確立し、SMBプロトコルを介してファイルを転送します。
Library: smbclient – Python 用 SMB ファイル共有ライブラリ
Usage: smbclientは、SMBネットワーク共有とのやり取りを可能にするPythonライブラリであり、アプリケーションがリモートファイルシステムにローカルファイルシステムであるかのようにアクセスできるようにします。smbclient を使うプラグインは、リモート サーバー上の共有フォルダーへの安全な接続を確立し、クレデンシャルを認証し、ファイルの読み取り、書き込み、アップロード、ダウンロードなどのファイル操作を実行します。 smbclientは、ファイル処理のための高レベルの抽象化機能を提供するとともに、認証、セッション管理、およびSMBプロトコル機能とのシームレスな統合をサポートします。
SSHクライアント接続を作成する
From ..lib import smbclient
SFTPクライアントを作成する
smbclient.register_session(
server,
username=configuration.get("smb_username"),
password=configuration.get("smb_password"),
port=configuration.get("smb_port", 445))
LinuxサーバーからCSVファイルをダウンロードする
with smbclient.open_file(
remote_file_unc_path,
"rb"
) as remote_file:
with open(image_file_path, "wb") as file_object:
shutil.copyfileobj(remote_file, file_object)
ファイルの存在とアクセス許可を確認する
try:
file_stat = sftp_client.stat(self.csv_file_path)
file_size = file_stat.st_size
file_permissions = file_stat.st_mode
except FileNotFoundError:
# Handle file not found error pass
密接なつながり
smbclient.reset_connection_cache()
パフォーマンスマトリックス
以下は、これらの仕様を持つ大規模Cloud Exchangeインスタンス上で、10K個のファイルメタデータ(各ファイルサイズは約5.4MB、合計ファイルサイズは約52.5GB)を取得および保存する際に実施したパフォーマンス測定結果です。
| デスクリプション | 仕様 |
|---|---|
| スタックの詳細 | サイズ:大 RAM:32 GB CPU:16コア |
| SMBファイル共有から取得したファイルメタデータ | 約159,000 MB/時 約29,500ファイル/時(各ファイル約5.4 MB) |
注記
CEインスタンスのディスク容量については、こちらのドキュメントを参照してください。
ワークフロー
- SMBサーバーから共有パスを取得します。
- SMBファイル共有CFCプラグインを設定します。
- SMBファイル共有用のビジネスルールを設定します。
- SMBファイル共有の共有設定を行います。
- SMBファイル共有CFCプラグインの検証。
動画を見る
動画を見るにはこちらをクリックしてください。
SMBサーバーから共有ディレクトリを取得する
Windows上でホストされているSMBサーバー
-
PowerShellを管理者として実行してください。
-
PowerShellで以下のコマンドを実行してください。
Get-SmbShare
Example Output:
Name ScopeName Path
—-- --------- ----
ADMIN$ * C:\Windows
C$ * C:\
MyShare * C:\SMBShare
What It Means:
- 名前: シェア名
- Path: Actual folder location
- 末尾が$で終わる株式(C$、ADMIN$など)は、非公開の管理株式です。
Linux上でホストされているSMBサーバー
-
Samba共有は内部で定義されます
/etc/samba/smb.conf -
Linuxターミナルで以下を実行します。
testparm -s -
次のようなセクションを探してください。
[shared]
path = /srv/samba/shared -
[global] より下のセクションはすべて共有フォルダです。
[Documents]
path = /home/devuser/docsThis means:
- 共有名: ドキュメント
- Actual folder:
/home/devuser/docs
IsilonでホストされているSMBサーバー
-
OneFS ウェブ UI にログインします。

-
Protocolsに移動してSMBを選択してください。

-
Open the Shares section.

-
設定済みのSMB共有の一覧が表示されます。
-
「パス」列を見てください。これは、SMB を介して共有される実際のファイルシステムディレクトリ (通常は
/ifsの下) を示しています。Example table:
Share Name Path
test-share /ifs/data/test
Finance /ifs/data/finance -
パスの値(
/ifs/...)は、共有されているディレクトリです。
Kerberosの設定 IPアドレスの代わりにドメイン名/FQDNを使用する場合
-
Core Container内にKerberosユーティリティをインストールする
- コアコンテナにアクセスします。
docker exec -it -u0 <core-container> bash
- Kerberosパッケージをインストールしてください。
- Ubuntu/Debian: apt update && apt install -y krb5-user smbclient
- RHEL/CentOS: yum install -y krb5-workstation samba-client
-
Kerberosの設定(krb5.conf)
- /etc/krb5.conf を作成または更新します。
- レルム設定を追加します。
[realms] EXAMPLE.COM = { kdc = dc01.example.com admin_server = dc01.example.com } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM注記
- 領域は通常、大文字で表記する必要があります。
- KDCはドメインコントローラーを指すように設定する必要があります。
- コンテナ内部では、DNS解決が正しく機能する必要があります。
- Replace these values:
Placeholder に置き換える EXAMPLE.COM AD/Kerberosレルム dc01.example.com ドメインコントローラー/KDCホスト名 example.com あなたのドメイン -
Update the docker-compose.yml file.
- docker-compose.ymlファイルを編集し、core サービスに extra_hosts を追加します。
services: core: extra_hosts: - "<domain/FQDN>:<IP>"
-
Cloud Exchangeを再起動し、SMBサーバーのドメイン名/FQDNを使用してプラグインを設定してください。
sudo ./stop && sudo ./start
SMBファイル共有CFCプラグインの設定
-
Cloud Exchange で、 Settings > Plugin Storeに移動します。
-
SMB File Share v1.0.0 (CFC)プラグインを検索して選択してください。

-
基本情報を入力してください:
- Configuration Name: 統合内容に適した名前を入力してください。
- Sync Interval: プラグインソースからデータを取得する間隔。12時間以上保管することをお勧めします。(デフォルト:12時間)

-
Next をクリックして、設定パラメータを入力してください。
- Server IP/Hostname: ファイルを取得するSMBサーバーのホスト名またはIPアドレス。
- Username: 共有ディレクトリへのアクセス権を持つリモートマシンのユーザー名。
- Password: 指定されたユーザー名のパスワード。
- Port: SMB接続用のTCPポート(デフォルトは445)。

-
Next をクリックして、ディレクトリ構成パラメータを入力してください。
SMBファイル共有プラグインには、複数のディレクトリを追加できます。
- Shared Directory: 共有ディレクトリの名前。このディレクトリ名が共有ディレクトリのネットワークパスに含まれていることを確認してください。
- Directory Path: ファイルを取得するディレクトリのパス。このパスは共有ディレクトリからの相対パスである必要があります。
- Filename Filter: ファイル名に基づいて取得するファイルをフィルタリングする正規表現。フィルターが有効な正規表現であることを確認してください。空欄のままにした場合、ディレクトリ内のすべてのファイルが取得されます。
- 値が空の場合、ディレクトリからすべてのファイルを取得します。
- このフィルターは、指定されたディレクトリに直接保存されている画像のみを取得します。

-
Nextをクリックすると、設定済みのディレクトリのファイルスキャン結果をプレビューできます。プラグインによって取得されるファイルの数とサイズが正しいことを確認し、合計ファイル数の制限(10,000)と合計ファイルサイズの制限(約78.125 GB)を超えないようにしてください。

-
Saveをクリックしてください。

SMBファイル共有用のCFCビジネスルールを設定する
カスタムファイル分類モジュールでは、Netskopeテナントにファイルデータを共有するためにビジネスルールが必要です。ユーザーは、ファイル名、サイズ、拡張子、ソースなどでファイルをフィルタリングするためのルールを追加できます。複数のルールをグループ化することで、高度なフィルタリングが可能になります。
-
Custom File Classification > Business Rulesへ移動してください。
-
Create New Ruleをクリックして、以下のパラメータを入力してください。
- Rule Name: ビジネスルールに固有の名前を付ける。
- Rule: 条件に基づいてフィルターを設定し、ファイルのグループを作成します。
- Folder Name: 複数のビジネスルールをグループ化するために、フォルダ名またはサブフォルダ名を指定してください。構造化されたビジネスルールの一覧を表形式で表示すると分かりやすくなるでしょう。

-
Saveをクリックしてください。
Configure Risk Exchange Sharing for SMB File Share
-
Custom File Classification > Sharingへ移動してください。
-
Add Sharing Configurationをクリックし、ソース構成としてSMBファイル共有CFCプラグインを選択します。
-
宛先構成としてNetskope CFCプラグインSelect 。
-
宛先は、宛先設定に基づいてデフォルトで選択されます。
-
ビジネスルール、ファイル分類器、およびトレーニングタイプのマッピングをSelect 。 ユーザーは、1つの共有設定で複数のビジネスルールをマッピングできます。ファイル分類子には、Netskopeテナント上で作成されたカスタムファイル分類子のみが表示されます。

-
Saveをクリックしてください。
共有設定の同期または削除
- 同期アイコンをクリックして、共有設定を同期してください。これにより、実際のイベントが発生するのを待たずに、共有プロセスが即座に開始されます。
- ゴミ箱アイコンをクリックして、共有設定を削除してください。
注記
複数の宛先構成が同じソース構成を使用する場合、いずれかで「同期」をクリックすると、それらすべての同期が開始されます。 これは、それら全てが同じ情報源を共有しているために起こります。
SMBファイル共有CFCプラグインを検証する
注記
Cloud Exchangeは、ハッシュ生成とアップロード処理が完了するまでの間、機密性の高いプルデータを一時的にのみ保存します。その後、保存されたファイルは自動的に削除されます。
プルを検証する
共有設定が完了したら、設定済みのSMBファイル共有CFCプラグインの次回のプラグインライフサイクル実行が正常に完了するまで待つ必要があります。
「共有とアップロードの管理」ページで、SMBファイル共有プラグインの状態を確認してください。Custom File Classification > Sharing and Upload Managementへ移動してください。

共有設定の状態は以下のいずれかになります。
- Scheduled: これは、共有設定は完了しているものの、まだキューに入っていて、初回実行を待っている状態であることを示しています。
- Generating Hash: これは、ハッシュ生成処理が進行中であることを示しています。
- Uploading Hash: これは、ハッシュが正常に生成され、設定された宛先への共有処理が進行中であることを示しています。
- Completed: これは、生成されたハッシュが宛先構成と正常に共有されたことを示しています。
- Failed: データ取得、データハッシュ化、またはハッシュのアップロードのいずれかの段階で処理が失敗したことを示します。
Clicking View Metadata will redirect you to the Files Metadata page.


Pulling can be verified on Logging page in CE:

Validate Sharing on the Netskope Tenant
-
Netskopeテナントにログインしてください。
-
行く Policies > DLP > File Classifiers.


-
共有設定時に選択した分類子Select 、受信したファイルハッシュがここに表示されます。

SMBファイル共有プラグインのトラブルシューティング
SMBファイル共有CFCプラグインを構成できません
問題:ユーザーがSMBファイル共有CFCプラグインを設定できない場合、以下のいずれかの理由が考えられます。
- 間違ったクレデンシャルが提供されました。
- ユーザーにはファイルのアクセス権がありません。
- ホスト名またはサーバーIPアドレスが間違っています。
- 指定されたポート値はサーバー上で無効になっています。
- ディレクトリパスが間違っています。
対処法:これらの問題を解決するには:
- 必ず正しいクレデンシャルを入力してください。
- ユーザーがファイルにアクセスするために必要な権限を持っていることを確認してください。 ファイル。
- 正しいホスト名/サーバーIPアドレスが入力されていることを確認してください。
- ポートが有効になっていて、リスニングモードになっていることを確認してください。
- 指定されたパスに画像ファイルデータが存在することを確認してください。

