Free DEA-C01 practice test

20 questions for the AWS Data Engineer Associate (DEA-C01) exam, taken from our 250-question bank and spread across its 4domains by their weighting. No sign-up needed: pick an answer to check it, or open “Show answer & explanation” under any question.

What this test covers

Question 1 · Data Ingestion and Transformation

A company needs to replicate data from an on-premises Oracle database to Amazon S3 using AWS DMS. The source tables contain BLOB columns storing binary document files up to 500 MB each. The DMS task consistently fails with replication errors when processing rows with large BLOBs. Which configuration change should the engineer make FIRST?

Show answer & explanation

Correct answer: D

  • D. Use 'Full LOB mode' in the DMS task settings to ensure complete LOB data is replicated without truncation

AWS DMS offers three LOB (Large Object) handling modes: Limited LOB mode (truncates LOBs above a set size), Full LOB mode (replicates complete LOBs regardless of size, at lower performance), and Inline LOB mode. When BLOBs up to 500 MB are failing, switching to Full LOB mode ensures the entire LOB is fetched and replicated without truncation. Option C (larger instance) may help with memory pressure but does not address the root cause — LOB replication mode configuration. Option B (Limit LOB mode at 600 MB) sounds correct but Limited LOB mode still reads LOB data inline up to the limit and can cause memory issues with very large BLOBs — Full LOB mode uses a different, more robust fetch strategy for large objects. Option A (excluding BLOBs) avoids the problem but results in incomplete data replication.

Question 2 · Data Ingestion and Transformation

A company uses AWS Glue Studio to run a PySpark ETL job that reads 50 GB of Apache Parquet files from Amazon S3, applies several column-level transformations, and writes results back to S3. A data engineer wants to reduce the job's runtime. After profiling, they find that 80% of the job time is spent in a wide transformation (groupBy + aggregation) that causes a full shuffle. Which TWO actions would MOST directly reduce the shuffle overhead? (Select TWO)

Select 2 answers.

Show answer & explanation

Correct answers: D, F

  • D. Increase the number of Glue DPUs allocated to the job.
  • F. Repartition the input data by the groupBy key before the aggregation using .repartition().

Adding more DPUs gives Spark more executor cores and memory, so each shuffle partition is processed faster and less data is spilled to disk. Pre-partitioning the DataFrame by the groupBy key using .repartition() co-locates records with the same key on the same executor, reducing the amount of data that must cross the network during the shuffle.

Option E (job bookmarks) only tracks already-processed data to avoid reprocessing; it has no effect on shuffle performance.

Option C (.coalesce(1)) reduces parallelism to a single partition, which serializes all work onto one executor and would dramatically increase runtime.

Option B (caching) helps when the DataFrame is reused multiple times in the DAG, but does not reduce shuffle data volume for a single aggregation pass.

Option A (CSV output) has no effect on shuffle overhead during the transformation phase.

Question 3 · Data Ingestion and Transformation

A data engineering team needs to ingest customer order records from an on-premises relational database into Amazon S3 in Parquet format for analytics. The records arrive in micro-batches every 15 minutes, and the team wants to minimize operational overhead. They also need automatic schema detection and cataloging so downstream Amazon Athena queries work immediately after each load. Which combination of AWS services best satisfies these requirements?

Show answer & explanation

Correct answer: E

  • E. Amazon Kinesis Data Firehose with a built-in format conversion to Parquet (backed by an AWS Glue Data Catalog table schema), delivering directly to the final S3 prefix.

Amazon Kinesis Data Firehose natively supports dynamic Parquet/ORC format conversion using a schema defined in the AWS Glue Data Catalog — no separate conversion job is required. It writes directly to S3 and the Glue Data Catalog table is already available for Athena, minimizing operational overhead. Option B works but is more complex: it requires three separate components (DMS, crawler, Glue job) and adds latency between landing and Parquet availability. Option A involves custom Lambda code to handle JDBC queries and Parquet serialization, which increases operational burden and is error-prone. Option C (MSK Connect) is a valid Kafka-based approach but involves deploying and managing MSK Connect workers, which is higher operational overhead than Firehose for a simple 15-minute micro-batch case. Option D: AWS Glue DataBrew is primarily a data preparation and profiling tool; it supports scheduled runs but is not designed as a recurring ingestion pipeline and lacks a native JDBC source for streaming/micro-batch ingest.

