Notes de mise à jour
1.1.0
Added
- Added support for removing quotes from the pulled data.
Changed
- Updated loggers and tooltips.
1.0.1
Fixed
- Fixed plugin validation with respect to CSV path.
- Fixed Sanity Step level validation.
1.0.0
Added
- Initial release.
Ce document explique comment configurer le plug-in Microsoft SQL EDM v1.1.0 grâce au module « Exact données Match » de la plateforme Netskope Cloud Exchange . Ce plugin sert à extraire des données brutes d'un serveur Microsoft SQL configuré afin de générer des hachages EDM.
Conditions préalables
Pour compléter la configuration, vous devez
- Un locataire Netskope (ou plusieurs, par exemple des instances de production et de développement/test).
- Un locataire Netskope Cloud Exchange avec le plugin Tenant et le plugin Exact données Match déjà configurés.
- Installation de Microsoft SQL Server
- Utilisateur de la base de données Microsoft SQL Server disposant d'un accès en lecture seule (Select) pour extraire les données.
Prise en charge du plugin EDM de Microsoft SQL Server
Ce plugin sert à extraire des données brutes d'un serveur Microsoft SQL configuré afin de générer des hachages EDM. Ce plugin offre des fonctionnalités avancées de nettoyage, de normalisation et de génération de hachages des données afin de garantir la qualité des données et le respect des normes de sécurité.
| Fonction | Support |
|---|---|
| Pull | Oui |
| Push | Non |
Autorisations de la base de données Microsoft SQL
| Type d'autorisation | Requirement |
|---|---|
| Accès en lecture de l'utilisateur à la base de données mentionnée | Required |
| Autorisations de lecture dans la base de données Microsoft SQL | Required |
| Accès au port de la base de données | Required |
Autorisations requises
- L'utilisateur de la base de données doit avoir les droits de lecture pour la base de données spécifiée.
- Connexion réseau au serveur Microsoft SQL sur le port configuré.
- Espace disque suffisant sur Cloud Exchange pour le traitement des fichiers temporaires.
Détails de l'API
List of Libraries Used to Fetch Database Records
Ce plugin utilise les bibliothèques Python et le pilote Microsoft SQL pour établir des connexions sécurisées avec la base de données MSSQL et transférer les données des tables en exécutant des requêtes SQL.
Bibliothèques : sqlalchemy, pyodbc et unixodbc (paquet système)
Utilisation : SQLAlchemy est une bibliothèque Python dédiée au langage SQL qui propose une gamme complète de modèles de persistance bien connus, de niveau entreprise, conçus pour un accès efficace et hautement performant aux bases de données, et adaptés à un langage de domaine simple et « pythonesque » permettant d'exécuter des requêtes SQL. Le connecteur PyODBC/Python permet aux programmes Python d'accéder aux bases de données Microsoft SQL.
Create Client Connection
from sqlalchemy import create_engine
eng = create_engine(
connection_string, connect_args={"connect_timeout": CONNECTION_TIMEOUT,”TrustServerCertificate”:”yes”}
)
Execute SQL query with Read-Only Session
with eng.connect() as connection:
# used to stop user from executing any database modification query.
query = text(config["query"])
result = connection.execute(query)
Generate CSV File from fetched records in batches
while True: rows = result.fetchmany(BATCH_SIZE) if not rows: break # No more rows to fetch self.store_data_to_csv(rows, csv_path)
Matrice de performance
Here is the performance reading conducted for fetching and sanitizing ~1M Rows (25 columns, per column ~50 characters long string,1.3 GB size, Avg Column Uniqueness: ~96%, Avg Row Uniqueness: ~96%) from Database table on a Large CE instance with these specifications:
| Description | Spécifications |
|---|---|
| Détails de la pile | Taille : Grande RAM : 32 GB CPU : 16 cœurs |
| Données de table de base de données extraites de Microsoft SQL sans validation | environ 5 700 lignes/seconde |
Workflow
- Créez un utilisateur sur Microsoft SQL Server disposant de droits de lecture.
- Configurer le plug-in Microsoft SQL EDM.
- Configurez le partage entre le plug-in Microsoft SQL EDM et le plug-in EDM Netskope.
- Vérifiez le bon fonctionnement du plugin Microsoft SQL.
Regardez une vidéo
Cliquer sur « play » pour regarder une vidéo.
Configurer le serveur Microsoft SQL
Create a user
Veuillez suivre les étapes ci-dessous pour créer l'utilisateur dans la base de données Microsoft SQL :
-
Connectez-vous à l'instance Microsoft SQL Server et ouvrez le terminal SQL.
-
Exécutez les commandes suivantes, ou suivez ce guide pour créer des utilisateurs disposant des privilèges en lecture seule (Select) nécessaires.
-
Create Login:
- Pour l'authentification SQL Server :
Create login <YourLoginName> with password=<YourPassword>; - Pour l'authentification Windows :
CREATE LOGIN [<DomainName>\<YourLoginName>] FROM WINDOWS;
- Pour l'authentification SQL Server :
-
Passez à la base de données cible et créez un utilisateur :
USE <YourDatabaseName>; CREATE USER <YourUserName> FOR LOGIN <YourLoginName>;
-
Accorder des autorisations en lecture seule (SELECT) en ajoutant un utilisateur au rôle « db_datareader » :
ALTER ROLE db_datareader ADD MEMBER <YourUserName>;
Note
- Replace <YourLoginName> and <YourPassword> with your actual login name and password.
- Remplacez <YourUserName> par le nom que vous souhaitez attribuer à l'utilisateur de la base de données.
- Replace <YourDatabaseName> with the actual name of the database.
- Pour l'authentification Windows, veuillez utiliser le format suivant : [domaine\nom d'utilisateur].
-
Configurer le plug-in Microsoft SQL EDM
-
Dans Cloud Exchange, accédez à Settings > Plugin Store.
-
Recherchez et sélectionnez le plugin « Microsoft SQL v1.1.0 (EDM) ».

