Ce document explique comment configurer le plugin GED Netskope v1.0.0 dans la plateforme Cloud Exchange. Ce plugin est utilisé pour pousser les hachages de fichiers GED générés par un plugin GED configuré vers un locataire Netskope.
Ce plugin fonctionne uniquement en mode "push" et n'est destiné qu'à être utilisé comme destination dans des configurations de partage de données.
Prerequisites
Pour compléter cette configuration, vous avez besoin de :
- Un locataire Netskope (ou plusieurs, par exemple des instances de production et de développement/test) qui est déjà configuré dans Cloud Exchange avec la permission de générer des jetons v2/RBACv3.
- Un locataire Netskope Cloud Exchange avec le plugin Tenant configuré et le module Exact données Match activé.
- Un plugin de GED tiers pris en charge (comme Microsoft File Share) configuré et disponible pour l'intégration.
Exact données Match Plugin Scope
Ce plugin est utilisé pour pousser les hachages de fichiers GED vers le locataire Netskope.
Permissions
Veillez à ce qu'un token V2/V3 avec le rôle approprié soit utilisé lors de la configuration du locataire Netskope, car il est nécessaire au bon fonctionnement du plugin GED de Netskope.
| Point final de l'API | Méthode | Permission |
|---|---|---|
| /api/v2/events/dataexport/events/alert | OBTENIR | Read |
| /api/v2/services/dlp/edm/file/apply | PUBLIER | Lecture + écriture |
| /api/v2/services/dlp/edm/file/staging | PUBLIER | Lecture + écriture |
API Details
Liste des API utilisées
| Point final de l'API | Méthode | Permission |
|---|---|---|
| /api/v2/events/dataexport/events/alert | OBTENIR | Read |
| /api/v2/services/dlp/edm/file/apply | PUBLIER | Lecture + écriture |
| /api/v2/services/dlp/edm/file/staging | PUBLIER | Lecture + écriture |
Valider le jeton V2
API Endpoint: https://<tenant-url>/api/v2/events/dataexport/events/alert
Method: OBTENIR
Application Headers
| Clé | Value |
|---|---|
| Netskope-API-Token | <netskope_api_v2_token> |
| User-Agent | netskope-ce-6.0.0 |
Example API response
{
"result": [
{
"CononicalName": "string",
"_id": "string",
"access_method": "string",
"account_id": "string",
"account_name": "string",
"acked": "string",
"action": "string",
"activity": "string",
"alert": "string",
"alert_id": "string",
"alert_name": "string",
"alert_type": "string",
"app": "string",
"app_activity": "string",
"app_session_id": 0,
"appcategory": "string",
"appsuite": "string",
"asset_id": "string",
"asset_object_id": "string",
"breach_date": 0,
"breach_description": "string",
"breach_id": "string",
"breach_media_references": "string",
"breach_score": "string",
"breach_target_references": "string",
"browser": "string",
"browser_session_id": 0,
"browser_version": "string",
"bypass_traffic": "string",
"category": "string",
"cci": 0,
"ccl": "string",
"client_bytes": 0,
"compliance_standards": [
"string"
],
"conn_duration": 0,
"conn_endtime": 0,
"conn_starttime": 0,
"connection_id": 0,
"count": 0,
"data_type": "string",
"device": "string",
"device_classification": "string",
"dlp_file": "string",
"dlp_incident_id": 0,
"dlp_is_unique_count": "string",
"dlp_mail_parent_id": "string",
"dlp_parent_id": 0,
"dlp_profile": "string",
"dlp_rule": "string",
"dlp_rule_count": 0,
"dlp_rule_severity": "string",
"dlp_unique_count": 0,
"domain": "string",
"dst_country": "string",
"dst_geoip_src": 0,
"dst_latitude": 0,
"dst_location": "string",
"dst_longitude": 0,
"dst_region": "string",
"dst_timezone": "string",
"dst_zipcode": "string",
"dsthost": "string",
"dstip": "string",
"dstport": 0,
"email_source": "string",
"event_type": "string",
"evt_src_chnl": "string",
"exposure": "string",
"external_collaborator_count": 0,
"external_email": 0,
"file_cls_encrypted": true,
"file_lang": "string",
"file_path": "string",
"file_size": 0,
"file_type": "string",
"from_user": "string",
"fromlogs": "string",
"hostname": "string",
"http_transaction_count": 0,
"iaas_asset_tags": [
"string"
],
"iaas_remediated": "string",
"instance": "string",
"instance_id": "string",
"internal_collaborator_count": 0,
"justification_reason": "string",
"justification_type": "string",
"last_app": "string",
"last_country": "string",
"last_device": "string",
"last_location": "string",
"last_region": "string",
"last_timestamp": 0,
"log_file_name": "string",
"malicious": "string",
"malsite_category": [
"string"
],
"malsite_country": "string",
"malsite_id": "string",
"malsite_ip_host": "string",
"malsite_latitude": 0,
"malsite_longitude": 0,
"malsite_region": "string",
"managed_app": "string",
"managementID": "string",
"matched_username": "string",
"md5": "string",
"mime_type": "string",
"modified": 0,
"netskope_activity": "string",
"netskope_pop": "string",
"notify_template": "string",
"nsdeviceuid": "string",
"numbytes": 0,
"object": "string",
"object_id": "string",
"object_type": "string",
"org": "string",
"organization_unit": "string",
"orig_ty": "string",
"orignal_file_path": "string",
"os": "string",
"os_version": "string",
"other_categories": [
"string"
],
"outer_doc_type": 0,
"owner": "string",
"page": "string",
"page_site": "string",
"parent_id": "string",
"password_type": "string",
"policy": "string",
"policy_actions": [
"string"
],
"policy_id": "string",
"profile_id": "string",
"protocol": "string",
"referer": "string",
"region_id": "string",
"region_name": "string",
"req_cnt": 0,
"request_id": 0,
"resource_category": "string",
"resource_group": "string",
"resp_cnt": 0,
"sAMAccountName": "string",
"sa_profile_id": 0,
"sa_profile_name": "string",
"sa_rule_id": "string",
"sa_rule_name": "string",
"sa_rule_severity": "string",
"sanctioned_instance": "string",
"scan_type": "string",
"serial": "string",
"server_bytes": 0,
"sessionid": "string",
"severity": "string",
"severity_level": "string",
"severity_level_id": 0,
"sfwder": "string",
"sha256": "string",
"shared_domains": "string",
"shared_with": "string",
"site": "string",
"src_country": "string",
"src_geoip_src": 0,
"src_latitude": 0,
"src_location": "string",
"src_longitude": 0,
"src_region": "string",
"src_time": "string",
"src_timezone": "string",
"src_zipcode": "string",
"srcip": "string",
"suppression_end_time": 0,
"suppression_key": "string",
"suppression_start_time": 0,
"telemetry_app": "string",
"threat_match_field": "string",
"threat_match_value": "string",
"threat_source_id": 0,
"threshold": 0,
"threshold_time": 0,
"timestamp": 0,
"title": "string",
"to_object": "string",
"total_collaborator_count": 0,
"traffic_type": "string",
"transaction_id": 0,
"true_obj_category": "string",
"true_obj_type": "string",
"tss_mode": "string",
"two_factor_auth": "string",
"type": "string",
"universal_connector": "string",
"ur_normalized": "string",
"url": "string",
"user": "string",
"userPrincipalName": "string",
"user_generated": "string",
"user_id": "string",
"useragent": "string",
"userip": "string",
"userkey": "string",
"web_universal_connector": "string"
}
]
}
Télécharger le fichier de hachage de la GED vers la mise en scène
API Endpoint: https://<tenant-url>/api/v2/services/DLP (Prévention des pertes de données)/edm/file/staging
Method: PUBLIER
Application Headers
| Clé | Value |
|---|---|
| Netskope-API-Token | <netskope_api_v2_token> |
| User-Agent | netskope-ce-6.0.0 |
| Content-Type | application/json |
Request Body
{
"edm_filename": "customers.csv",
"tgz_filename": "customers.tgz",
"sha1": "d6727f9b11c80631773a993c9823e60634b138b4",
"size": 15000,
"keep_staging": true,
"description": "This is the staging file for customers.tgz file on 2024-06-24"
}
Example API response
{
"fileid": "4841a51417666e38760860b2c4e5b5b48627d2c4",
"uploadid": "MzBlZWE4Y2YtMzZmYy00MGI5LThhNDktNWU2MTk5OWI1NjAzLjBmM2Q4YmI1LTM4OTctNDY2Yy05ZjQ5LTk1N2FmZWNjYjk5NQ",
"part_max_size": 16000000,
"msg": "Optional message"
}
Appliquer le fichier de hachage de la GED par étapes
API Endpoint: https://<tenant-url>/api/v2/services/DLP (Prévention des pertes de données)/edm/file/apply
Method: PUBLIER
Application Headers
| Clé | Value |
|---|---|
| Netskope-API-Token | <netskope_api_v2_token> |
| User-Agent | netskope-ce-6.0.0 |
| Content-Type | application/json |
Request Body
{
"fileid": fileid
}
Example API response
status code: 201
Response None
Support du plugin EDM de Netskope
| Fonction | Support |
|---|---|
| Pull | Non |
| Push | Oui |
Matrice de performance
Voici la lecture des performances réalisée pour pousser des hachages pour ~1M de lignes (25 colonnes, par colonne ~30 caractères, 0.3M valeurs uniques par colonne) données sur une instance Large Cloud Exchange avec ces spécifications.
| Description | Specifications |
|---|---|
| Détails de la pile | Taille : Grande RAM : 32 GB CPU : 16 cœurs |
| Les hachages sont transférés de la source au locataire de Netskope sans Dict | ~10 minutes |
| Haches poussés de la source vers Netskope Tenant avec Dict (2-3 colonnes) | ~14 minutes |
Agent utilisateur
Le user-agent ajouté dans ce plugin est au format suivant :
netskope-ce-<ce_version>
Par exemple : Netskope-ce-6.0.0
Workflow
- Generate a v2 token for your Netskope tenant.
- Create Netskope Tenant Using V2 Auth Token.
- Configurez le plugin EDM de Netskope.
- Configurez le partage entre le plugin EDM Third Party et le plugin EDM Netskope.
- Vérifiez l'état du partage configuré.
Regardez une vidéo
Cliquer sur « play » pour regarder une vidéo.
Generate a V2 (RBACv3) Token
- Dans votre locataire Netskope, allez à Settings > Administration > Administrators & Roles > Roles.

