Permissions de bucket
Le bloc permissions d'un bucket répond à une question par opération : qui a le droit de faire cela ? Il emploie le même format PermissionValue à trois formes que les permissions de table : rien de nouveau à apprendre pour le lire.
| Valeur | Signification |
|---|---|
all |
Tout le monde, y compris les requêtes non authentifiées. |
authenticated |
Tout utilisateur disposant d'une session, quel que soit son rôle. |
[admin, editor] |
Uniquement les rôles listés. |
buckets:
- name: documents
maxFileSize: 52428800
allowedMimeTypes: [application/pdf, text/csv]
permissions:
upload: [admin, editor]
download: authenticated
sign: authenticated
signUpload: [admin, editor]
delete: [admin]
Les cinq opérations
| Opération | Régit | Défaut si omis |
|---|---|---|
upload |
L'écriture d'un nouveau fichier dans le bucket. | authenticated |
download |
La relecture d'un fichier. | all sur un bucket public, authenticated sinon |
sign |
L'émission d'une URL signée de téléchargement. | [admin] |
signUpload |
L'émission d'une URL signée de téléversement. | [admin] |
delete |
La suppression d'un fichier du stockage. | [admin] |
Omettre entièrement permissions applique tous les défauts ci-dessus. La conséquence à retenir : la signature est réservée aux administrateurs tant que vous n'en décidez pas autrement. Un bucket dont un member doit pouvoir distribuer des liens de téléchargement exige un sign: authenticated écrit noir sur blanc ; le silence vaut refus.
Ce qui est appliqué aujourd'hui
sign et signUpload sont appliqués par les points de terminaison de signature, avec résolution du rôle et dérogation administrateur. Les trois autres sont déclarés dans le schéma mais ne sont pas encore consultés par les routes de fichiers, qui s'appuient sur l'indicateur public du bucket et sur la présence d'une session :
| Requête | Réponse |
|---|---|
| Téléversement ou suppression sur un bucket public | Autorisé, avec ou sans session. |
| Téléversement ou suppression sur un bucket privé | 401 sans session ; autorisé avec. |
| Téléchargement sur un bucket privé, sans session | 404 (anti-énumération — jamais 403). |
| Signature sans session | 401. |
| Signature avec session mais sans permission correspondante | 404, pour que la frontière de permission reste invisible. |
Traitez upload / download / delete comme une intention, pas comme une barrière — pour l'instant. Écrivez-les : ils consignent dans le schéma ce que vous vouliez, ils survivent à sovrium validate, et ils sont exactement ce que le chemin d'application lira. Mais ne placez pas un bucket privé derrière une liste de rôles en supposant qu'un member ne peut aujourd'hui pas y téléverser. Si une frontière doit tenir dès maintenant, exprimez-la avec public: false et le flux d'URL signées, dont les permissions sont vérifiées.
Dérogation administrateur et appelants anonymes
Deux règles traversent toutes les vérifications de signature :
adminpasse toujours. Un rôle nomméadminpeut signer sur n'importe quel bucket, quelle que soit la permission déclarée.allexige malgré tout une session sur les points de terminaison de signature. Les routes de signature rejettent les appelants anonymes avec401avant toute évaluation de permission :sign: allélargit donc l'accès à tout utilisateur connecté, pas au public. Pour servir des fichiers sans session, utilisezpublic: true— c'est là le commutateur des lectures anonymes.
Pages associées
- Présentation des buckets — le bucket auquel appartient un bloc de permissions.
- Backends de stockage — où les octets autorisés sont écrits.
- URL signées — le flux qui lit
signetsignUpload. - Rôles et RBAC — d'où viennent les noms de rôles.
- Permissions de table — le même format de valeur sur les tables.
Dernière mise à jour 27 juillet 2026
Cette documentation a été rédigée avec de l'IA : des erreurs ou du contenu obsolète sont donc possibles. Sovrium est en bêta — les contributions et corrections sont les bienvenues.