Technische implementatie

Technische implementatie

Infraplannen implementeert retentie en verwijdering rechtstreeks in Azure Storage. Deze technische implementatie beschrijft het statusmodel actief, onzichtbaar, archief en vernietigd, de mapping naar Hot, Cold en Archive, en de scheiding van persoonsgegevens in PII met een HASH verwijzing.

Per leverancier bestaat een datacontainer en een WORM auditcontainer. Objectmetadata stuurt selectie en doorlooptijden, configuratie per container bepaalt termijnen en planningen. Storage Tasks voeren overgangen uit, Change Feed levert de feitenstroom, de auditcontainer legt snapshots en execution reports onveranderbaar vast.

Beveiliging gebruikt private endpoints, RBAC en klantbeheerde sleutels. Monitoring en guard controles signaleren inconsistenties en bevestigen naleving van AVG, herstelbaarheid en kostenbeheersing.

Kernpunten:

  1. Architectuur en scope, Infraplannen gebruikt Azure Storage met hiërarchische namespace. Per leverancier staat één datacontainer en één auditcontainer. De datacontainer bevat drie hoofdmappen, PlanData, PII en Config. Datumsegmenten ontbreken. De auditcontainer werkt WORM met tijdgebonden retentie en optioneel legal hold.

  2. Status en tier, Het model hanteert vier statussen, actief, onzichtbaar, archief en vernietigd. Mapping naar toegangstiers staat vast, actief in Hot, onzichtbaar in Cold, archief in Archive, vernietigd verwijderd. Guard taken bewaken status versus tier en corrigeren afwijkingen.

  3. Paden, PlanData bevat per planId drie statuspaden, planId gevolgd door actief, onzichtbaar of archief, elk met één canoniek planbestand. PII bevat records per JHASH. Config bevat per leverancier een config.json.

  4. Metadata op objecten, Verplicht, planId, leverancier, status, createdAt, deletedAt, archivedAt, retentionUntil, classification. Optioneel, jhash en jhashVersion. Deze set stuurt selectie, retentie en controles.

  5. Persoonsgegevens, PII staat fysiek gescheiden. Het plan verwijst met JHASH. JHASH volgt een deterministische HMAC SHA 256 op genormaliseerde velden. De sleutel en sleutelversies staan in Key Vault en in metadata geregistreerd.

  6. Orkestratie, Storage Tasks voeren overgangen uit met assignments per leverancier. Taken, EnsureHot voor actief, Softdelete voor onzichtbaar, Archiveer voor archief, Purge voor vernietiging. Selectie gebeurt via prefix en metadatacondities. Event Grid levert triggers voor directe acties.

  7. Configuratie, Per leverancier staat config.json met retentie voor onzichtbaar en archief, taakplanningen, tier mapping, sleutelversie en rehydratietijd. Taken lezen deze parameters bij start.

  8. Audit en WORM, De auditcontainer slaat per gebeurtenis een metadatasnapshot, execution report en verwijzing naar de Change Feed op. Een dagelijkse batchsamenvatting bevat een hashketen en een handtekening. Append only beleid borgt non repudiation.

  9. Beveiliging, Private endpoints, netwerkregels, RBAC op container en pad, scheiding van rollen voor plandata en PII, encryptie met klantbeheerde sleutels. Versiebeheer en soft delete staan aan.

  10. Observability, Diagnostiek naar Log Analytics, alerts op status tier inconsistentie, mislukte taskruns, immutabilitywijzigingen en rehydratiefouten. Kostenmonitoring via tags en metriek.

  11. Herstel en uitzonderingen, Softdeleted plannen keren gecontroleerd terug naar actief binnen de herstelperiode. Rehydratie uit Archive verloopt tijdelijk en volledig gelogd. PII blijft na archivering verwijderd.

  12. Acceptatie en migratie, Tests dekken intake, soft delete, archivering, rehydraties en vernietiging. Migratie zet bestaande plannen op de nieuwe paden, vult metadata, berekent JHASH en schrijft initiële auditrecords.