Question 4 · Data Ingestion and Transformation

A company stores raw data in Amazon S3 in CSV format. They want to convert it to Apache Parquet to reduce query costs in Amazon Athena and improve compression. They need to handle schema evolution — specifically, new columns being added to the source over time — without rewriting existing Parquet files. Which combination of AWS services and features BEST addresses this requirement? (Select TWO)

Select 2 answers.

Show answer & explanation

Correct answers: C, D

  • C. Use AWS Glue ETL jobs to convert CSV to Parquet, writing output to a separate S3 prefix
  • D. Use Amazon Kinesis Data Firehose with Parquet conversion enabled and a Glue Data Catalog table as the schema reference

Option C (Glue ETL jobs for CSV-to-Parquet conversion) is correct because Glue natively supports reading CSV and writing Parquet, and the job can be updated to accommodate new columns during schema evolution without touching existing files. Option D (Kinesis Data Firehose with Parquet conversion) is correct for streaming ingestion scenarios, as Firehose can convert records to Parquet on the fly using the Glue Data Catalog as the schema source, which handles schema evolution by referencing the latest catalog definition. Option E is partially relevant but describes a crawler setting, not a conversion mechanism — it does not convert CSV to Parquet. Option A is incorrect because Athena uses schema-on-read for querying but cannot convert file formats; reading CSV as Parquet is not possible via SerDe. Option B (Glue DataBrew) can convert formats, but it is primarily a visual data preparation tool designed for data quality and profiling, not a scalable, pipeline-oriented format conversion solution.

Question 5 · Data Ingestion and Transformation

A data engineering team is building a pipeline using AWS Glue DataBrew to prepare a dataset for a machine learning model. A data scientist reports that a numeric column representing customer age contains values like '25 years', '30yrs', and '45', making it inconsistent. Which DataBrew transformation would BEST standardize this column?

Show answer & explanation

Correct answer: C

  • C. Use a 'Custom formula' transformation with a regex pattern to extract only numeric digits from the column

AWS Glue DataBrew supports custom formula transformations using regex and string functions. Using a regex to extract only numeric digits (e.g., extracting '[0-9]+') from values like '25 years' and '30yrs' is the correct approach to standardize the column. Option A is wrong — 'Format date' applies to date/time columns, not age strings. Option D is incorrect — casting to INTEGER in DataBrew does not automatically strip non-numeric text; it would fail or produce null values for strings like '25 years'. Option B ('Nest column') is for combining multiple columns into a struct, which is irrelevant here.

Question 6 · Data Ingestion and Transformation

A data engineering team uses AWS Glue DataBrew to profile a large customer dataset stored in Amazon S3. After profiling, they apply a recipe that masks Social Security Numbers (SSNs) and standardizes phone number formats. They want to schedule this job to run every Monday at 6 AM UTC and write outputs back to a separate S3 prefix. Which combination of DataBrew resources must be created to accomplish this? (Select TWO)

Select 2 answers.

Show answer & explanation

Correct answers: A, C

  • A. A DataBrew dataset pointing to the source S3 location
  • C. A DataBrew recipe job that references the recipe and writes output to the target S3 prefix

To run a scheduled DataBrew transformation, you need: (1) A DataBrew dataset that defines the source data (the S3 location and file format), and (2) A DataBrew recipe job that references the recipe containing the masking/standardization steps and specifies the output S3 prefix. A schedule can be attached directly to the recipe job — it is not a separate standalone resource that must be created independently; schedules are configured as part of the job definition. A ruleset is used for data quality checks/validation, not for transformation. A DataBrew project with an interactive session is used for building and testing recipes, not for automated scheduled execution. Therefore options A and C are the correct required resources.

