Ce document explique comment configurer le plugin AWS S3 WebTx avec le module Log Shipper de la plateforme Netskope Cloud Exchange. Ce plugin permet de pousser les données des transactions web dans les buckets AWS S3.
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).
- Un locataire Netskope Cloud Exchange avec le plugin Tenant et le plugin Log Shipper déjà configurés.
- Un locataire Netskope Cloud Exchange avec le plugin AWS Netskope LogStreaming ou Azure Netskope LogStreaming déjà configuré.
- Identifiants AWS S3 avec les permissions de création/lecture/écriture des buckets. Obtenez votre ID de clé d'accès AWS S3 et votre clé d'accès secrète avec l'autorisation de lire/écrire sur des godets spécifiques ou l'autorisation de créer des godets avant de continuer.
- Autorisations pour les seaux Amazon S3 pour l'utilisateur IAM.
- ListBucket
- CreateBucket
- ListAllMyBuckets
- GetBucketPolicy
- GetBucketPublicAccessBlock
- PutEncryptionConfiguration
- PutBucketPublicAccessBlock
- PutBucketPolicy
Note
Vérifiez que les autorisations d'accès à votre seau sont sécurisées et qu'elles ne sont pas configurées pour un accès public. N'autorisez l'accès à votre instance de stockage en nuage qu'à partir de votre hôte Cloud Exchange et de toute autre adresse nécessitant un accès.
Support du plugin AWS S3 WebTx
Le plugin AWS S3 WebTx est pris en charge :
| Type de données | Support |
|---|---|
| Événements | Non |
| Alertes | Non |
| WebTx | Oui (via Netskope LogStreaming) |
Note
- CLS WebTX basé sur Google Pub Sub Lite est obsolète. Veuillez vous référer aux annonces EOL/EOS des produits Netskope - Netskope Knowledge Portal
- Pour ingérer les logs WebTX vers vos destinations de livraison de logs comme SIEM, SOAR, XDR, données Lake, utilisez le plugin AWS Netskope LogStreaming ou Azure Netskope LogStreaming.
Permissions
Autorisations pour l'utilisateur IAM d'envoyer des données WebTx (via Netskope LogStreaming) aux buckets Amazon S3.
Détails de l'API
Liste des API utilisées
Ce plugin utilise des bibliothèques Python pour créer des objets fichiers dans AWS S3.
Bibliothèque : Le SDK AWS pour Python (Boto3)
Utilisation : Le SDK AWS pour Python (Boto3) pour créer, configurer et gérer les services AWS, tels que Amazon Elastic Compute Cloud (Amazon EC2) et Amazon Simple Storage Service (Amazon S3). Le SDK fournit une API orientée objet ainsi qu'un accès de bas niveau aux services AWS.
Create the 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.region_name,
config=Config(proxies=self.proxy, user_agent=self.useragent),
)
Create a Bucket
bucket = s3_client.create_bucket(
Bucket=bucket_name,
CreateBucketConfiguration=location,
)
Upload a File into the Bucket
s3_client.upload_file(
file_name,
bucket_name,
object_name,
)
Get an AWS Resource
s3_resource = boto3.resource(
"s3",
aws_access_key_id=self.aws_public_key,
aws_secret_access_key=self.aws_private_key,
region_name=self.region_name,
config=Config(proxies=self.proxy, user_agent=self.useragent),
)
Agent utilisateur
Le user-agent ajouté dans ce plugin est au format suivant
netskope-ce-<ce_version>-<module>-<plugin_name>-v<plugin_version>
Par exemple :
Netskope-ce-5.0.0-cls-aws_s3_webtx-v1.2.0
Workflow
- Créez un seau, une politique de seau et configurez une méthode d'authentification.
- Configurez le plugin AWS S3 WebTx.
- Configurez les règles commerciales de l'expéditeur de journaux pour AWS S3 WebTx.
- Configurer l'expéditeur de logs Livraison de logs pour AWS S3 WebTx.
- Validez le plugin AWS S3 WebTx.
Cliquer sur « play » pour regarder une vidéo.
Création d'un bac AWS S3 et d'une politique de bacs
Créez un Bucket AWS S3
- Pour créer un seau et définir les politiques requises, connectez-vous à votre console AWS.

