Notes de mise à jour
1.0.0 (Minimum required CE version 6.0.0)
Added
- Initial release.
- Types de journaux : alertes, événements, webtx.
- Format Type: JSON.
Ce document explique comment configurer le plugin Databricks v1.0.0 avec le module Log Shipper de la plateforme Netskope Cloud Exchange. Ce plugin est utilisé pour envoyer des alertes Netskope (DLP (Prévention des pertes de données), Malware, Policy, Compromised Credential, Malsite, Quarantine, Remediation, Security Assessment, Watchlist, UBA, CTEP, périphérique, Content), des événements (Page, Application, Audit, Infrastructure, Network, Incident, Endpoint, Client Status) et des données WebTx vers un bucket AWS S3. Ce plugin prend uniquement en charge l'ingestion au format JSON. Pour visualiser les données sur Databricks, assurez-vous que le compartiment S3 est lié à l'emplacement externe Databricks.
Conditions préalables
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).
- Une instance Netskope Cloud Exchange avec le plugin Tenant et le plugin Log Shipper déjà configurés.
- Déjà configuré le plugin AWS Netskope LogStreaming ou le plugin Azure Log Streaming pour extraire les journaux Webtx.
- Une instance Databricks Workspace liée à un compte AWS et à Unity Catalog activé.
- Un bucket AWS S3 avec les permissions IAM suivantes accordées au rôle d’authentification : s3:ListBucket, s3:GetBucketLocation, s3:PutObject.
- Un compartiment AWS S3 lié à un emplacement externe Databricks.
Prise en charge des plugins Databricks
Ce plugin est utilisé pour envoyer des alertes Netskope (DLP (Prévention des pertes de données), Malware, Policy, Compromised Credential, Malsite, Quarantine, Remediation, Security Assessment, Watchlist, UBA, CTEP, périphérique, Content), des événements (Page, Application, Audit, Infrastructure, Network, Incident, Endpoint, Client Status) et des données WebTx vers un bucket AWS S3. Ce plugin prend uniquement en charge l'ingestion au format JSON. Pour visualiser les données sur Databricks, assurez-vous que le compartiment S3 est lié à l'emplacement externe Databricks.
| Type de données | Support |
|---|---|
| Événements | Oui (Page, Application, Audit, Infrastructure, Réseau, Incident, Point final, Statut du client) |
| Alertes | Oui (DLP (Prévention des pertes de données), Malware, Policy, Compromised Credential, Malsite, Quarantine, Remediation, Security Assessment, Watchlist, UBA, CTEP, périphérique, Content) |
| WebTx | Oui |
| Cloud Exchange Logs | Non |
Permissions
Ces autorisations sont nécessaires pour la configuration du plugin :
- s3 :ListBucket sur le bucket S3 cible
- s3 : GetBucketLocation sur le compartiment cible S3
- s3:PutObject sur le compartiment S3 cible
Détails de l'API
Liste des API utilisées
| Point final de l'API | Méthode | Cas d'utilisation |
|---|---|---|
| /sessions | PUBLIER | Générer des informations d'identification AWS temporaires (rôles IAM Anywhere uniquement) |
Générer des identifiants temporaires
Endpoint: POST https://rolesanywhere.{region}.amazonaws.com/sessions
Request Headers:
| Clé | Value |
|---|---|
| Content-Type | application/json |
| X-Amz-Date | {timestamp} |
| X-Amz-X509 | Certificat DER codé en Base64 |
| Authorization | AWS4-X509-RSA-SHA256 Identifiant=170190831808398918967185780480038694669/20260611/us-east-1/rolesanywhere/aws4_request, SignedHeaders=type-de-contenu ; animateur ; x-amz-date ; x-amz-x509, Signature=.................... |
| User-Agent | APN/1.1 (ahq9d89xj9gspapczzdb59goq) |
Request Body:
{
"durationSeconds": 900,
"profileArn": "{profile_arn}",
"roleArn": "{role_arn}",
"sessionName": "Session",
"trustAnchorArn": "{trust_anchor_arn}"
}
Sample Response:
{
"credentialSet": [
{
"credentials": {
"accessKeyId": "ASIA...",
"secretAccessKey": "...",
"sessionToken": "...",
"expiration": "2024-01-01T00:15:00Z"
}
}
]
}
Library: AWS SDK for Python (Boto3)
1. Creating the S3 Client
s3_client = boto3.client(
"s3",
aws_access_key_id=self.aws_public_key,
aws_secret_access_key=self.aws_private_key,
aws_session_token=self.aws_session_token,
region_name=self.configuration.get("region_name", "").strip(),
config=Config(
proxies=self.proxy,
user_agent=self.useragent,
),
)
2. Check Bucket Existence
s3_client.head_bucket(Bucket=bucket_name)
3. Get Bucket Region
location = s3_client.get_bucket_location(Bucket=bucket_name)
bucket_region = location.get("LocationConstraint") or "us-east-1"
4. Upload File to S3
s3_client.upload_file(
file_name, # local temp file path
bucket_name, # S3 bucket name
object_name, # S3 object key
)
Matrice de performance
Cette mesure de performance a été effectuée sur une infrastructure Large Stack dans Cloud Exchange avec les spécifications de VM suivantes. Ces données sont ajoutées en tenant compte du fait qu'environ 15 000 alertes/événements Netskope seront ingérés en 5 secondes vers la destination.
| Description | Spécifications |
|---|---|
| Détails de la pile | Taille : Grande RAM : 32 Go Processeur : 16 cœurs |
| Alertes/événements intégrés au SIEM | ~ 180 000 alertes/événements par minute |
| Webtx ingéré dans SIEM | ~ 150K Webtx logs per minute |
Agent utilisateur
APN/1.1 (ahq9d89xj9gspapczzdb59goq)
Workflow
- Obtenez les identifiants pour configurer le plugin Databricks
- Configurez le plugin Databricks.
- Configurez une règle de gestion.
- Configurez la livraison des journaux.
- Validez le plugin.
Regardez une vidéo
Cliquer sur « play » pour regarder une vidéo.
Configuration sur AWS
Créer une politique
-
Connectez-vous à votre compte AWS, allez à IAM > Policies puis cliquez sur Create Policy.