Question 7 · Data Ingestion and Transformation

A company's data pipeline uses Amazon EventBridge to route events from multiple SaaS applications to downstream AWS services. A new requirement mandates that all events matching a specific pattern must be delivered to BOTH an Amazon SQS queue (for async processing) and an AWS Lambda function (for real-time enrichment) simultaneously. How should the EventBridge rule be configured?

Show answer & explanation

Correct answer: D

  • D. Create one EventBridge rule with the matching event pattern and add both the SQS queue and the Lambda function as targets

An EventBridge rule supports up to five targets per rule (and more with additional configuration). Adding both the SQS queue and the Lambda function as targets on the same rule delivers matching events to both destinations in parallel — this is the simplest and most direct solution. Option A works functionally (two rules with the same pattern both fire) but is less clean and doubles maintenance overhead with no added benefit. Option B (SNS fanout) is a valid pattern but adds an unnecessary SNS layer when EventBridge natively supports multiple targets. Option C (EventBridge Pipes) is designed for point-to-point integrations with enrichment steps — Pipes do not natively fan out to multiple independent targets simultaneously.

Question 8 · Data Store Management

An analytics team needs to run complex multi-table JOIN queries on a 50 TB data warehouse hosted in Amazon Redshift. A central fact table, orders, contains 2 billion rows and is commonly joined to a customers dimension table containing 500,000 rows. Queries are slow because of data shuffling across slices. Which combination of distribution strategies will MOST reduce data movement? (Select TWO)

Select 2 answers.

Show answer & explanation

Correct answers: A, D

  • A. Apply ALL distribution on the customers dimension table.
  • D. Apply KEY distribution on the orders table using the customer_id join column.

Options A and D are correct. Applying KEY distribution on the large orders fact table using the customer_id join column co-locates matching rows from both tables on the same slice, eliminating network shuffling during joins. Applying ALL distribution on the small customers dimension table (500,000 rows) broadcasts a full copy to every slice, ensuring that the join can always be resolved locally. This KEY+ALL pattern is the standard Redshift best practice for large fact-to-small-dimension joins. Option E is wrong because applying ALL distribution to a 2-billion-row fact table would be extremely slow to maintain and consume enormous storage on every node. Option B is wrong because EVEN distribution spreads rows randomly, which does not co-locate join keys and does not eliminate shuffling. Option C is wrong because distributing customers on order_id makes no logical sense—customers do not have order_ids as a natural key—and would not co-locate the join.

Question 9 · Data Store Management

A financial services company runs a large Amazon Redshift cluster with hundreds of concurrent users. The team observes that short dashboard queries (typically 1–3 seconds) are frequently delayed because they queue behind long-running ETL jobs that consume all available WLM concurrency slots in the default queue. Dashboards require sub-5-second response times per SLA. ETL jobs can tolerate up to 30 minutes of additional delay. Which WLM configuration change BEST resolves the queuing problem while respecting both SLAs?

Show answer & explanation

Correct answer: C

  • C. Switch to manual WLM and enable Short-Query Acceleration (SQA) with a maximum run time of 5 seconds so that Redshift automatically routes eligible dashboard queries to a dedicated SQA queue ahead of longer queries.

Option C is correct. Short-Query Acceleration (SQA) is a Redshift WLM feature specifically designed for this scenario. When enabled, Redshift uses machine learning to predict query execution time and automatically routes short-running queries (below the configured maximum SQA run time) to a dedicated SQA queue that runs ahead of user-defined WLM queues. Setting the maximum SQA run time to 5 seconds ensures that dashboard queries meeting the SLA threshold are promoted ahead of long ETL jobs without requiring manual queue assignment or user group configuration, making it the most targeted and operationally simple solution. Option A is wrong because Concurrency Scaling adds transient cluster capacity for read queries experiencing high concurrency, but it does not prioritize short queries over long ones — dashboard queries would still queue behind ETL jobs within the main cluster before being routed to a scaling cluster, and the delay may persist. Option B is wrong in comparison to C because it requires manual operational overhead (user group or query group assignments, ongoing tuning of concurrency limits) and introduces risk of misconfiguration; SQA achieves the same outcome automatically and is the AWS-recommended approach for mixed short/long workloads. Option D is wrong because scaling out the cluster adds capacity but does not change the scheduling priority; short queries will still queue behind ETL jobs in the same WLM queue, failing the dashboard SLA. Option E is wrong because increasing concurrency to 50 in a single queue degrades per-query performance due to resource contention (Redshift recommends keeping total WLM concurrency low), and a query timeout only terminates queries rather than prioritizing short ones.