- Dans Tous les services, sélectionnez S3.

- Cliquez sur Create Bucket.

- Saisissez un nom de seau, faites défiler jusqu’en bas, puis cliquez Create Bucket.

- Recherchez votre seau et cliquez sur son nom pour l'ouvrir.

- Cliquez sur « Permission » pour ouvrir l'onglet « Permissions » et définir une politique.

- Cliquez Edit. Dans Bloquer l’accès public (paramètres du bucket), décochez toutes les cases à cocher et cliquez sur Save Changes. Lorsque vous demandez une confirmation, confirmez-la, puis cliquez sur Confirm.

- Sous l'onglet Permissions, cliquez sur Edit dans la section Bucket Policy.

- Cliquez sur Policy Generator.

- Select S3 Bucket Policy comme type de police pour l'étape 1, et Add Statement détails pour l'étape 2, puis cliquez sur Generate Policy.
- Select Type de politique : Politique relative aux seaux S3
- Effet : Autoriser
- Principal :
<user-arn> - Actions :
GetBucketAclGetBucketPolicy
- ARN :
arn:aws:s3:::<bucket-name>

- Cliquez sur Add Statement.
- Select Type de politique : Politique relative aux seaux S3
- Effet : Autoriser
- Principal :
<user-arn> - Actions :
PutObjectPutObjectAcl
- ARN :
arn:aws:s3:::<bucket-name>/*. Veillez à ajouter/*après le deuxième nom de seau.
- Click Add Statement


- Cliquez sur Generate Policy. Veillez à copier la politique générée à cette étape, car elle sera utilisée à l'étape suivante pour attacher le seau source.

- Ajoutez cette politique à cette boîte de texte.
{ "Id": "<policy ID>", "Version": "<version>", "Statement": [ { "Sid": "<statement ID>", "Action": [ "s3:GetBucketAcl", "s3:GetBucketPolicy" ], "Effect": "Allow", "Resource": "arn:aws:s3:::<bucket-name>", "Principal": { "AWS": [ "<user-arn>" ] } }, { "Sid": "<statement ID>", "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Effect": "Allow", "Resource": "arn:aws:s3:::<bucket-name>/*", "Principal": { "AWS": [ "<user-arn>" ] } } ] } - Défilez jusqu'en bas et cliquez sur Save Changes.

Création d'une politique de gestion des seaux
Une politique est requise pour l'accès au seau source par le plugin.
- Go to Policy Generator.
Replace the <bucket-name> with the AWS S3 Source Bucket created previously. (netskope-ce-source-bucket).- Select Type de politique : Politique IAM
- Effet : Autoriser
- Service AWS : Amazon S3
- Actions : ListAllMyBuckets
- ARN: *
- Cliquez sur Add Statement.

- Remontez vers le haut et ajoutez une autre déclaration.
- Select Type de politique : Politique IAM
- Effet : Autoriser
- Service AWS : Amazon S3
- Actions :
- GetBucketAcl
- GetBucketPolicy
- GetBucketLocation
- ARN: arn:aws:s3:::<bucket-name>
- Cliquez sur Add Statement.

- Remontez vers le haut et ajoutez une autre déclaration.
- Select Type de politique : Politique IAM
- Effet : Autoriser
- Service AWS : Amazon S3
- Actions :
- PutObject
- PutObjectAcl
- ARN: arn:aws:s3:::<bucket-name>
- Cliquez sur Add Statement.

- Cliquez sur Generate Policy. Veillez à copier la politique générée dans cette étape car elle sera utilisée dans l'étape suivante pour créer une politique qui sera attachée à l'utilisateur pour accéder au seau source.

- Allez sur AWS Console et sélectionnez IAM depuis All Services.

- Cliquez sur Policies dans le panneau de gauche, puis cliquez sur Create Policy.

- Collez la politique créée à l'étape précédente dans l'onglet JSON, puis cliquez sur Next:Tags et Next:Review.

- Enter a name (like netskope-ce-s3-policy).

- Cliquez sur Create Policy.

- Attachez cette politique à l'utilisateur en suivant les étapes suivantes :
- Rendez-vous sur IAM > Users. Select Sélectionnez l'utilisateur auquel vous souhaitez associer une politique, puis cliquez sur « Add permissions » (Modifier les paramètres de sécurité) et sélectionnez « Add permissions » (Modifier les paramètres de sécurité) dans le menu déroulant.

- Select Attach policies directly sous Autorisations, puis recherchez et sélectionnez la stratégie créée à l'étape précédente (Netskope-ce-s3-policy).

- Cliquez sur Next puis sur Add permissions. Une politique sera attachée à l'utilisateur.

- Rendez-vous sur IAM > Users. Select Sélectionnez l'utilisateur auquel vous souhaitez associer une politique, puis cliquez sur « Add permissions » (Modifier les paramètres de sécurité) et sélectionnez « Add permissions » (Modifier les paramètres de sécurité) dans le menu déroulant.
Méthodes d'authentification des plugins
Configuration de 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.
Remarque : veillez à créer l'autorité de certification privée, l'ancre de confiance et le profil dans la même région que celle où se trouve votre AWS S3 Source Bucket.
Créer une politique IAM
Cette politique contient les autorisations requises pour la création d'un certificat d'autorité de certification privé (y compris les autorisations pour la création d'une ancre de confiance et d'un profil) et l'utilisation des rôles IAM Anywhere.
- Accédez au générateur de politiques et cliquez sur Add Statement pour générer une politique.
- 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 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 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 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.

- Cliquez sur 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 parmi All Services. Cliquez sur Policies dans le panneau de gauche, puis sur Create Policy.

- Copiez la politique dans l'onglet JSON, puis cliquez sur Next: Tags et sur Next: Review.
- Entrez un nom, comme Netskope-ce-rolesAnywhere-policy, et cliquez sur Save Changes.

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

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

- Select General-purpose pour Mode Options.
- Select Root pour CA type options.

- Saisissez l'organisation (O).

- Select RSA 2048 pour Key algorithm options.

- Add tags if any (optional).
- Activez la case à cocher dans la section CA permissions options.
- Activez la case à cocher dans la section Pricing.
- Cliquez sur Create pour créer le certificat CA.

- À partir de Actions, sélectionnez Install.

- Cliquez Confirm and Install.

Créer un ancrage de confiance
- Recherchez le service IAM et accédez à Roles sous Gestion des accès. Faites défiler vers le bas jusqu'à Rôles Anywhere et sélectionnez Manage.

- Cliquez Create a Trust anchor.

- Enter the Trust anchor name, like netskope-ce-trust-anchor.

- Select AWS Certificate Manager Private CA (créé dans les étapes précédentes) en tant que Certificate authority (CA) source
- Ajoutez des étiquettes si nécessaire.
- Cliquez Create a trust anchor.

- Cliquez sur le Trust Anchor créé et copiez le Trust Anchor ARN.

Créer un rôle IAM
- Accédez aux services IAM dans la console AWS.
- Click Role under Access management.
- Cliquez Create Role.

- Pour le type d’entité de confiance, sélectionnez Custom Trust Policy.

- Accédez au générateur de politiques.
- Remplacez la politique de confiance personnalisée par la politique de confiance ci-dessous ; cette politique contient les autorisations d'utilisation du service Rôles n'importe où :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "rolesanywhere.amazonaws.com" ] }, "Action": [ "sts:AssumeRole", "sts:TagSession", "sts:SetSourceIdentity" ] } ] } - Cliquez sur Next.
- Dans les stratégies d'autorisation , sélectionnez la stratégie de compartiment créée précédemment.

- Cliquez sur Next.
- Donnez un nom de rôle, comme Netskope-ce-roleAnywhere, et ajoutez une description pour le rôle.
- Cliquez Create role.

- Notez la Role ARN car elle sera requise dans le paramètre de configuration Plugin : Role ARN pour la méthode d’authentification AWS IAM Roles Anywhere.

Créer un profil
- Select Roles under Access management.
- Faites défiler vers le bas jusqu'à Roles Anywhere et cliquez sur Manage.

- Développez le Setup steps.
- Cliquez sur Step 2: Configure roles.
- Cliquez Configure a profile.

- Entrez un nom de profil, comme Netskope-ce-profile.
- Select le rôle créé dans la section Create IAM Role : Netskope-ce-roleAnywhere.

- Supprimez le Inline Policy.
- Cliquez Create profile.

- Cliquez sur le Profile créé et copiez le Profile 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.

- Indiquez un nom de domaine dans le champ Fully qualified domain name, comme Netskope-ce.com.
- Select RSA 2048 pour le Key algorithm.

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

- Allez sur List certificates dans le volet de navigation d'AWS Certificate Manager.
- Select le certificat créé précédemment.

- Cliquez Export.

- Saisissez le passphrase. Notez la phrase d'authentification car elle sera nécessaire pour la configuration du plugin AWS S3 à l'aide de la méthode d'authentification AWS IAM Roles Anywhere.
- Cliquez Generate PEM Encoding.

- Téléchargez tous les Certificates car ils ne seront plus visibles. Pour New certificats, il faudra l’exporter à nouveau.
Pour plus d’informations, rendez-vous sur AWS IAM Role Anywhere
Déployé sur AWS Configuration
Créer un rôle
- Allez sur IAM services dans la console AWS.
- Cliquez Create role.

- Select le AWS Service.
- Pour le cas d'utilisation, sélectionnez EC2.
- Cliquez Next.

- Select la politique de permission créée dans votre Bucket Policy.
- Cliquez Next.

- Saisissez un nom de rôle, comme Netskope-ce-instance-role, et ajoutez une description.
- Cliquez Create Role.
Note: Pour cette configuration, l’instance Netskope et le bucket S3 doivent être dans la même région.
Attribuer un rôle à une instance EC2
- Ouvrez la console de votre instance EC2.
- Click Instances under Instances.

- Allez à Action > Security > Modify IAM Role.

- Select le rôle que vous avez créé précédemment (comme Netskope-ce-instance-role).
- Cliquez Update IAM Role.

Attribuer un rôle à une instance de la cible
- Ouvrez votre script CFN.
- Récupérez la valeur du paramètre ExistingECSTaskRole s'il est présent.

- Allez sur IAM > Roles.
- Search for the ExistingECSTaskRole parameter value. Otherwise, search for NetskopeCloudExchangeTaskRole-<CFN name> and select the role.

- Attachez à ce rôle la politique de création de seaux créée précédemment.
- Cliquez Add permission > Attach policies.

- Recherchez et sélectionnez la politique de seau précédemment créée (Netskope-ce-s3-policy).
- Cliquez Add permissions.

Attribuer le rôle à une instance de K8s
- Ouvrez votre rôle créé pour ServiceAccount lors de la création de l'instance K8s.
- Rattachez la politique de gestion des seaux créée précédemment.
Configurer le plugin AWS S3 WebTX
- Dans Cloud Exchange, accédez à Settings > Plugin Store.
- Recherchez et sélectionnez le plugin AWS S3 WebTx v1.2.0 (CLS).

- Entrez un Configuration Name.
- Cliquez Next.

- Entrez ces paramètres de configuration :
- Authentication Method: Select la méthode à utiliser pour l'authentification (déployé sur AWS/AWS IAM Roles Anywhere)
- Private Key: Clé privée pour décrypter le certificat privé de l'autorité de certification AWS. Requis pour le type d'authentification "AWS IAM Roles Anywhere".
- Certificate Body: Organisme de certification pour le certificat d'autorité de certification public/privé AWS. Requis pour le type d'authentification "AWS IAM Roles Anywhere".
- Password Phrase: Phrase du mot de passe pour décrypter le certificat de l'autorité de certification. Requis pour le type d'authentification "AWS IAM Roles Anywhere".
- Profile ARN: ARN du profil AWS pour l'authentification du client AWS. Requis pour le type d'authentification "AWS IAM Roles Anywhere"..
- Role ARN: ARN du rôle AWS pour l'authentification du client AWS. Requis pour le type d'authentification "AWS IAM Roles Anywhere".
- Trust Anchor ARN: ARN de l'Ancre de confiance AWS pour l'authentification du client AWS. Requis pour le type d'authentification "AWS IAM Roles Anywhere".
- AWS S3 Bucket Region Name: AWS S3 Bucket Region Nom de la région à partir de laquelle vous pouvez obtenir le AWS S3 Bucket. Assurez-vous que le nom de la région correspond à celui de l'ARN du profil et de l'ARN de l'ancre de confiance.
- AWS S3 Bucket Name: AWS S3 Bucket Nom dans lequel l'objet de données sera stocké.
- Maximum File Size (in MBs): Taille maximale de l'objet de données WebTx à stocker dans le seau. (La valeur doit être comprise entre 1 et 100).
- Maximum Duration (in Seconds): Durée maximale pendant laquelle l'objet de données WebTx doit être stocké dans le seau.
- Cliquez sur Save. Votre plugin New sera disponible sur la page Cloud Log Shipper > Plugins.
Configurer l'expéditeur de logs Livraison de logs pour AWS S3 WebTx
- Dans Log Shipper, allez à Log Delivery et cliquez sur Add Log Delivery Configuration.
- Select le plugin Source (AWS Netskope LogStreaming ou Azure Netskope LogStreaming), le plugin Destination (AWS S3 WebTx) et cliquez sur Save.
- Une fois la configuration Log Delivery ajoutée, les données commenceront à être extraites du locataire Netskope, transformées et ingérées dans les buckets AWS S3.
Validez le plugin AWS S3 WebTx
Pour valider le plugin workflow dans Cloud Exchange.
- Allez dans Journalisation et recherchez les événements ingérés avec le filtre "message contains ingested".
- Les journaux ingérés seront filtrés.
Pour valider la poussée à partir de la plateforme AWS S3, procédez comme suit :
- Va chez AWS S3. Dans la barre de recherche, recherchez et cliquez sur Buckets.
- Recherchez le seau que vous avez utilisé lors de la création du plugin.
- Cliquez sur le nom du seau.
Note: La structure du dossier sera la suivante : webtx/feedversion/year/month/day/hour/filename.gz
Example: Webtxdemobucket/webtx/feedname=2.0.0/year=2023/month=11/day=30/hour=9/1701336881_139977276685128.gz

Dépannage du plugin S3 WebTx
Problèmes dans la configuration existante du plugin après la mise à jour du plugin
Si vous avez récemment mis à jour votre plugin AWS S3, il se peut que l'édition de la configuration existante du plugin conduise à une interface CE vierge. Ce problème peut survenir dans les versions 4.2.0 et 5.0.0 de CE si les utilisateurs essaient de modifier la configuration du plugin après la mise à jour et naviguent vers la page Paramètres de configuration.
Voici ce que vous pouvez faire sur votre version CE :
What to do:
Pour les versions 4.2.0 et 5.0.0 : La seule solution disponible est de supprimer la configuration actuelle du plugin et d’en créer un New depuis zéro.
Problèmes lors de la configuration du plugin New
Si vous créez un plugin New avec AWS IAM Roles Anywhere et que vous rencontrez une erreur de 400.
La cause première de l'impossibilité de sauvegarder le plugin peut être trouvée dans la section "logging" lorsque vous développez les logs.


What to do:
Ici, en développant le journal, nous pouvons voir « Au moins un des ARN de l'ancre de confiance, de l'ARN du rôle et de l'ARN du profil a un ID de compte différent » – nous devrions donc vérifier que les paramètres fournis sont générés à partir du même compte et ont la même région.

