Pipeline segur per al GDPR: Anonimitzar el PIE abans d'emmagatzemar-lo
Actualitzat per al 2026
Heu etiquetat les vostres columnes PIE a dbt. Heu configurat l'emmascarament dinamic a Snowflake. Us sentiu conformes amb el GDPR.
El vostre contingut d'origen encara arriba al magatzem sense emmascarar. L'emmascarament s'executa en el moment de la consulta. El contingut sense emmascarar es troba al vostre esquema en brut. Qualsevol persona amb acces a l'esquema en brut pot llegir-lo. Els vostres models dbt s'han executat abans que existissin les polítiques d'emmascarament. Les taules ingerides antigues mai no s'han emmascarar.
La diferencia entre "tenim polítiques d'emmascarament" i "el nostre pipeline es segur" es on es produeixen les infraccions del GDPR.
Consulteu la nostra visio general de compliment per saber com anonym.legal dona suport al GDPR.
Com els pipelines ELT exposen el PIE
El patro Extract-Load-Transform (ELT) es ara la norma. Carrega les dades d'origen al magatzem primer. Les transformacions venen despres. Els passos son els seguents:
- Extraccio: Els sistemes d'origen exporten tots els camps. Salesforce CRM, Stripe payments, Intercom support - tot surt.
- Carrega: Les dades d'origen arriben a l'esquema d'ingesta del magatzem. Snowflake, BigQuery, Redshift funcionen tots de la mateixa manera. S'inclouen tots els camps PIE.
- Transformacio: Els models dbt netegen i combinen les dades per a l'analítica.
La capa d'ingesta conte informacio personal completa. Noms, adreces de correu electronic, numeros de telefon, detalls de pagament, text de tickets de suport. En molts equips, els enginyers i analistes tenen acces a l'esquema en brut. Poden consultar aquestes taules en qualsevol moment.
L'emmascarament basat en etiquetes a Snowflake ajuda en el moment de la consulta. Pero nomes per als models posteriors configurats correctament. No emmascara les taules ingerides antigues. No bloqueja les consultes directes d'esquema. Cada model i tauler de control ha d'estar etiquetat. Aquesta carrega creix a mesura que l'esquema creix.
Anonimitzar abans de carregar
L'anonimitzacio del PIE a nivell de pipeline elimina el risc de la capa en brut. Feu-ho abans que el contingut arribi al magatzem.
Enfocament ETL (anonimitzacio previa a la carrega):
- Extreure dels sistemes d'origen
- Passar per un pas d'anonimitzacio
- Carregar la sortida neta al magatzem
El magatzem mai no rep PIE sense emmascarar. L'esquema d'ingesta nomes conte contingut net. Els models posteriors, els taulers de control i les consultes directes treballen tots amb sortida neta.
Teniu dues vies principals.
Opcio 1 - Integracio API:
Per a sistemes amb webhooks o exportacions en streaming, enruteu les entrades a traves de l'API d'anonym.legal primer. Els tickets que surten d'Intercom passen per l'API abans del magatzem. Les exportacions de Stripe fan el mateix.
POST /api/anonymize
{
"text": "El client Joan Garcia (joan@exemple.com) ha informat...",
"entities": ["PERSON", "EMAIL_ADDRESS", "PHONE_NUMBER"],
"method": "replace"
}
Opcio 2 - Preprocessament per lots:
Per a exportacions de fitxers CSV/JSON diaries o setmanals, executeu els fitxers a traves del processament per lots abans de carregar-los.
Estructura del DAG d'Airflow:
extract_task >> anonymize_batch_task >> load_to_warehouse_task
La tasca d'anonimitzacio carrega els fitxers i obte les versions netes. La tasca de carrega gestiona la resta.
Consulteu la nostra pagina de practiques de seguretat per obtenir detalls sobre subprocessadors i flux de dades.
Que fan i no fan les etiquetes de columnes de dbt
dbt us permet etiquetar les columnes PIE:
models:
- name: stg_customers
columns:
- name: email
tags: ['pii', 'email']
- name: full_name
tags: ['pii', 'personal_data']
Les etiquetes us permeten:
- Documentar on es troba el PIE
- Activar polítiques d'emmascarament posteriors (requereix configuracio a nivell de magatzem)
- Fer seguiment del llinatge amb eines com Secoda
Les etiquetes no fan:
- Emmascarar les taules ingerides a l'esquema en brut
- Bloquejar les consultes directes de taules
- Anonimitzar les dades en el moment de la carrega
- Emmascarar retroactivament les dades antigues
Les etiquetes de columnes de dbt son una eina de governanca. Us mostren on es troba el PIE. No apliquen les "mesures tecniques adequades" que requereix l'article 32 del GDPR.
La llacuna de l'emmascarament de Snowflake
L'emmascarament dinamic de Snowflake amaga el contingut de les columnes als usuaris en el moment de la consulta. Es un control fort per a l'us en produccio. Pero te limitacions clares.
Limitacions principals:
- Cada nova columna necessita una política explícita
- Els canvis d'esquema poden deixar noves columnes sense emmascarar fins que s'actualitzen les polítiques
- Els rols SYSADMIN i ACCOUNTADMIN poden eludir l'emmascarament
- Els treballs d'importacio sovint s'executen amb privilegis alts que ometen l'emmascarament
- Les dades antigues carregades abans de configurar les polítiques s'emmagatzemen en forma clara - les polítiques s'executen en el moment de la lectura, no de l'escriptura
L'emmascarament en el moment de la consulta no es suficient. Les dades han d'estar netes abans d'emmagatzemar-les.
Documentacio de compliment
La norma de responsabilitat del GDPR requereix proves. Les paraules no son suficients. Per als equips d'enginyeria, aixo significa registres escrits.
Registres d'Activitats de Processament (ROPA): Documenteu que la informacio dels clients s'anonimitza abans de carregar-la al magatzem analític. El pas d'anonimitzacio es una activitat de processament sota el GDPR.
Notes sobre mesures tecniques: Anoteu quins tipus d'entitat adreceu al vostre pipeline. Anoteu el metode d'anonimitzacio utilitzat. Els registres d'execucio per lots us donen aixo de forma gratuita.
Llinatge de dades: Secoda o el llinatge integrat de dbt pot mostrar que les taules d'origen flueixen a traves d'un pas d'anonimitzacio abans d'arribar als models analítics. Aquest es el vostre rastre d'auditoria.
Registre de proveïdors: El servei d'anonimitzacio es un subprocessador. El seu DPA i política de privacitat han d'estar al vostre registre de proveïdors.
Passos d'implementacio
Per a un pipeline de dbt i Snowflake:
Pas 1: Auditeu la vostra capa en brut
Trobeu quines taules contenen informacio personal. Consulteu les vostres etiquetes de columna de dbt o el vostre cataleg per a taules etiquetades com a PIE.
Pas 2: Establiu l'abast de l'anonimitzacio
Per a cada taula d'origen, decidiu quines columnes contenen PIE. Despres decidiu quines necessiten anonimitzacio i quines pseudonimitzacio. Text del cos del ticket de suport: anonimitzar. ID de comanda: pseudonimitzar per mantenir les claus d'unio intactes. Marca de temps: mantenir tal qual per a l'analisi de series temporals.
Pas 3: Trieu una via d'implementacio
Equip petit amb exportacions per lots: useu el processament de fitxers per lots abans de la carrega. Equip d'enginyeria disponible: construiu la integracio API a Airflow o Prefect.
Pas 4: Proveu i valideu
Executeu l'anonimitzacio en una mostra abans de posar-ho en produccio. Comproveu que els models de dbt segueixen funcionant. Alguns models s'uneixen per correu electronic. Aquells necessiten valors de substitucio consistents. La pseudonimitzacio manté les claus d'unio. La redaccio les trenca.
Pas 5: Gestioneu les taules en brut antigues
El contingut carregat abans que l'anonimitzacio estigues en vigor necessita processament retroactiu. Exporteu, anonimitzeu, torneu a carregar. Aquesta es una tasca unica per taula.
Conclusio
L'emmascarament basat en etiquetes us mostra on es troba el PIE. No impedeix que els usuaris amb acces a l'esquema el llegeixin. Per al compliment real del GDPR, el PIE ha d'estar net abans d'arribar al magatzem. Aixo fa que la capa d'ingesta sigui tan segura com la capa de produccio.
Aixo es mes difícil que l'etiquetatge de columnes. Pero aixo es el que "mesures tecniques adequades" significa en realitat.