-
Select json et collez cette politique dedans.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:PutObject", "s3:ListBucket" ], "Resource": "*" } ] }
-
Saisissez un nom et une description.

-
Cliquez sur Create Policy.

Déploié sur authentification AWS
Créer un rôle
-
Allez sur IAM Services dans la console AWS.
-
Go to the Roles page under Access management and click Create Role.

-
Select le service AWS.
-
Under Use case, select EC2.
-
Cliquez sur Next.

-
Select la stratégie d'autorisation créée dans Créer une stratégie.

-
Cliquez sur Next.
-
Saisissez un nom de rôle et une description.

-
Cliquez sur Create Role.

Attribuer un rôle à une instance EC2
-
Ouvrez la console de votre instance EC2.
-
Accédez à la page Instances et sélectionnez l'instance souhaitée sur laquelle Cloud Exchange est déployé.

-
Allez sur Action > Security > Modify IAM Role.

-
Select le rôle que vous avez créé ci-dessus dans Créer un rôle.
-
Cliquez Add IAM Role/Update IAM Role. Notez que l’instance EC2 et le bucket S3 doivent être dans la même région.
Redémarrez votre instance EC2 si vous recevez des erreurs liées aux permissions, même après avoir mis à jour le rôle IAM pour l’instance EC2.
Authentification IAM Role Anywhere
Conditions préalables
Le service AWS Certificate Manager doit être activé pour authentifier le plugin à l'aide de la méthode d'authentification AWS IAM Roles Anywhere .
Assurez-vous de créer l’autorité de certification privée, l’ancre de confiance et le profil dans la même région que votre bucket AWS S3.
Créer une politique
Cette politique contient les autorisations requises pour la création d'un certificat d'autorité de certification privée (y compris les autorisations pour la création d'une ancre de confiance et d'un profil) et pour l'utilisation des rôles IAM Anywhere.
-
Accédez au générateur de stratégies , sélectionnez Stratégie IAM comme type de stratégie et générez la stratégie.
-
Select Type de politique : Politique IAM
-
Effet : Autoriser
-
Service AWS : Autorité de certification privée AWS
-
Actions :
- Créer une autorité de certification
- DescribeCertificateAuthority
- Obtenir un certificat
- Obtenir un certificat d'autorité
- Obtenir l'autorité de certification (GetCertificateAuthorityCsr)
- ImportCertificateAuthorityCertificate
- Délivrer un certificat
- Liste des autorités de certification
-
ARN : *
-
Cliquez sur Add Statement.

