Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Operasi kebijakan perlindungan data di Amazon SNS
penting
Perlindungan data pesan Amazon SNS tidak lagi tersedia untuk pelanggan baru. Untuk informasi selengkapnya dan panduan tentang alternatif, lihat Perubahan ketersediaan perlindungan data pesan Amazon SNS.
Berikut ini adalah contoh kebijakan perlindungan data yang dapat Anda gunakan untuk mengaudit dan menolak data sensitif. Untuk tutorial lengkap yang menyertakan contoh aplikasi, lihat posting blog
Operasi audit
Operasi Audit mengambil sampel pesan masuk topik, dan mencatat temuan data sensitif di AWS tujuan. Tingkat sampel dapat berupa bilangan bulat antara 0-99. Operasi ini memerlukan salah satu dari jenis tujuan logging berikut:
-
FindingsDestination— Tujuan pencatatan saat topik Amazon SNS menemukan data sensitif dalam payload.
-
NoFindingsDestination— Tujuan pencatatan saat topik Amazon SNS tidak menemukan data sensitif dalam payload.
Anda dapat menggunakan yang berikut Layanan AWS ini di setiap jenis tujuan log berikut:
-
Amazon CloudWatch Logs (Opsional) —
LogGroupHarus berada di wilayah topik dan namanya harus dimulai dengan/aws/vendedlogs/. -
(Opsional) —
DeliveryStreamHarus berada di wilayah topik dan memiliki PUT Lang sung sebagai sumber aliran pengiriman. Untuk detail tambahan, lihat Sumber, Tujuan, dan Nama di Panduan Pengembang Amazon Data Firehose. -
Amazon S3 (Opsional) — Nama bucket Amazon S3. Tindakan tambahan diperlukan untuk menggunakan bucket Amazon S3 dengan SSE-KMS enkripsi diaktifkan.
{ "Operation": { "Audit": { "SampleRate": "99", "FindingsDestination": { "CloudWatchLogs": { "LogGroup": "/aws/vendedlogs/log-group-name" }, "Firehose": { "DeliveryStream": "delivery-stream-name" }, "S3": { "Bucket": "bucket-name" } }, "NoFindingsDestination": { "CloudWatchLogs": { "LogGroup": "/aws/vendedlogs/log-group-name" }, "Firehose": { "DeliveryStream": "delivery-stream-name" }, "S3": { "Bucket": "bucket-name" } } } } }
Izin yang diperlukan saat menentukan tujuan log
Saat menentukan tujuan pencatatan dalam kebijakan perlindungan data, Anda harus menambahkan izin berikut ke kebijakan identitas IAM dari prinsipal IAM yang memanggil API Amazon SNS, atau PutDataProtectionPolicy CreateTopic API dengan parameter. --data-protection-policy
| Tujuan audit | Izin IAM |
|---|---|
| Default | logs:CreateLogDelivery logs:GetLogDelivery logs:UpdateLogDelivery logs:DeleteLogDelivery logs:ListLogDeliveries |
| CloudWatchLogs | logs:PutResourcePolicy logs:DescribeResourcePolicies logs:DescribeLogGroups |
| Firehose | iam:CreateServiceLinkedRole firehose:TagDeliveryStream |
| S3 | s3:PutBucketPolicy s3:GetBucketPolicy Tindakan tambahan diperlukan untuk menggunakan bucket Amazon S3 dengan SSE-KMS enkripsi diaktifkan. |
Kebijakan kunci yang diperlukan untuk digunakan dengan SSE-KMS
Jika menggunakan bucket Amazon S3 sebagai tujuan log, Anda dapat melindungi data dalam bucket dengan mengaktifkan En Server-Side kripsi dengan Amazon S3-Managed Keys (SSE-S3), atau Server-Side Enkripsi dengan AWS KMS keys (SSE-KMS). Untuk informasi selengkapnya, lihat Melindungi data menggunakan enkripsi sisi server di Panduan Pengguna Amazon S3.
Jika Anda memilih SSE-S3, tidak diperlukan konfigurasi tambahan. Amazon S3 menangani kunci enkripsi.
Jika Anda memilih SSE-KMS, Anda harus menggunakan kunci yang dikelola pelanggan. Anda harus memperbarui kebijakan kunci untuk kunci yang dikelola pelanggan agar akun pengiriman log dapat menulis ke bucket S3 Anda. Untuk informasi selengkapnya tentang kebijakan kunci yang diperlukan untuk digunakan SSE-KMS, lihat enkripsi sisi server bucket Amazon S3 di Panduan Pengguna Amazon CloudWatch Logs.
Contoh log tujuan audit
Dalam contoh berikut, callerPrincipal digunakan untuk mengidentifikasi sumber konten sensitif, dan messageID digunakan sebagai referensi untuk memeriksa respons Publish API.
{ "messageId": "34d9b400-c6dd-5444-820d-fbeb0f1f54cf", "auditTimestamp": "2022-05-12T2:10:44Z", "callerPrincipal": "arn:aws:iam::123412341234:role/Publisher", "resourceArn": "arn:aws:sns:us-east-1:123412341234:PII-data-topic", "dataIdentifiers": [ { "name": "Name", "count": 1, "detections": [ { "start": 1, "end": 2 } ] }, { "name": "PhoneNumber", "count": 2, "detections": [ { "start": 3, "end": 4 }, { "start": 5, "end": 6 } ] } ] }
Metrik operasi audit
Ketika operasi audit telah menentukan FindingsDestination NoFindingsDestination properti, pemilik topik juga menerima CloudWatch MessagesWithFindings dan MessagesWithNoFindings metrik.
De-identify operasi
De-identifyOperasi menutupi atau menyunting data sensitif dari pesan yang dipublikasikan atau dikirim. Operasi ini tersedia untuk pesan masuk dan keluar, dan memerlukan salah satu jenis konfigurasi berikut:
-
MaskConfig— Topeng menggunakan karakter yang didukung dari tabel berikut. Misalnya, ssn:
123-45-6789menjadi ssn:.###########{ "Operation": { "Deidentify": { "MaskConfig": { "MaskWithCharacter": "#" } } }Karakter topeng yang didukung Nama * Tanda bintang A-Z, a-z, dan 0-9 Alfanumerik Spasi ! Tanda seru $ Tanda dolar % Tanda persen & Ampersand () tanda kurung
+ Tanda plus , Koma - Tanda hubung . Periode /\ Garis miring, garis miring belakang
# Tanda angka : Kolon ; Titik koma =, <> Setara. kurang atau lebih besar dari
@ Pada tanda [] Kurung ^ Simbol caret _ Menggarisbawahi ` Backtick | Bilah vertikal ~ Simbol Tilde -
RedactConfig— Redaksi dengan menghapus data seluruhnya. Misalnya, ssn:
123-45-6789menjadi ssn:.{ "Operation": { "Deidentify": { "RedactConfig": {} } }
Pada pesan masuk, data sensitif tidak diidentifikasi setelah operasi audit, dan pemanggil SNS:Publish API menerima kesalahan parameter tidak valid berikut ketika seluruh pesan sensitif.
Error code: AuthorizationError ...
Tolak operasi
Oper asi Deny mengganggu permintaan Publish API atau pengiriman pesan jika pesan berisi data sensitif. Objek operasi Deny kosong, karena tidak memerlukan konfigurasi tambahan.
"Operation": { "Deny": {} }
Pada pesan masuk, pemanggil SNS:Publish API menerima kesalahan otorisasi.
Error code: AuthorizationError ...
Pada pesan keluar, topik Amazon SNS tidak mengirimkan pesan ke langganan. Untuk melacak pengiriman yang tidak sah, aktifkan pencatatan status pengiriman topik. Berikut ini adalah contoh log status pengiriman:
{ "notification": { "messageMD5Sum": "29638742ffb68b32cf56f42a79bcf16b", "messageId": "34d9b400-c6dd-5444-820d-fbeb0f1f54cf", "topicArn": "arn:aws:sns:us-east-1:123412341234:PII-data-topic", "timestamp": "2022-05-12T2:12:44Z" }, "delivery": { "deliveryId": "98236591c-56aa-51ee-a5ed-0c7d43493170", "destination": "arn:aws:sqs:us-east-1:123456789012:NoNameAccess", "providerResponse": "The topic's data protection policy prohibits this message from being delivered to <subscription-arn>", "dwellTimeMs":20, "attempts":1, "statusCode": 403 }, "status": "FAILURE" }