Comment utiliser votre propre stockage Scaleway pour vos documents dans SimplePDF

Profile picture of Benjamin André-Micolon
Les documents transitent directement de l'éditeur SimplePDF vers votre bucket Scaleway, sans passer par l'infrastructure SimplePDF

En alternative à AWS S3, Azure Blob Storage ou SharePoint, vous pouvez utiliser un bucket Scaleway Object Storage pour stocker vos documents et soumissions.

Scaleway est un fournisseur cloud européen avec des centres de données à Paris, Amsterdam, Varsovie et Milan. Les équipes choisissent généralement Scaleway pour la résidence des données dans l'UE, la conformité RGPD ou parce qu'elles opèrent déjà leur infrastructure sur Scaleway et veulent garder leurs documents chez le même fournisseur.

Ce qui atterrit dans votre bucket Scaleway

Une fois Scaleway connecté, deux types de fichiers arrivent automatiquement dans votre bucket :

  • Documents sources : chaque PDF qu'un utilisateur (ou vous) charge dans l'éditeur est envoyé directement vers votre bucket. SimplePDF n'en conserve aucune copie.
  • Soumissions remplies : lorsqu'un utilisateur signe, édite ou soumet un document, le PDF résultant est également écrit dans votre bucket.

Le téléversement se fait côté client : le navigateur envoie les fichiers directement vers Scaleway via des URL pré-signées à durée de vie courte. Les serveurs SimplePDF ne font qu'échanger ces URL, vos documents ne transitent donc jamais par l'infrastructure SimplePDF. Le flux est identique à la configuration AWS S3 ; pour le diagramme de séquence complet et le modèle de sécurité, rendez-vous ici.

Comment configurer votre propre Scaleway Object Storage

La configuration de votre propre bucket Scaleway Object Storage est disponible avec le plan PRO

Dans Scaleway

Pour stocker des documents sur Scaleway Object Storage, il vous faut un bucket et une clé d'API avec les droits lecture/écriture/suppression sur ce bucket.

  1. Créez (ou choisissez) un bucket dans la région de votre choix (fr-par, nl-ams, pl-waw ou it-mil). Gardez la visibilité du bucket sur Privé (la valeur par défaut). Ne la passez jamais en public. Un bucket Scaleway public expose chaque document et chaque soumission que vous y stockez à n'importe qui sur internet, robots d'indexation compris. SimplePDF téléverse via des URL pré-signées, authentifiées et de courte durée : un accès public n'apporte rien et ouvre la porte à une fuite de données.

Formulaire de création de bucket Scaleway Object Storage avec sélecteur de région

  1. Ouvrez IAM & API keys depuis le menu utilisateur en haut à droite de la console Scaleway.

  2. Créez une application IAM dédiée à SimplePDF. Passer par une application (plutôt que votre propre utilisateur) est l'option sécurisée par défaut : elle n'accorde que ce dont SimplePDF a besoin, survit aux changements d'équipe et peut être révoquée sans impacter personne d'autre.

  • Ouvrez l'onglet Applications et cliquez sur + Créer une application.
  • Nommez-la simplepdf-byos (ou tout autre nom que vous reconnaîtrez). Laissez le champ politique vide pour l'instant (Scaleway l'indique comme optionnel à cette étape, mais une application sans politique n'a aucune permission ; nous en attacherons une à l'étape suivante).
  • Cliquez sur Créer une application.
  1. Créez une policy qui accorde à l'application des permissions Object Storage limitées :
  • Ouvrez l'onglet Politiques et cliquez sur + Créer une policy. Nommez-la simplepdf-byos-policy et ajoutez une description du type Accorde à SimplePDF BYOS l'accès au bucket Object Storage.

  • Sous Principaux, sélectionnez l'application simplepdf-byos que vous venez de créer.

  • La policy doit contenir deux règles, l'une pour le bucket (limitée au Projet) et l'autre pour IAM (limitée à l'Organisation).

    Règle n°1 (accès au bucket) :

    • Champ d'application : Accès aux ressources → choisissez le Projet qui contient votre bucket.

    • Jeu de permissions (dans la section Storage) : le choix dépend de votre souhait que SimplePDF puisse lire votre bucket ou non :

      • Par défaut (lecture + écriture) : cochez ObjectStorageFullAccess. SimplePDF peut lister, lire, téléverser, supprimer et configurer le CORS sur le bucket.
      • Écriture seule (recommandé si vous ne voulez à aucun moment que SimplePDF lise vos documents, la configuration la plus stricte) : cochez ObjectStorageObjectsWrite, ObjectStorageObjectsDelete et ObjectStorageBucketsWrite. SimplePDF peut téléverser, supprimer et configurer le CORS, mais ne peut ni lister ni lire les objets. Scaleway ne propose pas de preset pour cette combinaison : vous cochez donc les trois jeux de permissions individuellement.

      Si vous choisissez l'écriture seule, pensez aussi à cocher Write permissions only dans le formulaire de configuration du stockage SimplePDF ci-dessous, pour que SimplePDF ne tente jamais d'opération de lecture.

    Règle n°2 (lecture IAM) :

    • Cliquez sur + Ajouter une règle.
    • Champ d'application : Accès aux fonctionnalités de l'Organisation.
    • Jeu de permissions (dans la section Security & Identity) : cochez IAMReadOnly. Cela permet à SimplePDF de lire la date d'expiration de votre clé d'API afin d'envoyer des e-mails de rappel 7 jours et 1 jour avant son expiration.
  • Cliquez sur Créer une policy.

Politique IAM Scaleway liée à l'application simplepdf-byos avec ObjectStorageFullAccess sur un seul Projet

  1. Générez la clé d'API :
  • Ouvrez l'onglet Clés d'API et cliquez sur + Générer une clé d'API.
  • Pour le porteur, sélectionnez l'application simplepdf-byos que vous venez de créer.
  • Ajoutez une description du type Clé d'API SimplePDF BYOS.
  • À la question "Cette clé d'API sera-t-elle utilisée pour Object Storage ?", répondez Oui et sélectionnez le Projet qui contient votre bucket comme Projet favori.
  • Choisissez une date d'expiration qui correspond à votre politique de sécurité. SimplePDF envoie des e-mails de rappel 7 jours et 1 jour avant l'expiration de la clé d'API, afin que vous puissiez la renouveler sans interruption de service.
  • Copiez immédiatement la Clé d'accès et la Clé secrète : la Clé secrète ne sera plus affichée ensuite.

Formulaire Générer une clé d'API Scaleway avec l'application simplepdf-byos comme porteur et le Projet favori Object Storage sélectionné

La configuration CORS est prise en charge automatiquement. Scaleway n'expose pas le CORS dans la console, mais SimplePDF détecte les endpoints Scaleway et applique les règles CORS requises à votre bucket au moment où vous enregistrez la configuration de stockage. Les règles suivent le champ Write permissions only configuré ci-dessous : GET, PUT et DELETE sont autorisés lorsque SimplePDF a un accès en lecture, et GET est retiré lorsque vous configurez le bucket en écriture seule. Aucun CLI ni AWS SDK requis.

Si votre clé d'API ne peut pas configurer le CORS (typiquement parce que la politique ne contient pas ObjectStorageBucketsWrite, qui est incluse dans les deux jeux de permissions par défaut et écriture seule décrits à l'étape 4) ou si le bucket est injoignable, SimplePDF rejette l'enregistrement et remonte l'erreur afin que vous la corrigiez avant qu'une soumission ne soit envoyée.