-
Select Type de politique : Politique IAM
-
Effet : Autoriser
-
Service AWS : Gestion des identités et des accès (IAM) d'AWS
-
Actions :
- Politique de rattachement des rôles
- Créer une clé d'accès
- Créer un rôle
- Supprimer un rôle
- PassRole
-
ARN : *
-
Cliquez sur Add Statement.

-
Select Type de politique : Politique IAM
-
Effet : Autoriser
-
Service AWS : Gestionnaire de certificats AWS
-
Actions :
- Décrire le certificat
- Certificat d'exportation
- Obtenir un certificat
- Liste des certificats
- ListTagsForCertificate
- Demande de certificat
-
ARN : *
-
Cliquez sur Add Statement.

-
Select Type de politique : Politique IAM
-
Effet : Autoriser
-
Service AWS : Gestion des identités et des accès AWS Rôles en tout lieu
-
Actions :
- Créer un profil
- CreateTrustAnchor
- Obtenir un profil
- GetTrustAnchor
- Liste des profils
- ListTrustAnchors
-
ARN : *
-
Cliquez sur Add Statement.

-
Click Generate Policy.

-
Copiez la politique car elle sera utilisée dans l'étape suivante pour créer la politique nécessaire à la création des certificats de l'AC privée.
-
-
Accédez à la console AWS et sélectionnez IAM dans Tous les services. Cliquez sur Policies dans le panneau de gauche, puis cliquez sur Create Policy.

-
Collez la politique générée dans la section précédente dans l’onglet JSON. Cliquez Next: Tags et Next: Review.

-
Saisissez un nom et cliquez sur Save Changes.

Créer une autorité de certification privée
-
Connectez-vous à la console AWS.
-
Search for Certificate Manager.

-
Cliquez sur AWS Private CA.
-
Cliquez sur Create a private CA.

-
For Mode Options, select General-purpose, and for CA type options, select Root.

-
Saisissez l'organisation (O).

-
For Key algorithm options, select RSA 2048.


-
Add tags if any (optional).
-
Enable the checkbox in the CA permissions options section.
-
Enable the checkbox in the Pricing section.
-
Cliquez sur Create pour créer le certificat CA.


-
For Actions, select Install.

-
Cliquez sur Confirm and Install.


Créer un ancrage de confiance
-
Search for IAM Service and go to Roles under Access management. Scroll down to Roles Anywhere and select Manage.

-
Cliquez sur Create a trust anchor.

-
Voici un nom d’ancrage Trust.

-
Select la CA privée AWS Certificate Manager (créée dans les étapes précédentes) en tant que source d’autorité de certification (CA).
-
Select le certificat que vous avez créé sous AWS Certificate Manager Private CA.
-
Ajoutez des étiquettes si nécessaire.
-
Cliquez sur Create a trust anchor.