-
Saisissez les informations de base :
-
Configuration Name: Enter a name appropriate for your plugin.
The configuration name you provide will be used to give the name to the generated hash file to share with the Netskope tenant. Be aware that if you later delete this configuration and create a new one with the same name, the hash file may already exist in the Netskope tenant. In such cases, attempting to push the hash file to the tenant will result in an error, as the file with the same name already exists. Consider using a unique name to avoid this issue. -
Sync Interval: Interval to pull the data from this plugin source. Default value is 12 hours. (Default: 12 hours)

-
-
Click Next and enter the Configuration Parameters:
-
Server IP/Hostname: Adresse IP ou nom d'hôte du serveur Microsoft SQL.
-
Username: Nom d'utilisateur de la base de données Microsoft SQL permettant d'accéder au serveur. Assurez-vous qu'il s'agit d'un nom d'utilisateur valide disposant d'une autorisation en lecture seule.
-
Password: Password associated with the provided database username.
-
Database Name: Nom de la base de données Microsoft SQL à partir de laquelle les données doivent être extraites. Assurez-vous que le nom de la base de données est correctement orthographié, car les noms de bases de données sont sensibles à la casse.
-
Port: Saisissez le numéro de port TCP sur lequel la base de données Microsoft SQL est en cours d'exécution.
-
Query: Requête sur la base de données Microsoft SQL dont les données doivent être extraites pour générer les hachages EDM. Assurez-vous que la requête est validée et en lecture seule.
-
Remove Quotes: Enable this if your data file encloses fields in double quotes, especially when values contain commas. Quoted fields will be parsed as single columns. Improper quote placement may cause rows to be skipped. Helpful for CSVs exported from databases.
Par défaut, les guillemets sont considérés comme du texte littéral. Activez le bouton « Supprimer les guillemets » si votre fichier CSV utilise des guillemets doubles pour encadrer les champs contenant des virgules (par exemple :"123 ABC Street, Suite 100"). Cela garantit que le champ est traité comme une seule colonne. Veuillez noter que ce mode nécessite un formatage CSV rigoureux. Si un champ commence par un guillemet, tout caractère, y compris un espace, suivant le guillemet de fermeture mais précédant la virgule (commeWord",), cela entraînera l'ignorance de la ligne. -
-
Click Next and enter the Hash Generation and Sanitization Parameters:
-
Select les options appropriées pour les opérations d'assainissement et de génération de hachage :
- Sanitization (Name Column): Sanitize the content by checking the Name Column checkbox. (Default: Unchecked). The Sanitization Process performs the following actions:
- One character: The cell will be marked as invalid if it contains only one character.
- Digits: Cells containing digits will be marked as invalid.
- Stopwords: Cells that match a stopword from the list will be marked as invalid (This works only if the Remove stopwords checkbox is checked).
- Non-alphanumeric characters: Remove all special characters to validate the cell.
- La génération de hachages est divisée en deux parties :
- Normalization: Select the value from dropdown to normalize the data value. (Default: None)
- Create Dictionary: Select value from dropdown to create dictionary of unique values for selected field that can be used in DLP rule in netskope tenant. (Default: None)
- Sanitization (Name Column): Sanitize the content by checking the Name Column checkbox. (Default: Unchecked). The Sanitization Process performs the following actions:
-
Remove Stopwords: Mark as checked if you want to remove certain stopwords as part of the sanitization process.(Default:Unchecked) Ensure that Name Column is checked for the applicable field to reflect the changes.
Note
- Utilisez le paramètre de normalisation pour normaliser les résultats récupérés. Par exemple, un numéro tel que 123-45-6789 ou 123 45 6789 sera traité comme 123456789. Les normalisations numériques ignorent des caractères tels que les points, tirets et espaces. Une normalisation de chaîne ignore la sensibilité des lettres majuscules.
- N'utilisez l'option Créer un dictionnaire qu'en cas de nécessité, car cette opération est gourmande en ressources et peut avoir un impact sur les performances du système. Choisissez cette option de manière réfléchie pour une efficacité optimale.

-
-
Click Next. Preview the sanitization sample output by clicking Preview Good File or Preview Bad File.
If you are using the plugin with sanitization On, then the performance may be differ due to extra processing. -
Proceed without sanitization: Uncheck this option to proceed with sanitization. (Default: Checked)
Toutes les données seront prises en compte pour la génération du hachage si cette option n'est pas cochée; dans le cas contraire, seul le contenu du bon fichier sera pris en compte pour la génération du hachage. -
Click Save. You will be redirected to Exact Data Match > Plugins page where you can see your configured plugin.

Configurer un paramétrage de partage EDM pour Microsoft SQL
Une configuration de partage est utilisée pour partager les hachages EDM générés avec la plate-forme de destination. Pour partager les hachages EDM avec votre locataire Netskope, créez une configuration de partage en suivant ces étapes :
-
Allez à Exact Data Match > Sharing et cliquez sur Add Sharing Configuration.

-
Configurez les paramètres de partage :
- Source Configuration: Select le plug-in EDM Microsoft SQL configuré.
- Destination Configuration: Select une destination où EDM Hash sera partagé.
- Target: La valeur est automatiquement définie en fonction de la configuration de la destination sélectionnée.

-
Cliquez sur Save.

Valider le plugin Microsoft SQL EDM
Valider le retrait
Pour vérifier que le plugin configuré a bien été récupéré dans Cloud Exchange, rendez-vous sur Settings > Logging et recherchez les journaux du plugin Microsoft SQL EDM.
You can verify the plugin operation from the logs available at Logging in Cloud Exchange:

Si une configuration de partage a été établie pour le plugin source, son état peut être contrôlé sur la page Gestion du partage et des téléchargements.
Les valeurs d'état sont les suivantes :
- Scheduled: Indique que le partage a été configuré et que les opérations "pull" et "push" sont encore en attente de traitement dans la file d'attente.
- Generating Hash: À ce stade, en arrière-plan, la recherche de >, la validation de >, l'assainissement (s'il a été choisi) de > et la génération de l'étape de hachage seront incluses.
- Uploading Hash: Indique que le téléchargement des hachages vers la configuration de destination a commencé.
- Upload Completed: Indique que les hachages sont téléchargés dans la configuration de destination.
- Checking Apply Status: À ce stade, la vérification de l'état d'application des hachages à la configuration de destination.
- Apply In Progress: Cela signifie que le processus de hachage est lancé et en cours sur la destination.
- Completed: Indique que le fichier de hachage a été transféré avec succès dans la configuration de destination.
- Failed: Indique que le résultat final de l'action n'a pas été exécuté. Les actions sont les suivantes : génération d'un fichier de hachage/chargement d'un fichier de hachage/vérification de l'état d'application.
Shared EDM hashes can be verified from the logs available at Logging in Cloud Exchange:

Validez l'envoi à votre locataire Netskope
Pour garantir la transmission des hachages EDM vers le tenant Netskope depuis Cloud Exchange :
-
Connectez-vous à votre locataire Netskope, allez sur Policies > DLP.

-
Cliquez sur Edit Rules et sélectionnez Data Loss Prevention.

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

Dépannage du plugin Microsoft SQL
Impossible de configurer le plugin MS SQL
Si vous ne parvenez pas à configurer le plugin Microsoft SQL, cela peut être dû à l'une des raisons suivantes :
- Les informations d'identification fournies sont incorrectes.
- L'utilisateur ne dispose pas des autorisations nécessaires.
- Nom d'hôte/IP du serveur incorrect.
- Nom de base de données incorrect.
What to do:
- Veillez à fournir des informations d'identification correctes.
- Assurez-vous que l'utilisateur dispose des autorisations nécessaires pour la base de données et la table.
- Assurez-vous que le nom d'hôte ou l'IP du serveur est correct.
- Assurez-vous que le nom de la base de données est correct.
La génération de hachage échoue ou prend trop de temps
If hash generation fails or performance is poor.
What to do:
- Vérifiez l'espace disque disponible sur Cloud Exchange (assurez-vous d'avoir au moins 2x la taille du fichier CSV).
- Reduce file/table size or split into smaller tables.
- Désactivez l'assainissement s'il n'est pas nécessaire pour améliorer les performances.
- Surveillez les ressources du système pendant le traitement.
Comportements connus
- L'assainissement peut réduire la vitesse de traitement d'environ 65% mais améliore la qualité des données.
- La création de dictionnaires est gourmande en ressources et ne doit être utilisée qu'en cas de nécessité.
- Le plugin crée des fichiers temporaires pendant le traitement qui sont automatiquement nettoyés.
- Des dépassements de délai de connexion SSH peuvent se produire avec des fichiers très volumineux ; envisagez d'augmenter les valeurs de délai.
- Memory usage scales with CSV file size/table size; monitor system resources during large file processing.