Dans SimplePDF

  1. Connectez-vous à votre compte
  2. Accédez à la vue des paramètres du compte

Paramètres du compte SimplePDF affichant la section Bring your own storage

  1. Cliquez sur Update configuration

  2. Sélectionnez Scaleway comme type de stockage et renseignez vos informations :

Region : choisissez la région de votre bucket : fr-par (Paris), nl-ams (Amsterdam), pl-waw (Varsovie) ou it-mil (Milan). SimplePDF en déduit l'URL de l'endpoint Object Storage, il n'y a donc pas de champ endpoint séparé à remplir.

Bucket : nom de votre bucket Scaleway

Access Key : l'Access Key de la clé d'API générée à l'étape 5

Secret Key : la Secret Key de la clé d'API générée à l'étape 5

Write permissions only : cochez cette case si vous ne voulez pas que SimplePDF puisse lire les documents de votre bucket. Une fois cochée, les règles CORS appliquées automatiquement n'autorisent que PUT et DELETE (pas de GET), ce qui correspond à ce dont l'éditeur a besoin pour téléverser et supprimer des fichiers sans les lire.

Modale de configuration du stockage SimplePDF avec Scaleway sélectionné, région fr-par, bucket et clés renseignés

  1. Cliquez sur Update

Permissions requises sur votre bucket Scaleway

La politique IAM que vous attachez à l'étape 4 détermine ce que SimplePDF peut faire sur votre bucket. Choisissez le mode qui correspond à votre besoin.

Chaque policy attachée doit contenir deux règles :

  • Règle limitée au Projet (pour le bucket) : choisissez le projet qui contient votre bucket et cochez l'une des combinaisons ci-dessous dans la section Storage.
  • Règle limitée à l'Organisation (pour la lecture IAM) : passez le champ d'application sur Accès aux fonctionnalités de l'Organisation et cochez IAMReadOnly dans la section Security & Identity. Cette règle est obligatoire pour que SimplePDF puisse lire la date d'expiration de votre clé d'API et envoyer les e-mails de rappel avant son expiration.

Par défaut (lecture + écriture)

Dans la règle limitée au Projet, sous Storage, cochez ObjectStorageFullAccess. SimplePDF peut lister, lire, téléverser, supprimer les objets du bucket et configurer le CORS.

Écriture seule

Dans la règle limitée au Projet, sous Storage, cochez ObjectStorageObjectsWrite, ObjectStorageObjectsDelete et ObjectStorageBucketsWrite. SimplePDF peut téléverser, supprimer les objets et configurer le CORS, mais ne peut ni lister ni lire les objets. Scaleway ne propose pas de preset pour cette combinaison : vous cochez donc les trois jeux de permissions individuellement.

Actions sous-jacentes de l'API S3

Pour référence, voici les actions S3 sous-jacentes que SimplePDF effectue sur le bucket :

  • s3:GetObject : pour afficher les documents et soumissions dans l'interface et lors de l'envoi des webhooks (mode par défaut uniquement)
  • s3:PutObject : pour téléverser les documents et soumissions
  • s3:DeleteObject : pour supprimer les documents et soumissions téléversés
  • s3:PutBucketCORS : accordée une seule fois, lorsque SimplePDF configure automatiquement le CORS sur votre bucket au moment de l'enregistrement

C'est tout ! Vos documents et soumissions sont désormais stockés automatiquement dans votre propre bucket Scaleway Object Storage !

Si vous avez des questions, n'hésitez pas à contacter support@simplepdf.com

Vous pourriez également être intéressé par