[infra] Stockage de secours : conteneur d'archive agrégée, rétention et garde-fou de dépense #69

Closed
opened 2026-09-02 09:04:20 +00:00 by gabriel · 0 comments
Member

Exigence couverte

ENF-05, ENF-13

Épreuve servie

EC04 · Cloud et sécurisation

Charge estimée

0,75 j.h

Ce qu'on veut obtenir

Le seul objet réellement créé sur Azure côté données : un conteneur privé qui reçoit l'archive quotidienne agrégée, avec une rétention posée dès le départ et un garde-fou de dépense adapté aux droits réels de l'abonnement école.

Critères d'acceptation

  • Ressource azurerm_storage_account gérée par Terraform, plus un unique conteneur privé archive.
  • Versioning activé, TLS 1.2, accès public désactivé, shared_access_key_enabled conservé pour le jeton SAS de #70.
  • azurerm_storage_management_policy : suppression automatique au-delà de 30 jours sur daily-archive.
  • Le plafond de dépense est déclaré dans le plan de migration (#43), pas dans Azure : le rôle Devops-cours-projet-eadl n'a pas Microsoft.Consumption/budgets/write (vérifié le 02/09/2026).
  • Garde-fou technique à la place : azurerm_monitor_metric_alert sur la capacité du compte de stockage (seuil ex. 5 Go) avec un azurerm_monitor_action_group e-mail — le rôle autorise Microsoft.Insights/*.
  • Mesures compensatoires documentées : rétention 30 j, zéro ressource de calcul permanente sur Azure.
  • Sorties Terraform : nom du compte, point d'entrée blob du conteneur.

Comment on le vérifie

Commande   terraform apply, puis az storage container list --account-name <sa> -o table, az storage account management-policy show, az monitor metrics alert list -g rg-GGoldbronn2024_cours-projet-eadl
Attendu    un seul conteneur, rétention 30 j, une alerte de capacité active avec destinataire
Preuve     les sorties de commande et la capture de l'alerte dans le portail

Manuel d'exploitation à mettre à jour

docs/runbooks/stockage-secours.md (créé), section « où vit quoi et combien de temps »

Risque et retour arrière

Rétention trop courte : perte d'archives. Commencer à 30 jours, resserrer ensuite. Erreur de nommage : terraform destroy ciblé sur le conteneur.

Dépendances

Dépend de #68 (squelette Terraform). Réalise « ce qui sera réellement créé » que cadre #43, sans modifier #43.

### Exigence couverte ENF-05, ENF-13 ### Épreuve servie EC04 · Cloud et sécurisation ### Charge estimée 0,75 j.h ### Ce qu'on veut obtenir Le seul objet réellement créé sur Azure côté données : un conteneur privé qui reçoit l'archive quotidienne agrégée, avec une rétention posée dès le départ et un garde-fou de dépense adapté aux droits réels de l'abonnement école. ### Critères d'acceptation - [ ] Ressource `azurerm_storage_account` gérée par Terraform, plus un unique conteneur privé `archive`. - [ ] Versioning activé, TLS 1.2, accès public désactivé, `shared_access_key_enabled` conservé pour le jeton SAS de #70. - [ ] `azurerm_storage_management_policy` : suppression automatique au-delà de 30 jours sur `daily-archive`. - [ ] Le plafond de dépense est déclaré dans le plan de migration (#43), pas dans Azure : le rôle `Devops-cours-projet-eadl` n'a pas `Microsoft.Consumption/budgets/write` (vérifié le 02/09/2026). - [ ] Garde-fou technique à la place : `azurerm_monitor_metric_alert` sur la capacité du compte de stockage (seuil ex. 5 Go) avec un `azurerm_monitor_action_group` e-mail — le rôle autorise `Microsoft.Insights/*`. - [ ] Mesures compensatoires documentées : rétention 30 j, zéro ressource de calcul permanente sur Azure. - [ ] Sorties Terraform : nom du compte, point d'entrée blob du conteneur. ### Comment on le vérifie ``` Commande terraform apply, puis az storage container list --account-name <sa> -o table, az storage account management-policy show, az monitor metrics alert list -g rg-GGoldbronn2024_cours-projet-eadl Attendu un seul conteneur, rétention 30 j, une alerte de capacité active avec destinataire Preuve les sorties de commande et la capture de l'alerte dans le portail ``` ### Manuel d'exploitation à mettre à jour `docs/runbooks/stockage-secours.md` (créé), section « où vit quoi et combien de temps » ### Risque et retour arrière Rétention trop courte : perte d'archives. Commencer à 30 jours, resserrer ensuite. Erreur de nommage : `terraform destroy` ciblé sur le conteneur. ### Dépendances Dépend de #68 (squelette Terraform). Réalise « ce qui sera réellement créé » que cadre #43, sans modifier #43.
gabriel self-assigned this 2026-09-02 09:04:20 +00:00
florian added this to the EnerVision project 2026-09-02 14:51:55 +00:00
florian self-assigned this 2026-09-03 08:04:46 +00:00
gabriel added the due date 2026-09-11 2026-09-03 12:41:06 +00:00
gabriel added this to the Post-jury milestone 2026-09-03 15:06:03 +00:00
justine self-assigned this 2026-09-07 07:59:49 +00:00
justine added reference justine/69-stockage-archive-azure 2026-09-07 13:54:46 +00:00
florian changed reference from justine/69-stockage-archive-azure to justine/69-stockage-archive-azure 2026-09-07 14:34:15 +00:00
florian self-assigned this 2026-09-07 14:35:13 +00:00
justine added spent time 2026-09-08 06:50:35 +00:00
3 hours
justine self-assigned this 2026-09-09 07:47:19 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Total time spent: 3 hours
justine
3 hours
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
2026-09-11
Dependencies

No dependencies set

Reference
g2/enervision#69
No description provided.