This document explains how to configure the Microsoft File Share v1.1.0 plugin with the Custom File Classification (CFC) module of the Netskope Cloud Exchange platform. This plugin is used to pull images or zip files from provided directories present on a remote Windows server. The plugin supports both SMB protocol (version 2.0.2 to 3.1.1) and SFTP protocol for file transfer.
Prerequisites
Pour compléter la configuration, vous devez
- Un locataire Netskope (ou plusieurs, par exemple des instances de production et de développement/test).
- A Custom File Classifier on your Netskope tenant.
- Un locataire Netskope Cloud Exchange avec le plugin Tenant et le plugin Custom File Classification déjà configurés.
- Windows Server with SFTP/SMB Protocol setup and access with SSH service enabled to pull files.
- Image ou archives de fichiers images stockés sur le serveur Microsoft et contenant les données à traiter pour la génération de hachages CFC.
For the SMB Protocol
- Serveur Microsoft avec partage de réseau activé (service SMB/CIFS en cours d'exécution).
- Dossier partagé configuré avec les autorisations appropriées.
- Connectivité réseau au serveur Microsoft sur les ports SMB (généralement 445).
For the SFTP Protocol
- Serveur Microsoft avec le service OpenSSH activé et configuré.
- Service SSH en cours d'exécution et accessible depuis Cloud Exchange.
- Connectivité réseau au serveur Microsoft via le protocole SFTP (généralement port 22).
Microsoft File Share CFC Plugin Support
This plugin is used to pull images or zip files from provided directories present on a remote Windows server. The plugin supports both SMB protocol (version 2.0.2 to 3.1.1) and SFTP protocol for file transfer.
| Fonction | Support |
|---|---|
| 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 | Non |
Permissions
This permission is needed for the plugin configuration: a SSH User should have read access for the provided files.
Microsoft Server Permissions
| Type d'autorisation | Protocole SMB | Protocole SFTP |
|---|---|---|
| Accès en lecture au fichier | Required | Required |
| Accès au partage de réseau | Required | Non requis |
| Accès SSH | Non requis | Required |
| Accès au port | 445 (SMB) | 22 (SSH) |
Required Permissions
Ces autorisations sont nécessaires pour la configuration du plugin :
For the SMB Protocol
- Serveur Microsoft avec partage de réseau activé (service SMB/CIFS en cours d'exécution).
- Dossier partagé configuré avec les autorisations appropriées.
- Connectivité réseau au serveur Microsoft sur les ports SMB (généralement 445).
For the SFTP Protocol
- Serveur Microsoft avec le service OpenSSH activé et configuré.
- Service SSH en cours d'exécution et accessible depuis Cloud Exchange.
- Connectivité réseau au serveur Microsoft via le protocole SFTP (généralement port 22).
Détails de l'API
Liste des bibliothèques utilisées
Ce plugin utilise des bibliothèques Python pour établir des connexions sécurisées avec des serveurs Linux et transférer des fichiers CSV via le protocole SFTP.
Library: Paramiko - Bibliothèque de protocole SSH2 pour Python
Usage: Paramiko est une implémentation purement Python du protocole SSHv2, fournissant à la fois des fonctionnalités de client et de serveur. Le plugin utilise Paramiko pour créer des connexions SFTP sécurisées, s'authentifier auprès du serveur Linux et transférer des fichiers CSV en toute sécurité. Paramiko offre des fonctionnalités SSH complètes, notamment l'authentification, la gestion des canaux et le transfert de fichiers.
Créer une connexion client SSH
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", 22)
)
Créer un client SFTP
with ssh_connection.open_sftp() as sftp_session:
Télécharger un fichier CSV à partir d'un serveur Linux
sftp_session.get(
data.get("path", ""),
os.path.join(
file_path, data.get("file", "")))
Vérifier l'existence et les autorisations des fichiers
try: file_attributes = sftp_session.stat(directory_path) if not stat.S_ISDIR(file_attributes.st_mode): # Handle custom error except FileNotFoundError: # Handle file not found error pass
Connexions étroites
ssh_connection.close()
Performance Matrix
Here is the performance reading conducted for fetching and storing 10K Files metadata ( ~5.4 MB each file size and total file size is ~52.5 GB) on a Large Cloud Exchange instance with these specifications.
| Description | Specifications |
|---|---|
| Détails de la pile | Taille : Grande RAM : 32 GB CPU : 16 cœurs |
| Files metadata fetched from Microsoft File Share | ~ 160,000 MB/hour ~ 29,200 Files/Hour (each file of ~5.4 MB) |
Workflow
- Configure the Microsoft Server.
- Configure the Microsoft File Share CFC plugin.
- Configure a Business Rule for Microsoft File Share.
- Configure Sharing for Microsoft File Share.
- Validation for Microsoft File Share CFC Plugin.
Regardez une vidéo
Cliquer sur « play » pour regarder une vidéo.
Configure the Microsoft Server with SFTP Protocol
- Open PowerShell as Administrator (right-click > Run as Administrator).
- Exécutez la commande suivante :
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 - Verify successful installation by checking the output for State: Installed.
- Open PowerShell as Administrator.
- Start the SSH service:
Start-Service sshd - Configure the service to start automatically on boot:
Set-Service -Name sshd -StartupType 'Automatic' - Verify the service is running:
Get-Service sshd - Go to the SSH configuration directory:
cd 'C:\ProgramData\ssh' - Open the configuration file in Notepad if you want change port or allow users
- After saving the configuration file, restart the service to apply changes:
Restart-Service sshd - Open Windows Defender Firewall with Advanced Security from the Start Menu.
- Click Inbound Rules in the left pane, then New Rule on the right.
- Select Porte comme règle, tapez et cliquez Next.
- Select TCP, enter port 22 (or your custom port), and click Next.
- Select Allow the Connection and click Next.
- Select les profils concernés (Domaine, Privé, Public) et cliquez Next.
- Name the rule Allow SFTP and click Finish.
- Use any standard SFTP client to verify the connection like WinSCP. If the connection is established, you should be able to view the shared directory path.
Configure the Microsoft Server with SMB Protocol
-
Configurez le partage de réseau pour qu'il fonctionne avec le protocole SMB.
-
Faites un clic droit sur le répertoire contenant les images que vous souhaitez utiliser dans le cadre de ce plugin. Allez dans l'onglet Partage et cliquez sur Advanced Sharing.

-
Vérifiez l’option Partager et cliquez Permissions.

-
Click Add if the user for which you want to configure the network sharing is not present in the Group or user names section. Click Advanced, Find Now, and add the user.

-
Verify that the user can be seen on the Permissions dialog box and make sure that it has Read permissions for the directory.

-
Appliquez les changements de configuration et assurez-vous que le nom du répertoire apparaît immédiatement après le nom de l'ordinateur/de la machine dans le chemin d'accès au réseau. Lorsqu'un répertoire portant le même nom est déjà configuré sur la machine, un index est ajouté après le nom du répertoire dans le chemin d'accès au réseau afin de l'identifier de manière unique par le biais du protocole SMB. Dans ce cas, assurez-vous de fournir le nom du répertoire avec l'index lors de la configuration du plugin.

-
Activez le service OpenSSH sur le serveur Windows pour qu'il fonctionne avec le protocole SFTP.
- Suivez ces étapes pour activer le service OpenSSH sur le serveur Windows
https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse?tabs=gui - Pour les anciennes versions de Windows, si OpenSSH n'est pas trouvé dans les fonctionnalités facultatives, installez le service OpenSSH en suivant ce document :
https://github.com/PowerShell/Win32-OpenSSH/releases/ - Assurez-vous que l'utilisateur à configurer peut utiliser le service OpenSSH.
- Suivez ces étapes pour activer le service OpenSSH sur le serveur Windows
Configure the Microsoft File Share CFC Plugin
-
Dans Cloud Exchange, accédez à Settings > Plugin Store.
-
Recherchez et sélectionnez le plugin Microsoft File Share v 1.1.0 (CFC).

-
Saisissez les informations de base :
- Configuration Name: Enter a name appropriate for your integration.
- Sync Interval: Interval to pull the data from plugin source. We recommend keeping it longer than 12 hours. (Default: 12 hours)

-
Select protocol per your requirements.

-
Click Next and enter the Configuration Parameters:
For the SFTP Protocol
- Server IP/Hostname: Hostname or IP address of the Windows machine from which the files are to be pulled.
- Username: Nom d'utilisateur de la machine Windows configurée pour utiliser le service OpenSSH sur la machine.
- Password: Password for the provided username.
- Port: TCP port number to connect to the OpenSSH service on the machine.

For the SMB Protocol
- Server IP/Hostname: Hostname or IP address of the server from which the files are to be pulled.
- Machine Name: NetBIOS machine name of the server.
- Username: Username of the remote machine which has read access to shared directories.
- Password: Password for the provided username.
We suggest to you the SMB plugin for Custom File Classification for SMB Protocol. -
Click Next and enter the Directory Configuration parameters:
- Directory Path: Path of the directory from where the files will be pulled. It supports files with extensions related to Images or Zip formats.
- Filename Filter: A Regular expression that filters the image files to be pulled. Ensure that the filter is a valid regular expression.
- Valeur vide, extrait tous les fichiers du répertoire.
- Le filtre n'extraira que les images stockées immédiatement dans le répertoire.
You can add multiple directories in the Microsoft File Share Plugin. -
Cliquez sur Next et prévoyez les résultats de l'analyse des fichiers pour le répertoire configuré. Assurez-vous que le nombre et la taille des fichiers extraits par le plugin sont corrects et ne dépassent pas la limite du nombre total de fichiers (10 000) et la limite de la taille totale des fichiers (~78,125 Go).

-
Cliquez sur Save.

Configurer une règle de gestion CFC pour Microsoft File Share
The CFC module requires business rules to share file data to the Netskope Tenant. You can add rules to filter files by name, size, extension, source, etc. Multiple rules can be grouped together for advanced filtering.
-
Allez sur Custom File Classification > Business Rules.
-
Cliquez sur Create New Rule et entrez ces paramètres :
- Rule Name: A unique name for the business rule.
- Rule: Set a filter based on conditions to make a group of files.
- Folder Name: Provide a folder or sub-folder name to group multiple business rules. It will help to see a structured list of business rules in the table.

-
Cliquez sur Save.

Configure Risk Exchange Sharing for Microsoft File Share
-
Allez sur Custom File Classification > Sharing.
-
Click Add Sharing Configuration and select the Microsoft File Share CFC plugin as the Source Configuration.
-
Select le plugin Netskope CFC comme configuration de destination.
-
La cible est sélectionnée par défaut, en fonction de la configuration de la destination.
-
Select a Mapping for Business Rule, File Classifier, and Training Type. You can map multiple business rules in one sharing. The File Classifier lists only custom file classifiers created on the Netskope Tenant.

-
Cliquez sur Save.

Synchroniser ou supprimer une configuration de partage
- Synchronisez la configuration de partage en cliquant sur l'icône de synchronisation. Le processus de partage démarre ainsi immédiatement, sans attendre le déclenchement de l'événement proprement dit.
- Supprimez la configuration de partage en cliquant sur l'icône de la poubelle.
Validez le plugin CFC Microsoft File Share
Valider le retrait
After the Sharing is configured, you should wait until the next plugin lifecycle run of the configured Microsoft File Share CFC plugin gets executed successfully.
Validate the Microsoft File Share Plugin status on the Sharing and Upload Management page. Go to Custom File Classification > Sharing and Upload Management.

L'état de la configuration du partage peut être l'un des suivants :
- Programmé: Cela signifie que le partage est configuré mais qu’il est toujours en file d’attente et attend de s’exécuter pour la première fois.
- Génération du hachage: Ceci indique que le processus de génération d’un hachage est en cours.
- Téléchargement du hachage: cela indique que le hachage a été généré avec succès et que le processus de partage vers la destination configurée est en cours.
- Terminé: Cela indique que le hachage généré a été partagé avec succès avec la configuration de destination.
- Échec: Indique que le processus a échoué soit lors de l’extraction des données, soit du hachage des données, soit du téléchargement.
Clicking View Metadata will redirect you to the Files Metadata page.


Validate Sharing on the Netskope Tenant
-
Connectez-vous à votre locataire Netskope.
-
Allez sur Policies > DLP > File Classifiers.


-
Select le classificateur que vous avez sélectionné lors de la configuration du partage, vous verrez les hachages de fichiers reçus ici :

Troubleshooting the Microsoft File Share CFC Plugin
Impossible de configurer le plugin CFC Microsoft File Share
If the user is unable to configure the Microsoft File Share CFC plugin, it may be due to one of these reasons:
- Des informations d'identification incorrectes ont été fournies.
- L'utilisateur n'a pas le droit de lire le fichier.
- Nom d'hôte/IP du serveur incorrect.
- The provided port value is disabled on the Server.
- Chemin d'accès au répertoire incorrect.
Ce qu'il faut faire :
- Veillez à fournir les informations d'identification correctes.
- Assurez-vous que l'utilisateur dispose des autorisations requises pour lire le fichier.
- Assurez-vous que le nom d'hôte ou l'adresse IP du serveur est correct.
- Assurez-vous que le port est activé et qu'il est en mode d'écoute.
- Assurez-vous que les données du fichier image se trouvent dans le chemin d'accès fourni.

