Amazon Macie

Managed service that discovers sensitive data in Amazon S3 and flags risky bucket configurations.

Verified against AWS documentation · 2026-08-24

Key facts

  1. 01Amazon S3 only — general purpose buckets; nothing for RDS, EBS, DynamoDB, or EFS
  2. 02Two discovery modes: automated (daily sampling, sensitivity score per bucket) and discovery jobs (targeted, one-time or scheduled)
  3. 03Detects using managed data identifiers (PII, financial, credentials) plus custom regex identifiers; allow lists suppress known-safe matches
  4. 04Two finding types: policy (bucket public, unencrypted, shared outside the org) and sensitive data (what's inside the object)
  5. 05Limits: findings and discovery results kept 90 days, 10,000 buckets inventoried per account, 15 detection locations per finding, regional — enable per Region

Exam triggers

Phrases and scenarios that point here.

  • "Discover PII", "find credit card numbers", "detect credentials" in S3 → Macie
  • "GDPR / HIPAA / PCI-DSS" + "where does our sensitive data live" → Macie, not Config
  • Alert when a bucket holding customer data becomes public → Macie policy finding → EventBridge → Lambda
  • Sensitive data sitting outside S3 → export it to S3 first, then Macie

Not this service

  • Threat detection from CloudTrail, VPC Flow, or DNS logs → GuardDuty
  • Resource configuration drift and compliance rules → AWS Config
  • OS, package, and CVE scanning for EC2/ECR/Lambda → Inspector
  • Redacting PII from text at request time → Comprehend

Use cases

  1. 01Pre-handoff audit — scan a legacy bucket before shipping the data dump to a partner, so you find out you're exporting customer PII before they do
  2. 02Credential leak sweep — dev exports, CloudFormation outputs, and .env backups that a CI job quietly pushed to S3
  3. 03Data lake landing zone guardrail — a scheduled job on the raw ingest prefix so a new upstream feed can't silently start writing SSNs into the lake
  4. 04Inherited-account triage — enable Macie org-wide after an acquisition and use bucket sensitivity scores to decide which of 400 unknown buckets to open first
  5. 05Automated containment — policy finding on a bucket going public routes through EventBridge to a Lambda that re-applies Block Public Access and pages the owner

How it's charged

  1. 01Three dimensions: number of buckets evaluated for inventory and monitoring, number of objects monitored for automated discovery, and GB of data inspected
  2. 02Bucket monitoring is per bucket per month, prorated daily — a thousand near-empty buckets costs the same as a thousand large ones
  3. 03Discovery is per GB inspected, so scope jobs with prefixes, object size criteria, and sampling depth instead of pointing them at whole buckets
  4. 04Jobs also generate normal S3 GET and LIST request charges, which land on the S3 bill, not the Macie line item
  5. 0530-day free trial per account per Region, plus 1 GB/month of discovery at no cost; unsupported file formats and storage classes aren't inspected, so they aren't billed

Commonly confused with

References