← Semua pembelajaran / AWS untuk AI Engineer
Fase 6 · Safety, Security & Governance

Amazon Macie

Macie memindai bucket S3 dan melaporkan data sensitif yang ditemukannya. Untuk pipeline RAG, ia menjawab pertanyaan "apa sebenarnya isi bucket yang saya ingest?".

Intisari

  • Memindai S3 untuk menemukan PII dan data sensitif lain, lalu menerbitkan finding.
  • Juga melaporkan postur keamanan bucket: publik, tidak terenkripsi, dibagikan lintas akun.
  • Finding mengalir ke EventBridge dan Security Hub — bisa memicu tindakan otomatis.
  • Ditagih per data yang dipindai, jadi batasi cakupan dan jadwalnya.
  • Berbeda dari Comprehend: Macie memindai data yang tersimpan, Comprehend memeriksa teks yang lewat.

Kaitannya dengan aplikasi GenAI

Knowledge base-mu meng-ingest sebuah bucket. Pertanyaan yang jarang ditanyakan sampai terlambat: apa saja sebenarnya isi bucket itu? Folder "dokumen internal" yang dikumpulkan bertahun-tahun sering mengandung ekspor data karyawan, lampiran email, dan berkas yang tidak seorang pun ingat menaruhnya.

Begitu masuk knowledge base, isi itu bisa keluar lewat jawaban chatbot kepada siapa pun yang bertanya dengan kalimat yang tepat. Macie adalah pemeriksaan sebelum hal itu terjadi.

Yang dilaporkannya

Jenis findingIsi
Data sensitifObjek mana mengandung PII, kredensial, atau data keuangan
Bucket publikBucket yang bisa diakses dari internet
Tanpa enkripsiBucket tanpa enkripsi default
Berbagi lintas akunBucket yang dibagikan ke akun luar

Alur pakainya

  1. Aktifkan Macie di region tempat bucket-mu berada.
  2. Buat classification job yang mencakup bucket sumber knowledge base.
  3. Baca finding-nya; keluarkan objek bermasalah dari cakupan ingest, atau bersihkan.
  4. Jadwalkan job berkala untuk bucket yang isinya terus bertambah.
  5. Rutekan finding ke EventBridge supaya ada tindakan otomatis, bukan laporan yang tidak dibaca.
import boto3

macie = boto3.client("macie2")

macie.create_classification_job(
    name="pindai-sumber-kb",
    jobType="SCHEDULED",
    scheduleFrequency={"weeklySchedule": {"dayOfWeek": "MONDAY"}},
    s3JobDefinition={"bucketDefinitions": [
        {"accountId": "123456789012", "buckets": ["dokumen-internal"]}
    ]},
)

Menindaklanjuti otomatis

// Rule EventBridge: hanya finding data sensitif berseverity tinggi
{
  "source": ["aws.macie"],
  "detail-type": ["Macie Finding"],
  "detail": {
    "type": [{ "prefix": "SensitiveData:" }],
    "severity": { "description": ["High"] }
  }
}

Target yang masuk akal: notifikasi ke tim keamanan, dan Lambda yang menambahkan tag kerahasiaan=tinggi pada objeknya. Tag itu lalu bisa dipakai sebagai filter metadata di knowledge base, seperti pada Fase 4 — sehingga dokumen bermasalah tidak pernah muncul di retrieval untuk pengguna biasa.

Macie ditagih berdasarkan jumlah data yang dipindai. Memindai seluruh bucket besar setiap hari bisa jadi mahal. Batasi cakupan ke prefiks yang benar-benar masuk pipeline GenAI, dan pakai jadwal mingguan untuk data yang jarang berubah.

Tiga lapis yang saling melengkapi

LapisAlatKapan bekerja
Data tersimpanMacieBerkala, atas isi S3
Data yang lewatComprehendSaat ingest dan saat logging
Saat inferensiGuardrailsSetiap prompt dan respons

Latihan: jalankan satu classification job Macie atas bucket sumber knowledge base-mu. Baca finding-nya, lalu jawab dua pertanyaan: apakah ada dokumen yang seharusnya tidak ikut ter-ingest, dan filter metadata apa yang perlu kamu tambahkan agar dokumen itu tidak pernah muncul di jawaban?

Rangkuman ini sengaja dipangkas ke bagian yang dipakai di roadmap. Buka sumber aslinya saat kamu butuh detail lengkap atau referensi parameter.