Question 10 · Data Store Management

A company's Amazon Redshift cluster runs a mix of short ETL queries (< 5 seconds) and long-running executive dashboard queries (5–15 minutes). The ETL queries are frequently queued behind dashboard queries, delaying data pipeline SLAs. The cluster has 8 compute nodes. What is the most appropriate solution using Redshift Workload Management (WLM)?

Show answer & explanation

Correct answer: C

  • C. Enable Redshift automatic WLM and create two query queues: one for ETL queries with higher priority and one for dashboard queries with lower priority

Automatic WLM with priority settings is the recommended modern approach in Redshift. By assigning higher priority to ETL queries and lower priority to dashboard queries, Redshift automatically manages concurrency and memory allocation so ETL queries are no longer starved behind long-running dashboard queries. Option A (adding more nodes) increases overall throughput but does not address queue prioritization; ETL queries will still queue behind dashboard queries. Option D (manual WLM) was the legacy approach and can work, but it requires careful, manual slot and memory tuning. More importantly, the question asks for the 'most appropriate' solution, and AWS guidance recommends automatic WLM over manual WLM for new configurations. Option B (Redshift Serverless) is a valid architectural pattern but involves migrating workloads to a separate environment, which is a significant operational change and not the intended WLM solution.

Question 11 · Data Store Management

A company uses AWS Glue Data Catalog as the central metadata repository for their data lake on Amazon S3. A new regulation requires that personally identifiable information (PII) columns in certain Glue tables must only be accessible to a specific IAM role. The security team wants a scalable solution that does not require creating separate IAM policies for every new table. Which AWS Lake Formation feature should they use?

Show answer & explanation

Correct answer: C

  • C. Lake Formation tag-based access control (LF-TBAC) with LF-tags applied to PII columns

Lake Formation tag-based access control (LF-TBAC) lets administrators assign LF-tags (key-value labels) to databases, tables, or columns, then grant permissions on those tags to principals. When a new PII table is tagged, the existing permission grants automatically apply — no new per-table policies are needed. This scales elegantly. Option B (governed tables) provides row-level filtering and ACID transactions but is not specifically designed for column-level RBAC scalability via tags. Option A (S3 bucket policies) operate at the S3 object/prefix level and cannot enforce column-level restrictions; they also bypass the unified Lake Formation permissions model. Option D (Glue resource-based policies) control access to the Data Catalog API but do not provide fine-grained column-level data access control and do not scale as new tables are added.

Question 12 · Data Store Management

A data architect is designing a Redshift Spectrum solution. External tables are defined in the AWS Glue Data Catalog pointing to Parquet files in S3. Queries against these external tables are slow. After investigation, the team finds the S3 files are very small (averaging 1 MB each) and there are tens of thousands of them. Which two actions will most improve Redshift Spectrum query performance? (Select TWO)

Select 2 answers.

Show answer & explanation

Correct answers: B, E

  • B. Partition the external table by the most commonly filtered column
  • E. Compact the small files into larger files (128 MB–1 GB) using an ETL job

