OverView DropPoint
Dépôt de fichiers compatible S3, avec des buckets dédiés par organisation
OverView DropPoint est un point de dépôt de fichiers compatible S3. Chaque organisation dispose de ses propres buckets, accessibles avec ses credentials.
Les fichiers se déposent depuis l'interface web OverView, avec l'AWS CLI ou avec un SDK S3. C'est cette compatibilité qui permet d'automatiser les envois, par exemple en planifiant un export quotidien. S3 désigne ici le protocole : DropPoint n'est pas lié à AWS, et les fichiers sont stockés en France, chez un hébergeur français.
Vue d'ensemble
DropPoint offre :
- Isolation complète entre les organisations
- Compatibilité AWS CLI pour une intégration facile
- Buckets S3 dédiés par type de connecteur
- Hébergement en France, chez un hébergeur français, sans lien avec AWS
Génération des credentials
Étapes pour générer vos credentials
- Dans l'application OverView, rendez-vous dans Paramètres > Sécurité > S3 Credentials
- Cliquez sur le bouton + pour générer de nouveaux credentials
- Vos credentials sont affichés :
- Access Key ID : Identifiant unique pour votre compte
- Secret Access Key : Clé secrète (gardez-la confidentielle)
- S3 Endpoint :
https://s3.oversoc.com
Sécurité des credentials
- La Secret Access Key n'est visible qu'au moment de la génération
- Copiez et sauvegardez immédiatement vos credentials
- Ne partagez jamais vos credentials avec des tiers
Choisir un client
DropPoint parle l'API S3 : n'importe quel client S3 fonctionne dès lors qu'il
pointe vers https://s3.oversoc.com. Voici ceux couverts ici :
| Client | Plateformes | Adapté à |
|---|---|---|
| AWS CLI | Windows, macOS, Linux | Le point de départ recommandé : un seul outil, les mêmes commandes partout, facile à scripter |
| AWS Tools for PowerShell | Windows | Scripter sous Windows sans installer l'AWS CLI, avec des cmdlets natives |
| rclone | Windows, macOS, Linux | Répliquer un dossier, puisqu'il n'envoie que ce qui a changé |
| SDK Python (boto3) | Windows, macOS, Linux | Déposer depuis un script ou une application existante |
Un client graphique convient aussi pour des dépôts manuels occasionnels.
Cyberduck (Windows, macOS) et WinSCP (Windows) acceptent tous deux un endpoint
S3 personnalisé : créez un profil de type S3, renseignez s3.oversoc.com comme
serveur, et utilisez vos Access Key ID et Secret Access Key comme identifiant et
mot de passe.
DropPoint lit le bucket dans le chemin, sous la forme
https://s3.oversoc.com/your-bucket/export.csv. Le bucket ne fait jamais partie
du nom d'hôte : l'adressage virtual hosted (your-bucket.s3.oversoc.com) ne
fonctionne donc pas. Les clients ci-dessous sont configurés en conséquence, et un
client graphique demande d'activer son option « path style ».
Configuration AWS CLI
Installer l'AWS CLI
# Windows (PowerShell)
winget install --id Amazon.AWSCLI
# macOS
brew install awscli
# Linux
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o awscliv2.zip
unzip awscliv2.zip && sudo ./aws/install
Configurer le profil
Configurez votre profil AWS CLI avec les credentials générés ci-dessus :
aws configure set aws_access_key_id VOTRE_ACCESS_KEY --profile ovs_votre_org
aws configure set aws_secret_access_key VOTRE_SECRET_KEY --profile ovs_votre_org
aws configure set region fr-par --profile ovs_votre_org
aws configure set endpoint_url https://s3.oversoc.com --profile ovs_votre_org
aws configure set s3.addressing_style path --profile ovs_votre_org
Ces cinq commandes sont identiques sous Windows, macOS et Linux.
s3.addressing_style vaut auto par défaut, ce qui tente de placer le bucket
dans le nom d'hôte : le passer à path maintient les requêtes dans la forme que
DropPoint accepte. C'est
endpoint_url dans le profil qui permet aux commandes suivantes de se passer de
--endpoint-url à chaque appel. Cela demande l'AWS CLI v2.13 ou plus récent ;
sur une version antérieure, ajoutez --endpoint-url https://s3.oversoc.com à
chaque commande.
Vérifiez que le profil fonctionne :
aws s3 ls --profile ovs_votre_org
La commande liste les buckets de votre organisation. Une sortie vide signifie que le profil a bien joint DropPoint, mais qu'aucun bucket n'existe encore.
Utilisation des buckets S3
Structure des buckets
Chaque organisation dispose de buckets S3 dédiés pour chaque connecteur. Les buckets sont nommés directement d'après le type de connecteur :
azure- Pour les données Azuresentinelone- Pour les données SentinelOnevmware- Pour les données VMware- Et autres connecteurs selon vos besoins
Les fichiers se déposent à la racine du bucket, au format CSV ou JSON. OverView détecte les nouveaux fichiers et les importe lors de la synchronisation suivante. La page de chaque connecteur indique le bucket qu'il lit.
Lister vos buckets disponibles
# Lister tous les buckets disponibles pour votre organisation
aws s3 ls --profile ovs_votre_org
Déposer des fichiers
Via AWS CLI
# Lister le contenu d'un bucket spécifique
aws s3 ls s3://your-bucket/ --profile ovs_votre_org
# Déposer un fichier dans le bucket Azure
aws s3 cp fichier.json s3://your-bucket/fichier.json --profile ovs_votre_org
# Déposer un fichier dans le bucket SentinelOne
aws s3 sync ./exports/ s3://your-bucket/ --profile ovs_votre_org
# Télécharger un fichier depuis un bucket
aws s3 cp s3://your-bucket/fichier.json ./fichier.json --profile ovs_votre_org
Conservez le listing dans un script : c'est lui qui indique à une exécution sans surveillance si le dépôt a abouti.
Via AWS Tools for PowerShell (Windows)
Les AWS Tools for PowerShell fournissent des cmdlets natives sous Windows, sans installer l'AWS CLI. Installez le module S3 une fois :
Install-Module -Name AWS.Tools.Installer -Repository PSGallery -Scope CurrentUser
Install-AWSToolsModule -Name AWS.Tools.S3 -Scope CurrentUser
Enregistrez les credentials dans un profil nommé, puis fixez la région pour la session :
Set-AWSCredential -AccessKey VOTRE_ACCESS_KEY -SecretKey VOTRE_SECRET_KEY -StoreAs ovs_votre_org
Set-DefaultAWSRegion -Region fr-par
Listez les buckets et déposez un fichier :
Get-S3Bucket -ProfileName ovs_votre_org -EndpointUrl https://s3.oversoc.com -Region fr-par
Write-S3Object -BucketName your-bucket -Key export.csv -File .\export.csv `
-ProfileName ovs_votre_org -EndpointUrl https://s3.oversoc.com -Region fr-par
-Region sur chaque cmdletSet-AWSCredential -StoreAs enregistre les clés mais aucune région, or le SDK
en a besoin pour signer une requête. Set-DefaultAWSRegion couvre la session en
cours, tandis que -Region sur chaque cmdlet couvre aussi un script lancé par le
Planificateur de tâches, où aucune valeur de session n'a été fixée.
L'adressage en path style ne demande aucun réglage : les cmdlets y passent
d'elles-mêmes dès qu'un -EndpointUrl est fourni.
Via rclone
rclone compare la source et la destination : une exécution planifiée n'envoie
donc que ce qui a changé. Ajoutez un remote dans rclone.conf :
[droppoint]
type = s3
provider = Other
access_key_id = VOTRE_ACCESS_KEY
secret_access_key = VOTRE_SECRET_KEY
endpoint = https://s3.oversoc.com
region = fr-par
force_path_style = true
force_path_style n'est pas optionnel ici, pour la raison donnée plus haut.
Le fichier de configuration se trouve dans %APPDATA%\rclone\rclone.conf sous
Windows et ~/.config/rclone/rclone.conf sous macOS et Linux. rclone config file affiche le chemin utilisé.
# Lister les buckets
rclone lsd droppoint:
# Copier un fichier
rclone copy ./export.csv droppoint:your-bucket/
# Répliquer un dossier, en n'envoyant que ce qui a changé
rclone sync ./exports/ droppoint:your-bucket/
sync supprimerclone sync aligne la destination sur la source, ce qui implique de retirer du
bucket les fichiers qui n'existent plus localement. Utilisez rclone copy pour
ajouter sans jamais supprimer, et faites un premier essai avec --dry-run.
Via SDK Python (boto3)
import boto3
# Configuration du client S3
session = boto3.Session(
aws_access_key_id='VOTRE_ACCESS_KEY',
aws_secret_access_key='VOTRE_SECRET_KEY',
region_name='fr-par'
)
s3_client = session.client(
's3',
endpoint_url='https://s3.oversoc.com'
)
# Lister tous les buckets disponibles
response = s3_client.list_buckets()
for bucket in response['Buckets']:
print(f"Bucket: {bucket['Name']}")
# Déposer un fichier dans le bucket Azure
s3_client.upload_file(
'fichier_local.json',
'your-bucket',
'fichier_distant.json'
)
# Lister les objets dans un bucket spécifique
response = s3_client.list_objects_v2(Bucket='your-bucket')
for obj in response.get('Contents', []):
print(f"Fichier: {obj['Key']}, Taille: {obj['Size']} bytes")
Automatiser les envois
Associez le dépôt à une tâche planifiée pour que les exports arrivent dans OverView sans intervention. Chaque dépôt déclenche un nouvel import : un export quotidien maintient donc l'inventaire à jour.
Remplacez your-bucket par le nom du bucket du connecteur, indiqué sur la page
de documentation de ce connecteur.
Linux
# /etc/cron.d/overview-export : chaque jour à 02h30
30 2 * * * root /usr/local/bin/aws s3 cp /var/exports/export.csv s3://your-bucket/export.csv --profile ovs_votre_org
cron s'exécute dans un environnement minimal : indiquez le chemin complet
d'aws. Le profil est lu dans le répertoire personnel de l'utilisateur qui
exécute la tâche, root ci-dessus.
macOS
cron fonctionne de la même manière via crontab -e. launchd est
l'ordonnanceur pris en charge sous macOS et survit plus sûrement aux
redémarrages :
<!-- ~/Library/LaunchAgents/com.oversoc.export.plist -->
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0"><dict>
<key>Label</key><string>com.oversoc.export</string>
<key>ProgramArguments</key>
<array>
<string>/opt/homebrew/bin/aws</string><string>s3</string><string>cp</string>
<string>/Users/vous/exports/export.csv</string>
<string>s3://your-bucket/export.csv</string>
<string>--profile</string><string>ovs_votre_org</string>
</array>
<key>StartCalendarInterval</key><dict><key>Hour</key><integer>2</integer><key>Minute</key><integer>30</integer></dict>
</dict></plist>
Chargez-le avec launchctl load ~/Library/LaunchAgents/com.oversoc.export.plist.
Windows
Enregistrez le dépôt dans un script, pour que la tâche planifiée ne porte qu'une seule commande :
# C:\Scripts\Send-OverViewExport.ps1
$ErrorActionPreference = 'Stop'
Write-S3Object -BucketName your-bucket -Key export.csv -File 'C:\Exports\export.csv' `
-ProfileName ovs_votre_org -EndpointUrl https://s3.oversoc.com -Region fr-par
Déclarez-le dans le Planificateur de tâches :
$action = New-ScheduledTaskAction -Execute 'powershell.exe' `
-Argument '-NoProfile -ExecutionPolicy Bypass -File C:\Scripts\Send-OverViewExport.ps1'
$trigger = New-ScheduledTaskTrigger -Daily -At 02:30
Register-ScheduledTask -TaskName 'OverView export' -Action $action -Trigger $trigger
La tâche s'exécute sous l'utilisateur déclaré, et Set-AWSCredential enregistre
le profil par utilisateur. Déclarez la tâche sous le compte qui a enregistré les
credentials, sinon le script ne trouvera pas le profil.
Dépannage
Erreurs courantes
Tous les clients affichent le code d'erreur renvoyé par DropPoint. C'est ce code qui distingue les causes :
| Erreur | Ce que cela signifie | Quoi vérifier |
|---|---|---|
InvalidAccessKeyId | L'Access Key ID est inconnu | Une faute de frappe dans la clé, ou des credentials révoqués. Générez-en de nouveaux depuis Paramètres > Sécurité > S3 Credentials |
SignatureDoesNotMatch | La signature ne correspond pas | Le plus souvent une Secret Access Key erronée. Cela arrive aussi quand l'horloge de la machine dérive de plus d'un quart d'heure environ, la signature couvrant l'horodatage de la requête : vérifiez le NTP |
AccessDenied | Authentifié, mais pas autorisé ici | Le bucket correspond à un connecteur que ces credentials ne couvrent pas. Vérifiez le nom du bucket sur la page du connecteur, puis contactez le support OverSOC pour qu'il soit ajouté à vos credentials |
AccessDenied, « Credentials are inactive » | Les credentials ont été désactivés | Générez de nouveaux credentials, ou contactez le support OverSOC |
AccessDenied, « Missing authorization » | La requête ne portait aucune signature | Le client n'est pas configuré pour la signature S3 v4, ou envoie des requêtes anonymes |
EntityTooLarge | Une requête a dépassé 500 Mo | Envoyez les gros fichiers en plusieurs parties. aws s3 cp et rclone le font d'eux-mêmes ; un appel SDK écrit à la main peut demander d'activer le multipart. Découper l'export fonctionne aussi |
NoSuchKey | L'objet n'existe pas | La clé est orthographiée autrement, ou le fichier est parti dans un autre bucket |
InvalidBucketName | Le nom de bucket est refusé | Le nom doit être l'identifiant du connecteur, en minuscules, tel qu'indiqué sur sa page |
XAmzContentSHA256Mismatch | Le corps ne correspond pas à son empreinte | Un proxy modifie la requête. Excluez s3.oversoc.com de tout proxy qui réécrit ou inspecte le trafic |
Où lire l'erreur
# La CLI affiche le code en cas d'échec ; --debug montre l'échange complet
aws s3 cp ./export.csv s3://your-bucket/export.csv --profile ovs_votre_org --debug
Support
Pour toute assistance, contactez support@oversoc.com.
Limites et quotas
- Taille maximale par requête : 500 Mo. Un fichier plus gros passe tout de
même, en plusieurs parties :
aws s3 cpetrclonebasculent d'eux-mêmes sur un envoi multipart, et chaque partie reste sous cette limite. Au-delà, une requête unique est rejetée avecEntityTooLarge. - Nombre de fichiers et volume total : aucun quota par organisation n'est appliqué aujourd'hui.