- Cliquez New pour créer un poste New . Entrez un nom de rôle et une courte description du poste. Assurez-vous que DLP (Prévention des pertes de données) soit sélectionné dans la section permissions.

- Select l'autorisation Manage And Apply pour le profil DLP (Prévention des pertes de données) > DLP (Prévention des pertes de données).
Dans Scope IT -> Alertes -> Gérer les autorisations, l'option
est sélectionnée.
Sous
IT, sélectionnez l'autorisation Manage
Skope IT > Alertes.
- Cliquez sur Service Account.
- Saisissez un nom de compte de service.
- Select le rôle créé pour le compte de service.
- Saisissez un délai d'expiration. Select à partir de Jour(s), Heure(s), Semaine(s), Année(s).

- Cliquez sur Save et copiez le jeton. Utilisez ceci pour configurer le plugin Netskope Tenant dans Cloud Exchange.
Configure Netskope EDM Plugin
- Dans Cloud Exchange, accédez à Settings > Plugin Store.
- Cherchez et sélectionnez la boîte de plugin Netskope Exact Data Match (EDM) .

- Saisissez les informations de base :
- Configuration Name: Donnez un nom approprié à l'intégration.
- Tenant Name: Select tenant name from the dropdown.

- Modifiez les détails optionnels si nécessaire :
Enable SSL verification: Activez la bascule pour communiquer via SSL. (Par défaut=désactivé) - Cliquez sur Save.
- Vous serez redirigé vers Exact Data Match > Plugins page, où vous pouvez voir le plugin configuré.