Compacting small files (Option E) dramatically reduces the overhead of opening and reading many individual S3 objects; Redshift Spectrum parallelizes across files, and large files allow efficient stripe-level Parquet reads. Partitioning (Option B) allows Spectrum to skip entire S3 prefixes based on query predicates, reducing the amount of data scanned. Together, these are the two highest-impact changes. Option F is incorrect — external tables in the Glue Data Catalog do not support sort keys; sort keys are a Redshift internal table concept and do not apply to S3-backed external tables. Option C (result caching) only helps if the exact same query is repeated; it does not speed up new or varied ad-hoc queries. Option D (converting to CSV) is counterproductive — Parquet is columnar and compressed, which is far superior to CSV for Spectrum; converting to CSV would make performance worse. Option A (scaling the cluster) adds more concurrency but Spectrum performance bottlenecks on S3 file size and metadata overhead, not Redshift node count.

Question 13 · Data Operations and Support

A data engineer is tuning an Amazon Redshift cluster. Long-running analytical queries from the BI team are monopolizing WLM queue slots, causing short interactive queries from data analysts to wait for several minutes. The cluster uses automatic WLM. What is the MOST appropriate configuration change to resolve this?

Show answer & explanation

Correct answer: D

  • D. Create a separate WLM queue for short analyst queries with a higher priority and query execution time limit, and keep the BI queue for long-running queries

Correct: Manual WLM with separate queues — one for short interactive analyst queries (with a query execution time limit and higher slot allocation) and one for long BI queries — is the canonical solution. Assigning higher priority or more slots to the analyst queue prevents BI queries from blocking them. Wrong answers: (B) Short Query Acceleration (SQA) is a separate feature designed to auto-route short queries, not a WLM timeout parameter; also, routing BI long-running queries to the default queue doesn't help isolation. (C) Concurrency Scaling adds burst capacity for concurrency spikes but does not isolate or prioritize specific query types within the same queue. (A) Adding nodes increases overall throughput but does not resolve the queue starvation problem; long queries will still consume all available slots.

Question 14 · Data Operations and Support

A data engineer is designing an Amazon EMR cluster for a workload that has highly variable compute needs — small jobs run in the morning and very large jobs run at night. The engineer wants EMR to automatically scale the cluster without manual intervention and without over-provisioning for the nightly peak during off-peak hours. Which TWO features should the engineer enable? (Select TWO)

Select 2 answers.

Show answer & explanation

Correct answers: A, B

  • A. EMR managed scaling with a defined minimum and maximum instance count
  • B. EMR instance fleet with Spot Instances across multiple instance types for the Task fleet

Correct: (A) EMR Managed Scaling continuously monitors YARN metrics and automatically adds or removes instances within the configured min/max bounds, handling variable workloads without manual intervention. (B) Using an instance fleet for Task nodes with multiple Spot instance types increases the likelihood of obtaining capacity at low cost during scale-out events and reduces interruption risk through diversification. Wrong answers: (C) Configuring EC2 Auto Scaling independently from EMR can conflict with EMR's own scaling logic and does not integrate with YARN resource manager metrics — EMR managed scaling is the supported approach. (D) A fixed configuration sized for the nightly peak wastes significant compute cost during low-utilization morning hours, which is exactly what auto-scaling is designed to avoid. (E) Using CloudWatch alarms with Systems Manager to run CLI commands is a fragile, high-maintenance custom solution that duplicates EMR's built-in managed scaling capability.

Question 15 · Data Operations and Support

A data engineering team runs AWS Glue crawlers nightly to update partition metadata for hundreds of S3-based tables. They observe that some crawlers run for over 30 minutes on tables that have had only a handful of new partitions added since the last run. What change would MOST reduce crawler execution time for these tables?

Show answer & explanation

Correct answer: C

  • C. Configure the crawler to use the 'Crawl new sub-folders only' incremental crawl mode

Correct: AWS Glue crawlers support an incremental crawl mode ('Crawl new sub-folders only') that restricts the crawler to paths added since the last run. This dramatically reduces the S3 paths the crawler must evaluate, cutting execution time for tables with few new partitions. Wrong answers: (B) Glue crawlers use a fixed internal compute model; DPU allocation does not apply to crawlers the same way it does to ETL jobs — crawlers do not expose a DPU tuning knob that would speed them up for small incremental changes. (A) Running more frequently reduces partitions per run but increases total crawler invocations and does not reduce per-run cost if the crawler still re-evaluates existing paths. (D) MSCK REPAIR TABLE discovers partitions by scanning S3 prefixes; it can work for simple cases but doesn't provide the managed scheduling, schema inference, or Data Catalog integration that crawlers provide, and it is a lateral move rather than an optimization.

