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 finding | Isi |
|---|---|
| Data sensitif | Objek mana mengandung PII, kredensial, atau data keuangan |
| Bucket publik | Bucket yang bisa diakses dari internet |
| Tanpa enkripsi | Bucket tanpa enkripsi default |
| Berbagi lintas akun | Bucket yang dibagikan ke akun luar |
Alur pakainya
- Aktifkan Macie di region tempat bucket-mu berada.
- Buat classification job yang mencakup bucket sumber knowledge base.
- Baca finding-nya; keluarkan objek bermasalah dari cakupan ingest, atau bersihkan.
- Jadwalkan job berkala untuk bucket yang isinya terus bertambah.
- 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
| Lapis | Alat | Kapan bekerja |
|---|---|---|
| Data tersimpan | Macie | Berkala, atas isi S3 |
| Data yang lewat | Comprehend | Saat ingest dan saat logging |
| Saat inferensi | Guardrails | Setiap 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.