-
Cliquez sur l’ancre de confiance créé et copiez l’ARN de l’ancre de confiance. Cela sera requis dans le paramètre de configuration Trust Anchor ARN du plugin pour la méthode d’authentification AWS IAM Roles Anywhere.

Créer un rôle IAM
-
Allez sur IAM Services dans la console AWS.
-
Click Role in the Access management submenu.
-
Cliquez sur Create Role.

-
For the Trusted entity type, select Custom Trust Policy.

-
Remplacez la politique de fiducie personnalisée par cette politique de fiducie. Cette politique contient les autorisations d’utilisation du service Roles Anywhere :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "rolesanywhere.amazonaws.com" ] }, "Action": [ "sts:AssumeRole", "sts:TagSession", "sts:SetSourceIdentity" ] } ] }
-
Cliquez sur Next.
-
Dans les politiques Permissions, sélectionnez la politique créée depuis la section Créer une politique précédemment.

-
Cliquez sur Next.
-
Saisissez un nom de rôle et une description pour le poste.

-
Cliquez sur Create role.
-
Recherchez le poste créé et cliquez sur le nom du rôle.

-
Notez l'ARN du rôle, car celui-ci sera requis dans le paramètre de configuration ARN du rôle du plugin pour la méthode d'authentification AWS IAM Roles Anywhere.

Créer un profil
-
Allez sur IAM Services dans la console AWS.
-
Select Roles present under Access management.
-
Faites défiler vers le bas jusqu'à Rôles Anywhere et cliquez sur Manage.

-
Développez les étapes de la configuration.
-
Cliquez sur Step 2: Configure roles.
-
Cliquez sur Configure a profile.

-
Saisissez un nom de profil.
-
Select the role created in the Create IAM Role step.

-
Supprimez la politique d’assurance en ligne.

-
Cliquez sur Create profile.


-
Cliquez sur le profil en format et copiez le profil ARN.

Demander un certificat privé
-
Allez sur AWS Certificate Manager > Request certificate.
-
Select Request a private certificate.

-
Cliquez sur Next.
-
Select l'autorité de certification créée dans les étapes précédentes.

-
Fournissez un nom de domaine dans le champ Nom de domaine entièrement qualifié. Par exemple : Netskope-ce.com.
-
For Key algorithm, select RSA 2048.

-
Ajoutez des étiquettes si nécessaire.
-
Confirmez les autorisations de renouvellement du certificat.
-
Cliquez sur Request.

-
Allez à List certificates depuis le panneau de navigation du gestionnaire de certificats AWS.
-
Select le certificat créé précédemment.

-
Cliquez sur Export.

-
Saisissez la phrase secrète. Notez la phrase secrète car elle sera nécessaire pour la configuration du plugin AWS S3 utilisant la méthode d'authentification AWS IAM Roles Anywhere .
-
Cliquez sur Generate PEM Encoding.

-
Téléchargez tous les certificats car ils ne seront plus visibles. Pour New certificats, vous devrez les exporter à nouveau.

-
Copiez le corps du certificat et la clé privée du certificat, car ils seront nécessaires pour la configuration du plugin AWS S3 utilisant la méthode d'authentification AWS IAM Roles Anywhere . Pour plus d'informations, consultez AWS IAM Role Anywhere
Associez un compartiment AWS S3 à un emplacement externe Databricks
-
Connectez-vous à Databricks et allez à Workspace.

-
Dans la barre de recherche supérieure, entrez External Locations et sélectionnez-le dans les résultats.

-
Cliquez sur Create external location.

-
Select AWS Quickstart et cliquez sur Next.

-
Provide the bucket name in this format s3://<bucket-name>, and click Generate new token.

-
Copiez le jeton généré, puis cliquez sur Launch in Quickstart.

-
Cela vous redirigera vers la console AWS. Saisissez le Jeton d’accès personnel dans le champ Jeton d’accès personnel Databricks .

-
Cochez la case Accusé de réception, puis cliquez sur Create stack.