Question 16 · Data Operations and Support

A data engineer is optimizing an AWS Glue ETL job that processes a 500 GB dataset stored in Amazon S3. The current job is configured with 10 G.1X workers (4 vCPU, 16 GB memory each) and completes in 45 minutes. CloudWatch metrics show that the average executor CPU utilization is 18% and the Glue job driver logs show frequent garbage collection pauses. The team wants to reduce job duration and cost simultaneously. Which TWO changes should the data engineer make? (Select TWO)

Select 2 answers.

Show answer & explanation

Correct answers: A, B

  • A. Convert the S3 data from CSV to Apache Parquet with Snappy compression before processing to reduce the data volume read by the job.
  • B. Enable Glue job auto-scaling so that the DPU count adjusts dynamically based on workload demand.

Low CPU utilization (18%) combined with frequent GC pauses indicates the job is over-provisioned with workers but each worker is processing too much data per task (large partitions causing high memory pressure). Enabling Glue auto-scaling (B) allows the service to dynamically allocate only the DPUs needed, reducing cost when utilization is low. Converting data to Parquet with Snappy compression (A) reduces I/O and data deserialization overhead, directly cutting job duration and the amount of memory needed per task, which also reduces GC pressure. Option C is incorrect because switching to G.2X adds more memory per worker but CPU utilization is already low at 18%; more memory alone does not address the parallelism imbalance and increases cost. Option E is incorrect because adding more workers when CPU utilization is already only 18% will not help—the bottleneck is not compute parallelism but data volume and memory pressure; adding workers increases cost without proportional benefit. Option D could improve utilization but repartitioning alone does not address the GC pressure caused by large data volume per executor, and reducing workers without addressing the format wastes the opportunity for cost and performance gains.

Question 17 · Data Security and Governance

A security engineer is reviewing an Amazon Redshift cluster that stores sensitive employee compensation data. Analysts should be able to run aggregate queries on salary data but must never see individual salary values in query results. The data engineering team wants to implement this control natively within Redshift without creating separate views or copies of the table. Which Redshift feature should they use?

Show answer & explanation

Correct answer: B

  • B. Redshift dynamic data masking: define a masking policy on the salary column that returns NULL for the analyst role

Amazon Redshift dynamic data masking (DDM) allows a masking policy to be attached to a column for specific roles, returning a masked value (e.g., NULL, a fixed value, or a partial value) in query results while keeping the underlying data unchanged. This allows aggregate queries (SUM, AVG) on the salary column to function correctly from a system perspective while hiding individual values—though note that with NULL masking, aggregates on that column would also return NULL/skewed results for that role, which satisfies 'never see individual values.' Option C (REVOKE SELECT on salary column) would prevent any query referencing the salary column, including aggregates, which is too restrictive. Option A (RLS filtering rows where salary IS NOT NULL) would remove virtually all rows from results, not just mask the column value. Option D (Lake Formation) applies to the Glue Data Catalog and Athena/EMR access paths, not natively to Redshift queries.

Question 18 · Data Security and Governance

A financial services company needs to ensure that specific Amazon S3 objects containing audit logs cannot be deleted or overwritten for a minimum of 7 years to comply with SEC Rule 17a-4. The solution must be tamper-proof even against the AWS account root user. Which S3 feature fulfills this requirement?

Show answer & explanation

Correct answer: A

  • A. Enable S3 Object Lock in Compliance mode with a retention period of 7 years on the audit log bucket.

S3 Object Lock in Compliance mode enforces a WORM (Write Once Read Many) retention period that cannot be shortened or removed by any user — including the AWS account root user and AWS Support. This is specifically designed to meet regulations like SEC Rule 17a-4 that require tamper-proof retention.