Configurer le partage entre un plugin GED tiers et le plugin GED
- Va au Exact Data Match > Sharing.
- Cliquez Add Sharing Configuration.

- Source Configuration: Select un plugin tiers configuré.
- Destination Configuration: Select le plugin Netskope EDM comme configuration de destination.

- Target: La valeur est automatiquement définie en fonction de la configuration de la destination sélectionnée.
- Cliquez sur Save.
Valider le plugin GED de Netskope
Contrôler l'état du partage configuré
Allez sur Exact Data Match > Sharing and Upload Management. Vous y trouverez une liste d'états pour tous les partages configurés.
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: Indique que le processus de génération de hachage a été lancé. À ce stade, la recherche de >, la validation de >, l'assainissement (si vous avez opté pour cette option) et la génération de > seront incluses dans les étapes de hachage en arrière-plan.
- 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, les contrôles de hachage s'appliquent à 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érer un hachage/télécharger un hachage/vérifier l'état de l'application.

Validate the Push on Netskope Tenant
Pour assurer le push des hashs EDM sur le Netskope Tenant à partir de Cloud Exchange :
- Connectez-vous à votre locataire Netskope.

- Allez à Policies > DLP.

- Cliquez sur Edit Rules et sélectionnez DLP Rules.

- L'onglet Exact Match affiche une liste de fichiers.

