DEA-C01 · CHEAT SHEET
AWS Certified Data Engineer - Associate
Conceptos clave agrupados según el peso oficial del examen.
Descargar en PDF (gratis, sin registro)1. Data Ingestion and Transformation
34–34%Perform data ingestion
- Amazon Redshift puede leer directamente de Kinesis Data Streams o Amazon MSK hacia una vista materializada, sin pasar por S3, y AUTO REFRESH la mantiene al día. DynamoDB Streams guarda los cambios 24 horas; Kinesis Data Streams para DynamoDB permite más retención y varios consumidores. AWS Glue ofrece trabajos de ETL de streaming continuos sobre Kinesis, Kafka y MSK.
- S3DistCp copia de forma distribuida datos de Amazon S3 a HDFS en Amazon EMR y puede concatenar archivos pequeños con --groupBy. AWS DMS ofrece carga completa, carga completa con CDC o solo cambios, y con destino S3 escribe CSV o Parquet. Redshift COPY carga en paralelo varios archivos comprimidos de tamaño similar indicados por prefijo común o manifiesto.
- En Redshift, un manifiesto enumera los archivos exactos que debe cargar COPY, incluso de buckets distintos, y mandatory=true hace fallar la carga si falta alguno. En AWS Glue, groupFiles y groupSize agrupan muchos archivos pequeños de S3 en menos particiones. Los flujos programados de AppFlow admiten transferencia completa o incremental con un desfase opcional.
- Amazon AppFlow transfiere datos de aplicaciones SaaS como Salesforce o Zendesk a servicios de AWS sin escribir código, bajo demanda, por evento o con programación. La Amazon Redshift Data API permite ejecutar SQL mediante un punto de enlace HTTP sin controladores ni conexiones persistentes; es asíncrona y se autentica con Secrets Manager o credenciales temporales.
- AWS Glue admite desencadenadores programados con cron en UTC, condicionales (según el estado de trabajos o rastreadores) y bajo demanda. Amazon EventBridge Scheduler crea programaciones cron, rate o únicas, en la zona horaria elegida y con ajuste al horario de verano, y puede llamar a APIs de AWS. Amazon MWAA ejecuta DAG de Apache Airflow sin administrar infraestructura.
Transform and process data
- Amazon EMR on EKS ejecuta Spark y otros marcos en un clúster de EKS existente y administra sus contenedores, compartiendo recursos con otras aplicaciones. En Amazon ECS, Service Auto Scaling ajusta las tareas según CPU, memoria, horarios, patrones históricos o mensajes pendientes por tarea en SQS. Fargate Spot ejecuta tareas tolerantes a interrupciones con descuento y avisa con SIGTERM antes de detenerlas.
- AWS Glue se conecta a bases de datos mediante conexiones JDBC; con Amazon RDS en una VPC necesita un grupo de seguridad con una regla de entrada autorreferenciada, y hashfield y hashpartitions permiten leer una tabla JDBC en paralelo. Athena ofrece controladores JDBC y ODBC para herramientas de BI y aplicaciones, y Amazon Redshift ofrece controladores JDBC y ODBC propios.
- Athena Federated Query consulta en su ubicación orígenes como DynamoDB mediante conectores, y las consultas federadas de Redshift llegan a RDS y Aurora PostgreSQL o MySQL delegando parte del cálculo en la base remota. Las integraciones zero-ETL replican Aurora, RDS, DynamoDB o aplicaciones SaaS en Redshift sin canalización propia, y Amazon AppFlow mueve datos SaaS a S3 sin código.
- En AWS Glue, la clase de ejecución flexible abarata trabajos no urgentes (pruebas, cargas puntuales) y Auto Scaling, desde Glue 3.0, añade y quita trabajadores según el paralelismo de cada etapa. En Amazon EMR, las instancias de spot convienen en los nodos de tarea, que no guardan datos de HDFS; los nodos principal y básicos deben ser bajo demanda si el clúster no puede perderse.
- EMR Serverless ejecuta Spark y Hive sin operar clústeres; AWS Glue ofrece trabajos sin servidor de Spark, Spark Streaming y Python shell. Lambda encaja con transformaciones pequeñas activadas por eventos de S3, y en Amazon Redshift las vistas materializadas guardan resultados precalculados de combinaciones y agregaciones con actualización automática.
Orchestrate data pipelines
- Amazon MWAA ejecuta DAG de Apache Airflow en Python sin gestionar infraestructura. Los flujos de trabajo de AWS Glue encadenan trabajos y rastreadores y pueden iniciarse por programación, bajo demanda o con eventos de EventBridge agrupados por tamaño y ventana de lote. En Step Functions, el patrón .sync espera a que termine el trabajo integrado, mientras que Request Response continúa al recibir la respuesta.
- En Step Functions, los campos Retry con BackoffRate y JitterStrategy reparten los reintentos y Catch dirige los errores a estados de gestión; el estado Map distribuido admite umbrales de fallos tolerados y MaxConcurrency para no saturar servicios posteriores. En Amazon SQS, una cola de mensajes fallidos con maxReceiveCount aísla los mensajes que fallan siempre sin detener el resto.
- Step Functions ofrece flujos estándar, de larga duración y con ejecución exactamente una vez para acciones no idempotentes, y flujos Express, de al menos una vez y para eventos de gran volumen con acciones idempotentes; el tipo no se puede cambiar tras crearlo. El estado Map distribuido, solo en flujos estándar, procesa en paralelo grandes conjuntos de S3 con ItemReader y ResultWriter.
- Amazon SNS envía mensajes por inserción a varios suscriptores y, con colas de SQS suscritas, los mensajes persisten para procesarse después; las políticas de filtro se asignan a cada suscripción. AWS Glue emite a EventBridge cambios de estado de trabajos (FAILED, TIMEOUT…) y, con un umbral de retraso, eventos de ejecuciones lentas que una regla puede enviar a SNS.
Apply programming concepts
- Para acelerar trabajos de Spark en AWS Glue conviene leer menos datos: podar particiones con push_down_predicate, seleccionar columnas y filtrar filas antes de combinar para aprovechar la delegación en Parquet, y evitar reorganizaciones con combinaciones por difusión (broadcast) cuando una tabla cabe en la memoria del ejecutor.
- En Lambda, la simultaneidad reservada garantiza y limita la capacidad de una función, y la aprovisionada mantiene entornos preinicializados contra los arranques en frío. La CPU crece con la memoria configurada. Con Kinesis, ParallelizationFactor procesa varios lotes por partición manteniendo el orden por clave, y con SQS la simultaneidad máxima limita cada origen de eventos por separado.
- AWS Glue para Spark admite scripts ETL en Python (PySpark) y en Scala. En Amazon Athena, las funciones definidas por el usuario se escriben en Java, se despliegan como función de Lambda y se invocan con USING EXTERNAL FUNCTION. En Amazon Redshift, los procedimientos almacenados en PL/pgSQL admiten DDL, DML, bucles y condiciones, a diferencia de las UDF.
- Las buenas prácticas de ingeniería de software también se aplican a los pipelines de datos. AWS Glue Studio se integra con Git (GitHub, GitLab, Bitbucket, CodeCommit) para versionar trabajos; la imagen Docker de AWS Glue permite probar en local con pytest sin coste de Glue; glueContext.get_logger() escribe en CloudWatch y las métricas de observabilidad muestran sesgo y utilización.
- Con AWS CloudFormation, la infraestructura de datos se describe en plantillas versionables. Los conjuntos de cambios muestran antes de ejecutar si un recurso se modificará, reemplazará o eliminará; la detección de desviaciones encuentra cambios hechos fuera de CloudFormation; y el atributo DeletionPolicy (Delete, Retain, RetainExceptOnCreate, Snapshot) decide qué ocurre con cada recurso al eliminar la pila.
2. Data Store Management
26–26%Choose a data store
- El almacén correcto depende del coste y del rendimiento exigidos. MSK Serverless ejecuta Kafka sin dimensionar el clúster y Kinesis Data Streams ofrece modos bajo demanda y aprovisionado. Los nodos RA3 de Redshift escalan cómputo y almacenamiento por separado. En DynamoDB, la clase Standard-IA abarata tablas dominadas por almacenamiento y el modo aprovisionado conviene a tráfico estable.
- Cada almacén se configura según su patrón de acceso. En DynamoDB, los índices secundarios globales permiten consultar por atributos distintos de la clave. En Amazon Redshift, la distribución KEY coloca juntas las filas que se combinan, EVEN conviene a tablas sin combinaciones y las claves de ordenación aceleran filtros por rango. En Amazon RDS, las réplicas de lectura descargan consultas de solo lectura.
- Cada caso de uso tiene un almacén adecuado. Aurora PostgreSQL con pgvector guarda embeddings y acelera búsquedas de vecinos aproximados con índices HNSW; Amazon MemoryDB es una base de datos en memoria duradera, compatible con Valkey y Redis OSS, con lecturas en microsegundos; Keyspaces sirve cargas de Cassandra y DocumentDB, aplicaciones compatibles con MongoDB.
- AWS Transfer Family ofrece puntos de conexión SFTP, FTPS, FTP y AS2 totalmente administrados que guardan los archivos en Amazon S3 o Amazon EFS sin cambiar los clientes de los socios. Sus flujos de trabajo administrados descifran, etiquetan, copian y llaman a Lambda tras cada subida, y los conectores SFTP recuperan o envían archivos a servidores SFTP externos. AWS DataSync migra datos de NFS, SMB, HDFS y almacenamiento de objetos.
- Amazon Redshift accede a datos externos sin migrarlos: las consultas federadas leen en vivo bases PostgreSQL y MySQL de RDS y Aurora, y Redshift Spectrum consulta archivos de Amazon S3 mediante esquemas externos sin cargarlos. Las vistas materializadas guardan resultados precalculados, se pueden actualizar automáticamente con AUTO REFRESH y la reescritura automática las usa en consultas que no las mencionan.
Understand data cataloging systems
- AWS Glue Data Catalog es un repositorio de metadatos que comparten Athena, Amazon EMR, Redshift Spectrum y los trabajos de AWS Glue. Redshift lo usa con CREATE EXTERNAL SCHEMA FROM DATA CATALOG y GRANT USAGE sobre el esquema; EMR lo configura como metastore de Hive; y Glue lee tablas con create_dynamic_frame_from_catalog y push_down_predicate para filtrar particiones.
- AWS Glue Data Catalog es un metastore persistente y compatible con Hive que Amazon EMR puede usar en lugar de un metastore local, incluso en otra cuenta con hive.metastore.glue.catalogid. Las tablas deben apuntar a Amazon S3 y no a HDFS, que es transitorio. Athena puede leer un metastore de Hive existente con su conector para metastores externos, sin migrar los metadatos.
- Un rastreador de AWS Glue clasifica los datos (primero con los clasificadores personalizados, como grok, y después con los integrados), agrupa los archivos en tablas o particiones y escribe los metadatos en el Data Catalog. CombineCompatibleSchemas crea una sola tabla por ruta de S3 cuando los datos son compatibles, y UpdateBehavior LOG o MergeNewColumns limitan los cambios de esquema.
- Las particiones nuevas deben registrarse en el catálogo para poder consultarlas: MSCK REPAIR TABLE añade particiones de estilo Hive pero no las elimina (para eso está ALTER TABLE DROP PARTITION), los rastreos incrementales solo añaden carpetas nuevas y los trabajos de Glue pueden registrarlas con enableUpdateCatalog. La proyección de particiones de Athena evita registrarlas.
- Una conexión de AWS Glue es un objeto del Data Catalog que guarda la URL, las credenciales (mejor en AWS Secrets Manager) y los datos de VPC, y la reutilizan rastreadores y trabajos. Para llegar a un almacén JDBC en una VPC, Glue crea interfaces de red que requieren un grupo de seguridad con regla autorreferenciada y DNS activado; la ruta de inclusión sigue base_de_datos/esquema/tabla.
Manage the lifecycle of data
- COPY carga datos de Amazon S3 en Redshift en paralelo cuando hay varios archivos de tamaño similar o archivos divisibles (CSV sin comprimir, Parquet, ORC); conviene un solo COPY por tabla y un manifiesto para listar archivos concretos. UNLOAD exporta resultados a S3 en texto, JSON o Parquet, con PARTITION BY al estilo Hive, y la copia automática (COPY JOB) carga archivos nuevos sola.
- Las reglas de ciclo de vida de S3 mueven objetos entre clases siguiendo un modelo en cascada (Standard, IA, Intelligent-Tiering, Glacier Instant Retrieval, Flexible Retrieval y Deep Archive) y pueden filtrar por prefijo, etiquetas o tamaño. Intelligent-Tiering sirve para accesos desconocidos sin tarifas de recuperación; Glacier Instant Retrieval da acceso en milisegundos y Flexible Retrieval y Deep Archive requieren restaurar.
- La acción Expiration del ciclo de vida de S3 borra los objetos al llegar a cierta antigüedad; con control de versiones solo añade un marcador de borrado y hace falta NoncurrentVersionExpiration para eliminar las versiones antiguas. ExpiredObjectDeleteMarker quita marcadores sin versiones y AbortIncompleteMultipartUpload limpia cargas multiparte incompletas. Una directiva de bucket no bloquea estas acciones.
- El control de versiones de S3 guarda todas las versiones de cada objeto: un DELETE simple solo añade un marcador de borrado, el bucket no puede volver a sin versiones (solo suspenderse) y MFA delete protege los borrados de versiones. El TTL de DynamoDB borra en segundo plano, sin consumir escritura, los elementos cuyo atributo Number en segundos de época ha caducado, y esos borrados aparecen en Streams.
- Para borrar datos a tiempo: Time to Live de DynamoDB elimina elementos caducados sin consumir rendimiento de escritura; en S3 con control de versiones, Expiration solo añade un marcador de eliminación y hace falta NoncurrentVersionExpiration para borrar versiones antiguas. Object Lock impide el borrado: la retención legal dura hasta que se retira.
Design data models and schema evolution
- En Redshift, la distribución KEY sobre la columna de combinación coloca juntas las filas que se combinan, y el tipo SUPER guarda datos semiestructurados que se consultan con PartiQL. En DynamoDB, una clave de ordenación compuesta (por ejemplo país#región#ciudad) permite consultar una jerarquía a cualquier nivel con begins_with.
- Cuando cambia la forma de los datos: AWS Glue Schema Registry valida versiones con modos de compatibilidad (BACKWARD, FORWARD, FULL…); un rastreador de Glue con UpdateBehavior en LOG no toca el esquema existente; y en Athena, Parquet (por nombre) y Avro admiten eliminar y reordenar columnas, a diferencia de CSV y TSV.
- DMS Schema Conversion es la opción gestionada y web para convertir esquemas a Aurora, RDS o Redshift: evalúa qué se convierte solo, convierte y aplica el código, y añade paquetes de extensión. AWS SCT, que se instala en local, cubre más orígenes y también convierte procesos ETL. Los datos se mueven después con AWS DMS.
- SageMaker ML Lineage Tracking registra el linaje de los flujos de aprendizaje automático (trabajos, conjuntos de datos, modelos y puntos de conexión) y se consulta con QueryLineage. El linaje de datos de SageMaker Catalog es compatible con OpenLineage: se captura desde conexiones de Glue y Redshift, desde Spark o con la API PostLineageEvent.
- En Athena conviene particionar según las consultas más habituales, usar claves de partición STRING, formatos columnares como Parquet y la proyección de particiones en tablas muy particionadas para evitar llamadas a GetPartitions. En Redshift, ENCODE AUTO gestiona la compresión salvo que se fije la codificación de alguna columna.
3. Data Operations and Support
22–22%Automate data processing by using AWS services
- Amazon MWAA ejecuta DAG de Apache Airflow como servicio gestionado con escalado de trabajadores. AWS Step Functions orquesta servicios con patrones de integración: Request Response, Run a Job (.sync), que espera a que termine el trabajo, y .waitForTaskToken; el estado Map distribuido procesa grandes conjuntos de S3 con ejecuciones hijo.
- Para depurar Amazon MWAA se activan los grupos de registros de Airflow en CloudWatch Logs (programador, procesamiento de DAG, tareas, trabajadores y servidor web); las colas largas se resuelven escalonando tareas o subiendo el mínimo de trabajadores. En Step Functions, Retry y Catch gestionan errores, pero States.Runtime no se captura con States.ALL.
- Con los SDK de AWS hay que tener en cuenta que muchas operaciones son asíncronas o paginadas: StartQueryExecution de Athena devuelve un ID y el estado se consulta con GetQueryExecution; los paginadores de boto3 recorren resultados truncados; y ExecutionParameters con marcadores ? evita la inyección SQL en Athena.
- Cada servicio aporta funciones de procesamiento: los marcadores de trabajo de AWS Glue evitan reprocesar datos antiguos; Amazon EMR Serverless ejecuta Spark o Hive sin gestionar clústeres y libera recursos al terminar; y las vistas materializadas de Redshift guardan resultados precalculados con actualización automática y reescritura de consultas.
- Para consumir API de datos sin gestionar infraestructura: la Redshift Data API ejecuta SQL de forma asíncrona por HTTP, sin controladores ni conexiones y con Secrets Manager o credenciales temporales; Amazon AppFlow trae datos de aplicaciones SaaS a S3 o Redshift sin código, y su Custom Connector SDK cubre API privadas.
Analyze data by using AWS services
- Amazon Quick Sight, la función de BI de Amazon Quick, visualiza datos de orígenes como Athena o Redshift por consulta directa o importándolos en SPICE, su motor en memoria, que acelera las consultas y permite reutilizar los datos sin coste adicional. SPICE admite actualizaciones programadas e incrementales con ventana retrospectiva. AWS Glue DataBrew genera perfiles visuales con distribuciones, correlaciones y duplicados.
- Para verificar y limpiar datos, Athena permite consultar con SQL y localizar el archivo de S3 de cada fila con "$path". SageMaker Data Wrangler, ahora integrado en SageMaker Canvas, genera un informe de calidad con valores que faltan, no válidos, atípicos y avisos como la fuga de la variable objetivo, y ofrece transformaciones para imputar o eliminar valores que faltan y recortar o eliminar atípicos.
- En Amazon Redshift, una vista estándar ejecuta su consulta en cada referencia; con WITH NO SCHEMA BINDING se crea una vista de enlace tardío, necesaria para tablas externas, y una vista materializada guarda resultados precalculados que se actualizan con REFRESH MATERIALIZED VIEW. En Athena, CREATE VIEW crea vistas propias de Athena y CREATE PROTECTED MULTI DIALECT VIEW crea vistas del Catálogo de datos compartidas con Redshift.
- Amazon Athena para Apache Spark ejecuta código Spark de forma interactiva y sin servidor, con escalado automático hasta los máximos indicados. Requiere un grupo de trabajo con motor Apache Spark, cuyo motor no se puede cambiar después; al abrir un cuaderno se inicia una sesión con parámetros como DPU simultáneas máximas o tiempo de inactividad. La magia %%sql ejecuta SQL y muestra el resultado con show().
- Los servicios sin servidor (Redshift Serverless, EMR Serverless, MSK Serverless) aprovisionan y escalan la capacidad automáticamente y cobran por uso, sin tipos de nodo, redimensionado ni pausas manuales. Los aprovisionados dan más control a cambio de gestionar la capacidad. Hay matices: la capacidad preinicializada de EMR Serverless se paga aunque esté inactiva, y MSK Serverless exige IAM y no admite ACL de Kafka.
Maintain and monitor data pipelines
- Para extraer registros de auditoría, Athena consulta con SQL los archivos de CloudTrail guardados en S3, mientras que el historial de eventos solo cubre 90 días de eventos de administración. CloudWatch Logs Insights consulta de forma interactiva los grupos de registros, y una tarea de exportación copia un intervalo concreto a S3, incluso a otra cuenta o a un bucket con Object Lock.
- Para la trazabilidad, CloudTrail registra eventos de administración y, si se configuran, eventos de datos como GetObject en S3, filtrables con selectores avanzados; la validación de integridad con archivos de resumen firmados demuestra si un registro se alteró. Redshift ofrece registros de conexiones, usuarios y actividad de usuarios hacia CloudWatch o S3; el de actividad requiere enable_user_activity_logging.
- Las alertas de una canalización se envían normalmente a temas de Amazon SNS. Las reglas de EventBridge capturan eventos de servicio, como Glue Job State Change en FAILED o TIMEOUT, o Glue Job Run Status cuando una ejecución supera el umbral de notificación de retraso. Las alarmas de CloudWatch notifican al cambiar de estado, y las alarmas compuestas solo pasan a ALARM cuando se cumple su regla, lo que reduce el ruido.
- En AWS Glue, las métricas de memoria y la Spark UI ayudan a localizar el cuello de botella: un driver sin memoria al leer muchos archivos pequeños se corrige con la agrupación (groupFiles), y Auto Scaling ajusta los workers a cada etapa. En Athena, la proyección de particiones evita buscar miles de particiones en el catálogo y elimina su mantenimiento.
- CloudTrail registra de serie solo eventos de administración, visibles en el historial de eventos durante un periodo limitado; para un registro continuo hay que crear un trail, preferiblemente multirregión. Los eventos de datos, como DeleteObject en S3, deben activarse expresamente. CloudTrail Insights detecta tasas anómalas de llamadas o errores y la validación de integridad demuestra que los registros no se alteraron.
Ensure data quality
- AWS Glue Data Quality comprueba los datos en tránsito dentro de los trabajos ETL con la transformación Evaluate Data Quality y reglas DQDL como IsComplete (valores no nulos) o IsUnique. Puede detener el trabajo sin cargar el destino si falla el conjunto de reglas, o añadir columnas por fila (DataQualityEvaluationResult) para separar los registros erróneos en una ubicación de cuarentena.
- En AWS Glue DataBrew, las reglas de calidad se agrupan en conjuntos de reglas que comparan métricas (valores ausentes, duplicados, rangos) con valores esperados y se validan en trabajos de perfil, que generan un informe de validación. Una regla puede aplicarse a varias columnas mediante selectores por nombre o expresión regular, y cada validación emite un evento de EventBridge con su resultado.
- Los trabajos de perfil de AWS Glue DataBrew ayudan a investigar la coherencia de los datos: a nivel de conjunto calculan filas duplicadas y la correlación de Pearson entre columnas numéricas, y a nivel de columna cuentan valores ausentes (nulos y cadenas vacías), distintos y únicos, y detectan valores atípicos con la puntuación Z. La configuración permite elegir columnas por nombre o expresión regular.
- El muestreo permite analizar datos grandes con menos coste: los proyectos de DataBrew trabajan sobre una muestra de las primeras filas, las últimas o filas aleatorias, y los trabajos de perfil usan por defecto un número fijo de filas salvo que se elija el conjunto completo. En Athena, TABLESAMPLE BERNOULLI elige cada fila de forma independiente y SYSTEM toma segmentos lógicos completos.
- El sesgo de datos concentra el trabajo en pocas particiones. En Spark sobre AWS Glue se detecta en la Spark UI y se mitiga con Adaptive Query Execution y claves de combinación de alta cardinalidad. En Kinesis Data Streams, una clave de partición con muchos valores reparte las escrituras entre particiones, y en Redshift una clave de distribución de alta cardinalidad evita segmentos sobrecargados.
4. Data Security and Governance
18–18%Apply authentication mechanisms
- Los grupos de seguridad son cortafuegos con estado: basta con permitir la entrada y la respuesta sale sola. Usar otro grupo de seguridad como origen permite el acceso a todas sus instancias aunque cambien sus IP. Las conexiones JDBC de AWS Glue necesitan una regla de entrada autorreferenciada para todos los puertos TCP, y en Amazon EMR los grupos se eligen al crear el clúster, aunque sus reglas pueden editarse después.
- Los grupos de usuarios de IAM aplican la misma política a muchos usuarios, pero no se anidan ni pueden ser Principal en políticas de recursos. Los servicios como Redshift o Glue acceden a otros servicios asumiendo roles con credenciales temporales en lugar de claves. Los puntos de enlace de puerta de enlace de S3 sirven solo dentro de la VPC; desde redes locales se necesita un punto de enlace de interfaz.
- AWS Secrets Manager guarda credenciales cifradas y las rota de dos formas: rotación administrada, que ofrecen servicios como RDS, Aurora, Redshift y DocumentDB sin función Lambda, y rotación mediante una función Lambda para el resto. Para bases de datos hay dos estrategias: usuario único, la más sencilla, y usuarios alternos, que mantiene siempre unas credenciales válidas y conviene a aplicaciones de alta disponibilidad.
- Los servicios asumen roles de IAM mediante su política de confianza: el rol de ejecución de Lambda debe confiar en lambda.amazonaws.com y Lambda lo asume en cada invocación. Un rol de servicio de CloudFormation fija los permisos de la pila con independencia del usuario (requiere iam:PassRole). En la AWS CLI, un perfil con role_arn y credential_source = Ec2InstanceMetadata asume un rol sin claves de larga duración.
- Una política de punto de acceso de S3 solo es efectiva si el bucket también permite el acceso; lo recomendado es delegar el control al punto de acceso con s3:DataAccessPointAccount. Las políticas de punto de conexión de VPC controlan qué entidades y recursos se alcanzan por el punto de conexión (en gateway, Principal debe ser * y se filtra con aws:PrincipalArn), y la política del bucket puede exigir aws:SourceVpce.
Apply authorization mechanisms
- Las políticas administradas por AWS no se pueden modificar, AWS las actualiza y pueden ser más amplias de lo necesario; cuando no encajan se crea una política administrada por el cliente (reutilizable entre entidades) o una política insertada (relación uno a uno, se borra con la identidad). Las variables de política como ${aws:username} permiten una sola política para muchos usuarios y requieren Version 2012-10-17.
- AWS Secrets Manager guarda credenciales de bases de datos, claves de API y tokens, y los rota automáticamente; Amazon RDS puede administrar la contraseña maestra en Secrets Manager con rotación sin código. Parameter Store sirve para configuración (String, StringList, SecureString cifrado con AWS KMS) sin rotación de credenciales y puede hacer referencia a secretos con el prefijo /aws/reference/secretsmanager/.
- En Amazon Redshift los permisos se conceden con GRANT a usuarios, grupos o roles; con RBAC se agrupan permisos, incluso de sistema como CREATE USER (solo concedibles a roles), y se asignan roles a usuarios. GRANT admite permisos por columna, y ALTER DEFAULT PRIVILEGES aplica permisos a los objetos que se creen en el futuro, porque GRANT ON ALL TABLES solo afecta a los existentes.
- AWS Lake Formation añade permisos tipo GRANT/REVOKE sobre bases de datos, tablas y columnas del Data Catalog y sobre ubicaciones de S3 registradas, y entrega credenciales temporales a Athena, Amazon EMR (con roles en tiempo de ejecución) y Redshift Spectrum. Los filtros de datos dan seguridad por columna, fila y celda y solo se conceden con SELECT; el modo híbrido permite adoptar Lake Formation sin cortar el acceso por IAM existente.
- RBAC asigna permisos por función de trabajo y obliga a actualizar políticas al añadir recursos; ABAC permite acciones cuando la etiqueta del recurso coincide con la de la entidad principal (aws:ResourceTag frente a aws:PrincipalTag) y escala sin cambios, incluso con etiquetas de sesión de SAML. En Lake Formation, LF-TBAC concede expresiones de LF-Tags sobre recursos del Data Catalog; las LF-Tags no son etiquetas de IAM.
Ensure data encryption and masking
- El enmascaramiento dinámico de Amazon Redshift oculta, ofusca o seudonimiza columnas en el momento de la consulta según el usuario o rol, sin alterar los datos. La transformación Detect PII de AWS Glue detecta entidades sensibles y las oculta, las oculta parcialmente o les aplica hash durante el ETL. AWS Glue DataBrew ofrece sustitución, mezcla, cifrado determinista o probabilístico y hash; Amazon Macie descubre datos confidenciales en S3.
- AWS KMS protege claves raíz que nunca salen de sus HSM y aplica cifrado de sobre: GenerateDataKey devuelve una clave de datos en claro para cifrar fuera de KMS y una copia cifrada que se guarda con los datos y se descifra con Decrypt. La rotación automática cambia el material de la clave sin cambiar su ID y descifra los datos antiguos de forma transparente; las S3 Bucket Keys reducen las solicitudes de SSE-KMS a KMS.
- Para compartir datos cifrados entre cuentas hay que usar una clave de KMS administrada por el cliente: lo cifrado con claves administradas por AWS como aws/s3 no se comparte. La política de la clave debe permitir a la cuenta externa y una política de IAM de esa cuenta debe delegar el permiso en sus roles. En solicitudes entre cuentas conviene usar el ARN completo de la clave, ya que el alias se resuelve en la cuenta del solicitante.
- Para el cifrado en tránsito, Amazon S3 recomienda denegar en la política del bucket las solicitudes en las que aws:SecureTransport sea false, y Amazon Redshift exige SSL a todos los clientes si se pone require_SSL en true en el grupo de parámetros. Para cifrar antes del tránsito se usa cifrado del lado del cliente, como Amazon S3 Encryption Client, que cifra en local y entrega a S3 objetos ya cifrados.
Prepare logs for audit
- CloudTrail registra por defecto los eventos de administración (plano de control); los eventos de datos, como GetObject en S3, y los de Insights hay que activarlos de forma explícita. Un trail entrega los eventos en un bucket de S3 y puede ser multirregión o de organización para cubrir todas las cuentas. La validación de integridad y el cifrado SSE-KMS con clave propia refuerzan la auditoría.
- CloudWatch Logs centraliza los registros de aplicaciones, que el agente de CloudWatch recoge de instancias EC2 y servidores locales. Los eventos se guardan en grupos de registros que por defecto no caducan: hay que fijar una retención por grupo. Las políticas de protección de datos enmascaran PII y datos financieros al ingerirlos y solo quien tiene logs:Unmask los ve en claro.
- CloudTrail Lake agrupa eventos en almacenes de datos de eventos inmutables, incluso de toda una organización y de varias regiones, y permite consultarlos con SQL sobre múltiples campos, algo que el historial de eventos no admite. Con la federación, los eventos se consultan desde Athena a través del Glue Data Catalog y Lake Formation, y los canales de integración incorporan actividad de fuera de AWS mediante PutAuditEvents.
- Athena consulta los registros de CloudTrail directamente en S3, y la proyección de particiones evita ejecutar ALTER TABLE ADD PARTITION. CloudWatch Logs Insights analiza de forma interactiva los datos ya almacenados con comandos como filter y stats. Para paneles casi en tiempo real, un filtro de suscripción transmite los registros a OpenSearch Service, solo desde grupos de la clase Standard.
- Con grandes volúmenes de registros se combinan servicios: EMR copia sus registros a S3 si se indica una URI de registro (--log-uri) y así sobreviven a la terminación del clúster. Los filtros de suscripción de CloudWatch Logs envían eventos a Data Firehose para entregarlos de forma continua en S3, y los registros de flujo de VPC pueden escribirse en Parquet con prefijos compatibles con Hive para analizarlos con EMR o Athena.
Understand data privacy and governance
- En Amazon Redshift, el productor crea un datashare, le añade objetos con ALTER DATASHARE y concede USAGE a un espacio de nombres o a una cuenta. Entre cuentas hay un protocolo en dos sentidos: la cuenta productora autoriza y la consumidora asocia. INCLUDENEW comparte las tablas futuras de un esquema y, con VIA DATA CATALOG, Lake Formation aplica permisos por columna y fila.
- Amazon Macie detecta datos confidenciales en S3 con identificadores administrados y personalizados, mediante detección automatizada continua o trabajos de detección a medida, y publica sus hallazgos en EventBridge para automatizar respuestas, como etiquetar tablas con LF-Tags en Lake Formation. En las canalizaciones, la transformación Detect PII de AWS Glue detecta y enmascara PII antes de escribir los datos.
- Para impedir copias o réplicas fuera de las regiones permitidas se usan controles preventivos: el control de denegación de regiones de Control Tower o SCP con aws:RequestedRegion. Esa clave limita el punto de enlace invocado, no el impacto entre regiones (por ejemplo, PutBucketReplication), así que hacen falta controles sobre el destino, como backup:CopyTargets para las copias de AWS Backup.
- AWS Config registra cada cambio de los recursos como un elemento de configuración y forma un historial que se ve en la cronología del recurso o con get-resource-config-history. El flujo de configuración notifica los cambios mediante SNS, las consultas avanzadas filtran el estado actual y un agregador reúne datos de varias cuentas y regiones con una vista de solo lectura.
- La soberanía de datos combina dónde se guardan los datos y quién controla las claves. AWS Outposts lleva servicios de AWS al centro de datos del cliente y las Local Zones ayudan con la residencia local; los controles de residencia de Control Tower impiden, por OU, rutas como el emparejamiento entre regiones. Un almacén de claves externo de KMS mantiene el material de claves fuera de AWS.