Securitate, Infrastructură & OperațiuniInfrastructurăAWS (Model Enterprise)
Stocare S3
Bucket primar + CRR replica; versioning, SSE, Block-public-access, lifecycle 100 zile
Arhitectura S3
Platforma SSM.ro utilizează două bucket-uri AWS S3 în regiuni distincte:
| Bucket | Rol | Acces aplicație |
|---|---|---|
| S3 Primary | Stocare principală conținut documente | Da — citire și scriere prin API autentificat |
| S3 CRR Replica | Backup/DR pasiv în regiune separată | Nu — nicio aplicație nu citește/scrie direct din replică |
Configurare Bucket Primar
| Parametru | Configurare |
|---|---|
| Block Public Access | Activat pe întreg bucket-ul — nicio expunere publică posibilă |
| Versioning | Activat — protecție împotriva ștergerii sau suprascrierii accidentale |
| Server-Side Encryption (SSE) | Activat — toate obiectele criptate la repaus |
| Lifecycle rule | expire-deleted-objects — versiunile non-curente reținute maxim 100 de zile, apoi șterse permanent |
| Acces | Exclusiv prin API autentificat (credențiale IAM cu least-privilege) |
Replicare Cross-Region (CRR)
Toate obiectele din bucket-ul primar sunt replicate automat într-un bucket S3 din o altă regiune AWS:
- Replicarea este managed de AWS — nu necesită intervenție manuală
- Replica are aceleași setări de securitate (SSE, versioning)
- Replica este folosită exclusiv ca backup pasiv pentru DR (Disaster Recovery)
- La outage regional sau pierdere masivă de date în regiunea primară, documentele pot fi recuperate din replică
Lifecycle Rules
expire-deleted-objects
Status: Enabled
Scope: Entire bucket
Current version actions:
Day 0 — No actions defined
Noncurrent version actions:
Day 0 — Objects become noncurrent
Day 100 — 0 noncurrent versions retained
All other noncurrent versions permanently deletedAceastă regulă asigură că fișierele șterse (marcate ca delete markers) nu ocupă spațiu indefinit.
RPO S3
Replicarea cross-region asigură un RPO ≤ 15 minute pentru documente.
Acces și Autentificare
- Accesul la S3 se face exclusiv prin API autentificat — niciun obiect nu este accesibil public
- Credențialele AWS au permisiuni minime (least-privilege IAM) — acces restricționat la bucket-urile aplicației
- Credențialele sunt stocate în Heroku config vars, nu în codul sursă