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.
This document explains how to configure the OracleDB EDM plugin v1.1.0 with the Exact Data Match module of the Netskope Cloud Exchange platform. This plugin is used to pull raw data from a configured Oracle database server to generate EDM hashes.
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.
- OracleDB server setup
- OracleDB Server database user with read-only (Select) access to fetch the data.
Support du plugin Oracle Database EDM
This plugin is used to pull raw data from a configured Oracle database server to generate EDM hashes. The plugin supports advanced data sanitization, normalization, and hash generation capabilities to ensure data quality and security compliance.
| Fonction | Support |
|---|---|
| Pull | Oui |
| Push | Non |
OracleDB Database Permissions
| Type d'autorisation | Requirement |
|---|---|
| Accès en lecture de l'utilisateur à la base de données mentionnée | Required |
| OracleDB Database Read Permissions | 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.
- Connectivité réseau avec le serveur Oracle Database sur le port configuré (par défaut : 1521).
- Espace disque suffisant sur Cloud Exchange pour le traitement des fichiers temporaires.
Détails de l'API
Liste des bibliothèques utilisées pour récupérer les enregistrements de la base de données
Ce plugin utilise les bibliothèques Python et le pilote Oracle DB pour établir des connexions sécurisées avec la base de données Oracle et transférer des données de tables en exécutant des requêtes SQL.
Library: sqlalchemy et oracledb
Usage: SQLAlchemy est la boîte à outils SQL de Python qui fournit une suite complète de modèles de persistance bien connus au niveau de l'entreprise, conçus pour un accès efficace et performant aux bases de données, adaptés dans un langage de domaine simple et Python pour exécuter des requêtes SQL. Oracle Connector/Python permet aux programmes Python d'accéder aux bases de données Oracle.
Créer une connexion client
from sqlalchemy import create_engine
eng = create_engine(connection_string) # creates connection with database.
Exécuter une requête SQL avec une session en lecture seule
with eng.connect() as connection:
# used to stop user from executing any database modification query.
result = connection.execute(text("SET TRANSACTION READ ONLY"))
query = text(config["query"].strip(";"))
result = connection.execute(query)
Générer un fichier CSV à partir des enregistrements récupérés par lots
# csv_path will be new csv file
self.store_data_to_csv([columns], csv_path)
if fetch_only_sample_data:
rows = result.fetchmany(SAMPLE_CSV_ROW_COUNT)
else:
rows = result.yield_per(BATCH_SIZE)
self.store_data_to_csv(rows, csv_path, replace=False)
Matrice de performance
Here is the performance reading conducted for fetching and sanitizing ~1M Rows (25 columns, per column ~50 characters long string, all unique values per each row,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 |
| Database table data fetched from MySQL Without Sanitization | ~5.5K rows/sec |
Workflow
- Create a user on Oracle DB server with read permissions.
- Configure OracleDB EDM Plugin.
- Configure sharing between OracleDB EDM Plugin and EDM Netskope plugin.
- Validate the OracleDB plugin.
Regardez une vidéo
Cliquer sur « play » pour regarder une vidéo.
Configuration on OracleDB Server
Create a user
Follow these steps to create the user on OracleDB Database:
-
Connectez-vous à l'instance de la base de données Oracle et ouvrez le terminal SQL Plus.
-
Pour créer un utilisateur New et lui accorder des autorisations en lecture seule, vous devez vous connecter en tant qu'utilisateur disposant des privilèges d'administrateur de base de données (DBA).
SYS as SYSDBA
-
Exécutez la commande SQL suivante pour créer un utilisateur New:
CREATE USER <new_username> IDENTIFIED BY <new_password>; GRANT CONNECT TO <new_username>;
-
Accordez à l'utilisateur un accès en lecture seule à une table spécifique pour extraire les données.
GRANT SELECT ON <table_name> TO <new_username>;
Note
- Remplacer
et avec votre nom d'utilisateur et votre mot de passe pour créer un utilisateur. - Remplacez-le
par le nom de la table à laquelle vous souhaitez fournir un accès en lecture seule.
Configurer le plugin Oracle Database
-
Dans Cloud Exchange, accédez à Settings > Plugin Store.
-
Recherchez et sélectionnez le plugin OracleDB 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: IP address or Hostname where the OracleDB server is located.
-
Username: OracleDB database username to access the server. Ensure that it is a valid username with the read-only permission.
-
Password: Password associated with the provided database username.
-
SID: Oracle database name from which the data is to be retrieved. Ensure that the database name is spelled correctly, as database names are case-sensitive.
-
Port: Enter the TCP port number that the Oracle database is running on.
-
Query: Provide a read-only query to fetch data from database.(Read-only means ‘Select’ Query)
-
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.
By default, quotes are treated as literal text. Enable Remove Quotes toggle if your CSV uses double quotes to encapsulate fields that contain commas (like"123 ABC Street, Suite 100"). This ensures the field is treated as a single column. Note that this mode requires strict CSV formatting. If a field starts with a quote, any character, including a space, following the closing quote but preceding the comma (like"Word",) will cause the row to be skipped.

-
-
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 le partage entre Oracle DB et Cloud Exchange
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 the configured EDM Oracle plugin.
- 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 Oracle DB
Valider le Pull dans Cloud Exchange
To validate the pulling of the configured plugin in Cloud Exchange, go to Settings > Logging and search for the OracleDB EDM plugin logs.
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 statut peut être surveillé sur le Sharing and Upload Management page.
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 de GED au locataire Netskope à partir du site Cloud Exchange:
-
Connectez-vous à votre locataire Netskope, allez à 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 Oracle DB
Impossible de configurer le plugin Oracle DB
If you are unable to configure the OracleDB EDM plugin, it could be due to one of the following reasons:
- Les informations d'identification fournies sont incorrectes.
- The user doesn’t have required permissions.
- Nom d'hôte/adresse IP du serveur incorrects.
- Nom de base de données incorrect.
What to do:
- Veillez à fournir les 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 et l'adresse IP du serveur sont corrects.
- 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.

