Layanan Log Sederhana (Simple Log Service) menyediakan plugin untuk menyamarkan, mengenkripsi, dan mengencode field sensitif dalam log selama pengumpulan.
Contoh
Tabel berikut membandingkan log mentah yang disimpan di SLS dengan dan tanpa plugin penyamaran data.
|
Raw log |
Without plugin |
With plugin |
|
Content: "[{'account':'1812213231432969','password':'04a23f38'}, {'account':'1812213685634','password':'123a'}]" |
Content: "[{'account':'1812213231432969','password':'******'}, {'account':'1812213685634','password':'******'}]" |
Plugin keamanan data
SLS menyediakan plugin keamanan data berikut.
|
Parameter |
Type |
Description |
|
data masking |
native |
Masks log fields. |
|
data masking |
extension |
Replaces sensitive data with a specified string or an MD5 hash. |
|
field encryption |
extension |
Encrypts the content of specified fields. |
|
data encoding and decoding |
extension |
Performs Base64 decoding, Base64 encoding, and MD5 encoding on data. |
Entry point
Untuk menggunakan plugin Logtail dalam pemrosesan log, tambahkan plugin tersebut saat membuat atau mengubah konfigurasi Logtail. Untuk informasi lebih lanjut, lihat Overview.
Perbedaan antara plugin native dan extension
Plugin native: Ditulis dalam C++ untuk performa lebih tinggi.
Plugin extension: Ditulis dalam Go untuk ekosistem yang lebih kaya dan fleksibilitas lebih besar. Gunakan plugin ini untuk log bisnis kompleks yang tidak dapat ditangani oleh plugin native.
-
Batasan performa plugin extension
-
Plugin extension menyebabkan LoongCollector mengonsumsi lebih banyak sumber daya, terutama CPU. Sesuaikan parameter LoongCollector di Configuration Management jika diperlukan.
-
Jika data mentah melebihi 5 MB/detik, hindari kombinasi plugin yang kompleks. Gunakan plugin extension hanya untuk pemrosesan dasar, lalu alihkan beban ke Data Transformation.
-
-
Batasan pengumpulan log
-
Plugin extension memproses log teks dalam mode baris, sehingga metadata tingkat file seperti
__tag__:__path__dan__topic__disimpan di setiap entri log. -
Penambahan plugin extension memengaruhi fitur yang terkait dengan tag:
-
Kueri kontekstual dan LiveTail tidak tersedia kecuali Anda menambahkan konfigurasi aggregators.
-
Field
__topic__diganti namanya menjadi__log_topic__. Jika Anda menambahkan konfigurasi aggregators, field__topic__dan__log_topic__keduanya ada dalam log. Jika Anda tidak memerlukan field__log_topic__, Anda dapat menggunakan drop field plugin untuk menghapusnya. -
Field seperti
__tag__:__path__tidak lagi memiliki indeks bidang native. Anda harus membuat field index untuknya.
-
-
Data masking plugin (native)
Plugin data masking menyamarkan data sensitif dalam log.
Konfigurasi
|
Parameter |
Description |
|
Original Field |
Field yang menyimpan konten log mentah sebelum penguraian. |
|
Data Masking Method |
Metode penyamaran. Nilai yang valid:
|
|
Replacement String |
String yang menggantikan konten sensitif. Parameter ini hanya diperlukan ketika Data Masking Method diatur ke const. |
|
Content Expression that Precedes Replaced Content |
Ekspresi reguler yang digunakan untuk menemukan data sensitif dengan mencocokkan konten yang mendahuluinya. Ekspresi harus dalam sintaks RE2. |
|
Content Expression to Match Replaced Content |
Ekspresi reguler yang mencocokkan konten sensitif yang akan disamarkan. Ekspresi harus dalam sintaks RE2. |
|
Replace All Matched Content |
|
Data desensitization plugin
Plugin processor_desensitize mengganti data sensitif dalam log dengan string tertentu atau Hash MD5.
Batasan
-
Konfigurasi berbasis formulir: Didukung saat mengumpulkan log teks dan output standar kontainer.
-
Konfigurasi berbasis JSON: Tidak didukung untuk pengumpulan log teks.
Konfigurasi
Versi Logtail 1.3.0 dan yang lebih baru mendukung plugin processor_desensitize.
Formulir
Atur processor type ke Data Masking. Tabel berikut menjelaskan parameter terkait.
-
Parameter
Parameter
Description
Original Field
Nama field log.
Data Masking Method
Metode yang digunakan untuk desensitisasi data. Nilai yang valid:
-
String Replacement: Mengganti konten sensitif dengan string. Anda dapat menentukan string target menggunakan parameter Replacement String.
-
md5: Mengganti konten sensitif dengan Hash MD5-nya.
Sensitive Data Content
Metode untuk mengekstraksi konten sensitif. Nilai yang valid:
-
Field Text: Mengganti seluruh nilai field target.
-
Use Regular Expression: Menggunakan ekspresi reguler untuk mengekstraksi konten sensitif.
Replacement String
String yang digunakan untuk mengganti konten sensitif.
Diperlukan jika Data Masking Method adalah String Replacement.
Regex to Match Sensitive Content Prefix
Ekspresi reguler untuk mencocokkan awalan konten sensitif.
Diperlukan jika Sensitive Data Content adalah regex-based specification.
Regex to Match Sensitive Content
Ekspresi reguler untuk mencocokkan konten sensitif.
Diperlukan jika Sensitive Data Content adalah regex-based specification.
-
-
Contoh konfigurasi
Ganti seluruh nilai field target dengan string.
-
Raw log
"password" : "123abcdefg" -
Konfigurasi plugin Logtail: Atur processor type ke data desensitization, lalu atur parameter berikut: source field ke
password, desensitization method ke string replacement, sensitive data content ke full field, dan replacement string ke********. -
Hasil pemrosesan
"password":"********"
-
JSON
Atur type ke processor_desensitize. Tabel berikut menjelaskan parameter dalam objek detail.
-
Parameter
Parameter
Type
Required
Description
SourceKey
String
Yes
Nama field log.
Method
String
Yes
Metode yang digunakan untuk desensitisasi data. Nilai yang valid:
-
const: Mengganti konten sensitif dengan string. Anda dapat menggunakan parameter ReplaceString untuk menentukan string target.
-
md5: Mengganti konten sensitif dengan Hash MD5-nya.
Match
String
No
Metode untuk mengekstraksi konten sensitif. Nilai yang valid:
-
full (default): Mengganti seluruh nilai field target.
-
regex: Menggunakan ekspresi reguler untuk mengekstraksi konten sensitif.
ReplaceString
String
No
String yang digunakan untuk mengganti konten sensitif.
Diperlukan jika Method diatur ke const.
RegexBegin
String
No
Ekspresi reguler untuk mencocokkan awalan konten sensitif.
Diperlukan jika Match diatur ke regex.
RegexContent
String
No
Ekspresi reguler untuk mencocokkan konten sensitif.
Diperlukan jika Match diatur ke regex.
-
-
Contoh konfigurasi
-
Contoh 1
Untuk mengganti seluruh nilai field target dengan string, atur Method ke const dan Match ke full.
-
Raw log
"password" : "123abcdefg" -
Konfigurasi plugin Logtail
{ "type" : "processor_desensitize", "detail" : { "SourceKey" : "password", "Method" : "const", "Match" : "full", "ReplaceString": "********" } } -
Hasil pemrosesan
"password":"********"
-
-
Contoh 2
Untuk menggunakan ekspresi reguler guna menentukan konten sensitif dan menggantinya dengan Hash MD5-nya, atur Method ke md5 dan Match ke regex.
-
Raw log
"content" : "[{'account':'1234567890','password':'abc123'}]" -
Konfigurasi plugin Logtail
{ "type" : "processor_desensitize", "detail" : { "SourceKey" : "content", "Method" : "md5", "Match" : "regex", "RegexBegin": "'password':'", "RegexContent": "[^']*" } } -
Hasil pemrosesan
"content":"[{'account':'1234567890','password':'e99a18c428cb38d5f260853678922e03'}]"
-
-
Field encryption plugin
Plugin processor_encrypt mengenkripsi konten field tertentu.
Konfigurasi
Formulir
Atur Processor Type ke Field Encryption. Tabel berikut menjelaskan parameter terkait.
|
Parameter |
Description |
|
Original Field |
Field sumber yang akan dienkripsi. Anda dapat menambahkan beberapa field. |
|
AccessKey Pair |
Kunci enkripsi. Harus berupa string heksadesimal sepanjang 64 karakter. |
|
Initialization Vector |
Vektor inisialisasi untuk enkripsi. Harus berupa string heksadesimal sepanjang 32 karakter. Nilai default-nya adalah |
|
Storage Path |
Jalur ke file yang berisi parameter enkripsi. Jika tidak ditentukan, plugin menggunakan File Path dari pengaturan Input konfigurasi Logtail. |
|
Retain Raw Data If Processing Fails |
Jika Anda memilih opsi ini, sistem akan menyimpan nilai field sumber jika enkripsi gagal. Jika opsi ini tidak dipilih, nilai field akan diganti dengan |
JSON
Atur type ke processor_encrypt. Tabel berikut menjelaskan parameter detail.
|
Parameter |
Type |
Required |
Description |
|
|
Array of strings |
Yes |
Field sumber yang akan dienkripsi. |
|
|
Object |
Yes |
Pengaturan enkripsi. |
|
|
String |
Yes |
Kunci enkripsi. Harus berupa string heksadesimal sepanjang 64 karakter. |
|
|
String |
No |
Vektor inisialisasi untuk enkripsi. Harus berupa string heksadesimal sepanjang 32 karakter. Nilai default-nya adalah |
|
|
String |
No |
Jalur ke file yang berisi parameter enkripsi. Jika tidak ditentukan, plugin menggunakan File Path dari pengaturan Input konfigurasi Logtail. |
|
|
Boolean |
No |
Menentukan apakah nilai sumber dipertahankan jika enkripsi gagal.
|
Data encoding and decoding plugin
Plugin processor_base64_encoding, processor_base64_decoding, dan processor_md5 mengencode dan mendekode nilai field.
Batasan
-
Konfigurasi berbasis formulir: Tersedia saat Anda mengumpulkan log teks dan output standar kontainer.
-
Konfigurasi berbasis JSON: Tidak didukung untuk pengumpulan log teks.
Base64 encoding
Base64 decoding
MD5 encoding
Referensi
-
Kelola konfigurasi pipeline Logtail menggunakan API:
-
Konfigurasikan plugin pemrosesan di Konsol:
-
Collect container logs from clusters (standard output/files) using a Kubernetes CRD