-
Une fois l'opération terminée, vous pourrez voir l'emplacement externe sur Databricks après 10 à 15 minutes.

Note
- Consultez cette documentation Databricks pour plus d'informations sur la liaison d'un compartiment S3 à un emplacement externe.
- Si vous ne souhaitez pas utiliser un autre seau S3 pour le plugin Databricks, vous pouvez lier directement le seau S3 utilisé pour le streaming de logs Netskope à l’emplacement externe Databricks.
Configurez le plugin Databricks
-
Dans Cloud Exchange, allez sur Settings > Plugin Store. Recherchez et sélectionnez le plugin Databricks v1.0.0 (CLS).

-
Saisissez les informations de base :
- Configuration Name: Fournissez un nom de configuration de plugin.
- Mapping: Choisissez la configuration de mappage à utiliser. Vous pouvez en ajouter un New depuis Paramètres > Log Shipper.
- Format: Choisissez le format des données que vous souhaitez transformer. Si le format JSON est sélectionné, les journaux JSON bruts seront envoyés. L'ingestion peut être affectée si la configuration de la distribution des journaux n'accepte pas le format de journal brut.

-
Cliquez sur Next et saisissez les paramètres de configuration, selon la méthode d’authentification :
-
Deployed on AWS authentication:
- Authentication Method: Select la méthode à utiliser pour l’authentification client AWS. « Déployé sur AWS » utilise le profil d’instance ou le rôle IAM attaché à l’environnement AWS. « AWS IAM Roles Anywhere » utilise un certificat X.509 et une clé privée pour obtenir des identifiants AWS temporaires — utilisez-le lorsque CE fonctionne en dehors d’AWS.
- AWS S3 Bucket Region Name: Région AWS où se trouve le compartiment S3 cible. Assurez-vous que la région corresponde à celle du profil ARN et de l'ancre de confiance lorsque vous utilisez IAM Roles Anywhere.
- AWS S3 Bucket Name: Nom du compartiment AWS S3 cible où seront stockés les alertes et les événements Netskope. Ce compartiment doit être lié à l'emplacement externe Databricks.
Exemple : Netskope-compartiment-alertes.

-
IAM Roles Anywhere authentication:
- Authentication Method: Select la méthode à utiliser pour l’authentification client AWS. « Déployé sur AWS » utilise le profil d’instance ou le rôle IAM attaché à l’environnement AWS. « AWS IAM Roles Anywhere » utilise un certificat X.509 et une clé privée pour obtenir des identifiants AWS temporaires. Utilisez-le lorsque CE fonctionne en dehors d’AWS.
- Private Key: Clé privée encodée en PEM utilisée pour déchiffrer le certificat de CA privée AWS. Obligatoire pour l’authentification AWS IAM Roles Anywhere.
- Certificate Body: Organisme de certification X.509 codé en PEM délivré par votre autorité privée ou publique AWS. Obligatoire pour l’authentification AWS IAM Roles Anywhere.
- Password Phrase: Phrase secrète utilisée pour déchiffrer le certificat de l’AC s’il est chiffré. Obligatoire pour l’authentification AWS IAM Roles Anywhere.
- Profile ARN: ARN du profil IAM Roles Anywhere. Format : arn :aws :rolesanywhere :{region} :{account-id}:p rofile/{profile-id}. Obligatoire pour l’authentification AWS IAM Roles Anywhere.
- Role ARN: ARN du rôle IAM à assumer. Format : arn:aws:iam::{account-id}:role/{role-name}. Requis pour l'authentification AWS IAM Roles Anywhere.
- Trust Anchor ARN: ARN de l’ancre de confiance IAM Roles Anywhere. Format :arn :aws :rolesanywhere :{region} :{account-id} :trust-anchor/{anchor-id}. Obligatoire pour l’authentification AWS IAM Roles Anywhere.
- AWS S3 Bucket Region Name: Région AWS où se trouve le compartiment S3 cible. Assurez-vous que la région corresponde à celle du profil ARN et de l'ancre de confiance lorsque vous utilisez IAM Roles Anywhere.
- AWS S3 Bucket Name: Nom du compartiment AWS S3 cible où seront stockés les alertes et les événements Netskope. Ce compartiment doit être lié à l'emplacement externe Databricks. Exemple : Netskope-alerts-bucket.