Troubleshooting
Unable to share hashes
Si vous ne pouvez pas partager les hachages, vous recevrez une erreur du type :
Error response: { “message”:“You cannot consume this service” }
What to do: Pour résoudre ce problème, ajoutez les points de terminaison suivants au jeton V2 sur le locataire Netskope.
| Point final de l'API | Permission |
|---|---|
| /api/v2/events/dataexport/events/alert | Read |
| /api/v2/services/dlp/edm/file/staging/list | Read |
| /api/v2/services/dlp/edm/file/apply | Lecture + écriture |
| /api/v2/services/dlp/edm/file/staging | Lecture + écriture |
Limitations
- La taille maximale des données qu'un fichier de hachage GED Netskope peut contenir est de 8 Mo. Gardez cela à l'esprit lorsque vous configurez la règle de gestion.
- Les noms de colonnes dans les données sources ne doivent pas contenir de caractères spéciaux ou d'espaces. Utilisez plutôt des traits de soulignement.
- Le nom du fichier de hachage EDM sur le locataire Netskope sera le même que le nom de configuration fourni dans Cloud Exchange.
Known Behavior
- Si le partage échoue à une étape quelconque (génération du hachage/téléchargement du hachage/vérification de l'état de l'application), l'état sera marqué comme " Échec " et des journaux d'erreurs détaillés seront disponibles dans la section "Journalisation".
- Le plugin vérifie périodiquement l'état d'application des hachages sur le locataire Netskope. Ce processus peut prendre un certain temps en fonction de la taille des données.
- Une fois que les hachages ont été appliqués avec succès sur le locataire Netskope, ils ne peuvent pas être supprimés directement de Cloud Exchange. Vous devez les supprimer de l'interface utilisateur du locataire Netskope.
- Si nous configurons le partage avec le plugin EDM de Netskope et que le fichier est téléchargé et traité par le locataire, tout fonctionne bien. Si nous modifions ultérieurement l'ordre des colonnes CSV, ou si nous ajoutons ou supprimons des colonnes, le locataire génère l'erreur ci-dessous lors de l'application des hachages au locataire Netskope. Pour résoudre ce problème, le client doit supprimer le fichier de hachage EDM précédemment téléchargé du locataire Netskope.