Option B (Governance mode) also prevents most users from deleting objects during the retention period, but privileged IAM users with the s3:BypassGovernanceRetention permission CAN override it — making it not truly tamper-proof and therefore insufficient for strict regulatory compliance.

Option D (Versioning + Lifecycle to Glacier) does preserve object versions and moves them to cheaper storage, but it does not prevent deletion of versions by an authorized user or root — it is not a WORM mechanism.

Option C (bucket policy Deny) can be effective in many cases, but an S3 bucket policy can be modified or deleted by the account root user, so it is not truly tamper-proof against root access.

Question 19 · Data Security and Governance

A company processes payment card data through an AWS Glue pipeline. A PCI-DSS compliance requirement states that primary account numbers (PANs) must never be stored in plaintext. The data engineering team wants to replace PANs with surrogate values that can be consistently re-used across the dataset (i.e., the same PAN always maps to the same surrogate value) without storing the original value in the pipeline. Which technique best satisfies this requirement?

Show answer & explanation

Correct answer: B

  • B. Tokenization using a token vault that maps each PAN to a unique, randomly generated token

Tokenization replaces sensitive values with surrogate tokens stored in a token vault. The same PAN always maps to the same token (referential consistency), and the original PAN is never stored in the pipeline or dataset. This satisfies PCI-DSS requirements for protecting PANs. Option D (static masking) replaces PANs with a fixed string, losing referential integrity and preventing any analytics that require consistent identifiers. Option A (hashing) is deterministic and consistent but SHA-256 of PANs is vulnerable to rainbow table attacks given the limited PAN space, and PCI-DSS does not consider hashing alone sufficient protection. Option C (encryption) stores ciphertext but the data can be decrypted if the key is compromised; PCI-DSS scope is not fully reduced for encrypted PANs in the same way as tokenization.

Question 20 · Data Security and Governance

A company runs an Apache Spark job on Amazon EMR to process financial transaction data stored in Amazon S3. The security team requires that all data at rest in S3 be encrypted using keys managed by the company's own AWS KMS Customer Managed Key (CMK). They also require that the Spark job itself cannot use any other encryption key. Which TWO actions should the data engineer take to enforce this requirement? (Select TWO)

Select 2 answers.

Show answer & explanation

Correct answers: A, B

  • A. Configure the EMR security configuration to use SSE-KMS with the specified CMK for EMRFS (S3) encryption.
  • B. Attach an S3 bucket policy that denies s3:PutObject requests unless the x-amz-server-side-encryption-aws-kms-key-id header matches the specified CMK ARN.

Option A (EMR security configuration with SSE-KMS/CMK for EMRFS) configures the Spark job to encrypt all data written to S3 with the specified CMK at the EMR level — ensuring the job uses the correct key.

Option B (S3 bucket policy denying PutObject without the specific CMK) is a server-side enforcement mechanism that rejects any write that does not use the designated CMK, providing a hard guardrail even if the EMR configuration is bypassed. Together, A and B cover both the 'configure the job' and 'enforce at the storage layer' requirements.

Option C (S3 default bucket encryption) encrypts objects when no encryption header is provided, but it does NOT prevent a caller from using a different CMK or SSE-S3 — it only acts as a default fallback, so it does not enforce exclusive use of the specific CMK.

Option D (IAM policy condition) could theoretically restrict KMS key usage but would need to be on the role used by the Spark job, not the EC2 instance profile broadly, and is complex to implement correctly across multiple KMS operations; also it does not stop writes that use SSE-S3 entirely.

Option E (Amazon Macie) is a detective control for PII/sensitive data classification in S3, not an encryption enforcement mechanism.

Pick an answer on each question to check it. 20 questions in this test.

230 more DEA-C01 questions

Sign up free to start practising, or subscribe (from $4.97/mo) for the full 250-question bank, flashcards and timed mock exams.

AWS Data Engineer Associate course overview and study guides →