-
-
Cliquez sur Save.

Configurer une règle métier Log Shipper pour Databricks
-
Dans Log Shipper, allez à Business Rules et cliquez sur Add Business Rule.
-
Par défaut, une règle de gestion filtre toutes les alertes et tous les événements. Si vous souhaitez filtrer un type spécifique d'alerte ou d'événement, cliquez sur Create New Rule et configurez une règle de gestion New en ajoutant le nom de la règle et le(s) filtre(s).

-
Cliquez sur Save.
Configurer la livraison des journaux Log Shipper pour le plugin Databricks
-
Dans Log Shipper, allez à Log Delivery et cliquez sur Add Log Delivery Configuration.
-
Select une configuration de la source, une configuration de la destination et une règle de gestion.

-
Cliquez sur Save.

Valider le plugin Databricks
Valider le retrait
In Cloud Exchange, go to Logging and search for the pulled logs.





Valider le push
Pour valider le du plugin workflow dans Cloud Exchange, accédez à Logging et recherchez les événements et alertes ingérés avec le filtre : le message contient « ingested » ou le message contient « »<destination plugin configuration name> .










Valider le push sur Databricks
Connectez-vous à l'instance Databricks et accédez à la page d'ingestion des données .

Cliquez sur Amazon S3 sous Connecteurs Databricks. Select l'emplacement externe utilisé lors de la configuration du plugin sur Cloud Exchange.

Sample ingested alerts:














Sample ingested events:








Sample ingested Webtx logs:

Dépannage du plugin Databricks
Impossible de configurer le plugin
Cela peut être dû à l'une des raisons suivantes :
- Rôle non attribué à l’instance EC2 où Cloud Exchange est hébergé en cas de déploiement sur authentification AWS.
- Informations d'identification incorrectes en cas d'authentification IAM roles anywhere.
What to do:
- Si vous utilisez Déployé sur l’authentification AWS, consultez la section Déployé sur authentification AWS
- Si vous utilisez l’authentification IAM Roles Anywhere, consultez la section authentification IAM Role Anywhere .
Désaccord de région de bucket AWS S3
Si vous voyez l’erreur AWS S3 bucket existe mais est dans la région '{actual}', et non dans la configuration '{configured}', cela pourrait être dû au fait que le AWS S3 Bucket Region Name dans la configuration du plugin ne correspond pas à la région réelle du bucket.
What to do:
- Dans la console AWS S3, allez dans le compartiment cible et vérifiez sa région dans les propriétés du compartiment.
- Mettez à jour la AWS S3 Bucket Region Name dans la configuration du plugin pour qu’elle corresponde à la région réelle du seau et sauvegardez la configuration.
Comportement connu
- Lors de l’utilisation de la méthode d’authentification AWS IAM Roles Anywhere , les paramètres de proxy configurés dans Cloud Exchange ne sont pas transmis aux requêtes d’identifiants IAM Roles Anywhere. Le plugin tente une connexion directe à rolesanywhere.{region}.amazonaws.com. Assurez-vous qu'une connectivité directe à ce point de terminaison est disponible lorsque vous utilisez IAM Roles Anywhere derrière un proxy.
- Le paramètre de validation SSL de Cloud Exchange est appliqué uniquement aux appels API Databricks. Les requêtes d’identifiants IAM Roles Anywhere et les appels AWS S3 (boto3) utilisent toujours la vérification SSL par défaut de la bibliothèque et ne sont pas affectés par le paramètre de validation SSL de Cloud Exchange.

