AWS S3 Storage¶
s3 stocke les objets dans AWS S3 ou dans un backend compatible S3 comme MinIO.
Installer¶
| Bash | |
|---|---|
Configuration¶
| YAML | |
|---|---|
| Champ | Role |
|---|---|
bucket_name |
bucket cible en single-tenant |
prefix |
prefixe applique devant les objets |
region_name |
region AWS passee a boto3.Session |
endpoint_url |
endpoint custom, utile pour MinIO |
force_path_style |
force le path-style S3 pour les compatibles S3 |
multitenant |
autorise les coordonnees S3 dans TenantContext |
Credentials Et Secrets¶
En single-tenant, l'adapter ne declare pas de champs aws_access_key_id dans
StorageSettings. Il laisse boto3 utiliser sa chaine standard: role IAM du
runtime, profile AWS, variables standard du SDK ou credentials injectes par la
plateforme.
En production, preferer un role IAM ou workload identity. Si les credentials
varient par tenant, les fournir via TenantContext avec ces cles:
| Text Only | |
|---|---|
Ces valeurs tenant doivent venir de Vault ou d'un secret manager. Elles ne
doivent pas etre commitees dans storage.yaml.
MinIO Local¶
| YAML | |
|---|---|
Configuration Arclith locale:
| YAML | |
|---|---|
Demarrer MinIO, creer le bucket arclith-files, puis lancer le smoke test du
quickstart avec des credentials de developpement injectes dans
l'environnement local.
IAM Minimal¶
Pour le contrat actuel, borner les droits aux objets du prefixe utilise:
| JSON | |
|---|---|
FileStoragePort ne liste pas les objets. Ajouter s3:ListBucket uniquement si
un use case applicatif introduit explicitement du listing, avec une condition de
prefixe.
AWS documente que les operations objet S3 comme GetObject, PutObject et
DeleteObject ciblent les ARN objets, y compris avec un prefixe. Voir
How Amazon S3 works with IAM.
Limites Connues¶
- Pas de creation automatique de bucket.
- Pas de policy lifecycle ou retention.
- Pas d'URL signee dans le port initial.
- Pas de listing objet.
- Pas d'upload multipart expose au client final.
Validation¶
| Bash | |
|---|---|
Ne jamais lancer un smoke test destructif sur un bucket de production.