Mengumpulkan data dari sumber khusus - Amazon Security Lake

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengumpulkan data dari sumber khusus

Amazon Security Lake dapat mengumpulkan log dan peristiwa dari sumber kustom pihak ketiga. Untuk setiap sumber kustom, Security Lake menangani hal berikut:

  • Memberikan awalan unik untuk sumber di bucket Amazon S3 Anda.

  • Membuat peran dalam AWS Identity and Access Management (IAM) yang memungkinkan sumber kustom untuk menulis data ke danau data. Batas izin untuk peran ini ditetapkan oleh kebijakan AWS terkelola yang disebut. AmazonSecurityLakePermissionsBoundary

  • Membuat AWS Lake Formation tabel untuk mengatur objek yang ditulis sumber ke Security Lake.

  • Menyiapkan AWS Glue crawler untuk mempartisi data sumber Anda. Crawler mengisi AWS Glue Data Catalog dengan tabel. Ini juga secara otomatis menemukan data sumber baru dan mengekstrak definisi skema.

Untuk menambahkan sumber khusus ke Security Lake, itu harus memenuhi persyaratan berikut:

  1. Tujuan — Sumber kustom harus dapat menulis data ke Security Lake sebagai satu set objek S3 di bawah awalan yang ditetapkan ke sumber. Untuk sumber yang berisi beberapa kategori data, Anda harus mengirimkan setiap kelas acara Open Cybersecurity Schema Framework (OCSF) yang unik sebagai sumber terpisah. Security Lake membuat peran IAM yang memungkinkan sumber kustom untuk menulis ke lokasi yang ditentukan di bucket S3 Anda.

    catatan

    Gunakan alat Validasi OCSF untuk memverifikasi apakah sumber kustom kompatibel dengan. OCSF Schema 1.1

  2. Format - Setiap objek S3 yang dikumpulkan dari sumber kustom harus diformat sebagai file Apache Parquet.

  3. Skema - Kelas acara OCSF yang sama harus berlaku untuk setiap catatan dalam objek berformat Parket.

Praktik terbaik untuk menelan sumber khusus

Untuk memfasilitasi pemrosesan dan kueri data yang efisien, sebaiknya ikuti praktik terbaik ini saat menambahkan sumber khusus ke Security Lake:

Partisi

Objek harus dipartisi berdasarkan lokasi sumber,, Wilayah AWS Akun AWS, dan tanggal. Jalur data partisi diformat sebagaibucket-name/source-location/region=region/accountId=accountID/eventDay=YYYYMMDD.

Partisi sampel adalahaws-security-data-lake-us-west-2-lake-uid/source-location/region=us-west-2/accountId=123456789012/eventDay=20230428/.

  • bucket-name— Nama bucket Amazon S3 tempat Security Lake menyimpan data sumber kustom Anda.

  • source-location— Awalan untuk sumber kustom di bucket S3 Anda. Security Lake menyimpan semua objek S3 untuk sumber tertentu di bawah awalan ini, dan awalan unik untuk sumber yang diberikan.

  • region— Wilayah AWS yang datanya ditulis.

  • accountId— Akun AWS ID yang berkaitan dengan catatan di partisi sumber.

  • eventDay— Tanggal di mana peristiwa terjadi, diformat sebagai string delapan karakter (YYYYMMDD).

Ukuran dan tarif objek

Objek yang ditulis ke Security Lake harus menyangga catatan selama 5 menit. Jika periode buffer menyertakan terlalu banyak data untuk ditanyakan secara efisien, sumber kustom dapat menulis beberapa catatan di jendela 5 menit selama ukuran rata-rata file tersebut tetap di bawah 256 MB. Sumber khusus dengan throughput rendah dapat menulis objek yang lebih kecil setiap 5 menit untuk mempertahankan latensi konsumsi 5 menit, dan dapat menyangga catatan untuk periode yang lebih lama.

Pengaturan parket

Security Lake mendukung Parket versi 1.x dan 2.x. Ukuran halaman data harus dibatasi hingga 1 MB (tidak terkompresi). Ukuran grup baris tidak boleh lebih besar dari 256 MB (dikompresi). Untuk kompresi dalam objek Parket, zstandard lebih disukai.

Penyortiran

Dalam setiap objek yang diformat Parket, catatan harus dipesan berdasarkan waktu untuk mengurangi biaya kueri data.

Prasyarat untuk menambahkan sumber khusus

Saat menambahkan sumber khusus, Security Lake membuat peran IAM yang memungkinkan sumber untuk menulis data ke lokasi yang benar di danau data. Nama peran mengikuti formatAmazonSecurityLake-Provider-{name of the custom source}-{region}, Wilayah AWS di region mana Anda menambahkan sumber kustom. Security Lake melampirkan kebijakan untuk peran yang memungkinkan akses ke danau data. Jika Anda telah mengenkripsi data lake dengan AWS KMS kunci yang dikelola pelanggan, Security Lake juga melampirkan kebijakan dengan kms:Decrypt dan kms:GenerateDataKey izin ke peran tersebut. Batas izin untuk peran ini ditetapkan oleh kebijakan AWS terkelola yang disebut. AmazonSecurityLakePermissionsBoundary

Memverifikasi izin

Sebelum menambahkan sumber kustom, verifikasi bahwa Anda memiliki izin untuk melakukan tindakan berikut.

Untuk memverifikasi izin Anda, gunakan IAM untuk meninjau kebijakan IAM yang dilampirkan pada identitas IAM Anda. Kemudian, bandingkan informasi dalam kebijakan tersebut dengan daftar tindakan berikut yang harus diizinkan untuk dilakukan untuk menambahkan sumber kustom.

  • glue:CreateCrawler

  • glue:CreateDatabase

  • glue:CreateTable

  • glue:StopCrawlerSchedule

  • iam:GetRole

  • iam:PutRolePolicy

  • iam:DeleteRolePolicy

  • iam:PassRole

  • lakeformation:RegisterResource

  • lakeformation:GrantPermissions

  • s3:ListBucket

  • s3:PutObject

Tindakan ini memungkinkan Anda mengumpulkan log dan peristiwa dari sumber khusus, mengirimkannya ke AWS Glue database dan tabel yang benar, dan menyimpannya di Amazon S3.

Jika Anda menggunakan AWS KMS kunci untuk enkripsi sisi server data lake Anda, Anda juga memerlukan izin untuk,kms:CreateGrant, kms:DescribeKey dan. kms:GenerateDataKey

penting

Jika Anda berencana menggunakan konsol Security Lake untuk menambahkan sumber khusus, Anda dapat melewati langkah berikutnya dan melanjutkan keMenambahkan sumber khusus. Konsol Security Lake menawarkan proses yang efisien untuk memulai, dan menciptakan semua peran IAM yang diperlukan atau menggunakan peran yang ada atas nama Anda.

Jika Anda berencana untuk menggunakan Security Lake API atau AWS CLI menambahkan sumber kustom, lanjutkan dengan langkah berikutnya untuk membuat peran IAM untuk mengizinkan akses tulis ke lokasi bucket Security Lake.

Buat peran IAM untuk mengizinkan akses tulis ke lokasi bucket Security Lake (API dan langkah AWS CLI-only)

Jika Anda menggunakan Security Lake API atau AWS CLI menambahkan sumber kustom, tambahkan peran IAM ini untuk memberikan AWS Glue izin untuk merayapi data sumber kustom Anda dan mengidentifikasi partisi dalam data. Partisi ini diperlukan untuk mengatur data Anda dan membuat serta memperbarui tabel di Katalog Data.

Setelah membuat peran IAM ini, Anda akan memerlukan Nama Sumber Daya Amazon (ARN) peran tersebut untuk menambahkan sumber kustom.

Anda harus melampirkan kebijakan yang arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole AWS dikelola.

Untuk memberikan izin yang diperlukan, Anda juga harus membuat dan menyematkan kebijakan sebaris berikut dalam peran Anda Perayap AWS Glue untuk mengizinkan membaca file data dari sumber kustom dan membuat/memperbarui tabel di Katalog Data. AWS Glue

{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3WriteRead", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::{{bucketName}}/*" ] } ] }

Lampirkan kebijakan kepercayaan berikut untuk mengizinkan penggunaan yang dapat mengambil peran berdasarkan ID eksternal: Akun AWS

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Jika bucket S3 di Wilayah tempat Anda menambahkan sumber kustom dienkripsi dengan pengelola pelanggan AWS KMS key, Anda juga harus melampirkan kebijakan berikut ke peran dan kebijakan kunci KMS Anda:

{ "Effect": "Allow", "Action": [ "kms:GenerateDataKey" "kms:Decrypt" ], "Condition": { "StringLike": { "kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::{{name of S3 bucket created by Security Lake}" ] } }, "Resource": [ "{{ARN of customer managed key}}" ] }

Menambahkan sumber khusus

Setelah membuat peran IAM untuk memanggil AWS Glue crawler, ikuti langkah-langkah berikut untuk menambahkan sumber kustom di Security Lake.

Console
  1. Buka konsol Security Lake di https://console.aws.amazon.com/securitylake/.

  2. Dengan menggunakan Wilayah AWS pemilih di sudut kanan atas halaman, pilih Wilayah tempat Anda ingin membuat sumber kustom.

  3. Pilih Sumber kustom di panel navigasi, lalu pilih Buat sumber kustom.

  4. Di bagian Detail sumber kustom, masukkan nama unik global untuk sumber kustom Anda. Kemudian, pilih kelas acara OCSF yang menjelaskan jenis data yang akan dikirim sumber kustom ke Security Lake.

  5. Untuk Akun AWS dengan izin untuk menulis data, masukkan Akun AWS ID dan ID Eksternal dari sumber kustom yang akan menulis log dan peristiwa ke data lake.

  6. Untuk Akses Layanan, buat dan gunakan peran layanan baru atau gunakan peran layanan yang ada yang memberikan izin Security Lake untuk memanggil AWS Glue.

  7. Pilih Buat.

API

Untuk menambahkan sumber kustom secara terprogram, gunakan CreateCustomLogSourcepengoperasian Security Lake API. Gunakan operasi di Wilayah AWS tempat Anda ingin membuat sumber kustom. Jika Anda menggunakan AWS Command Line Interface (AWS CLI), jalankan perintah create-custom-log-source.

Dalam permintaan Anda, gunakan parameter yang didukung untuk menentukan pengaturan konfigurasi untuk sumber kustom:

  • sourceName— Tentukan nama untuk sumbernya. Nama harus menjadi nilai Regional yang unik.

  • eventClasses— Tentukan satu atau lebih kelas acara OCSF untuk menggambarkan jenis data yang akan dikirim sumber ke Security Lake. Untuk daftar kelas acara OCSF yang didukung sebagai sumber di Security Lake, lihat Open Cybersecurity Schema Framework (OCSF).

  • sourceVersion— Secara opsional, tentukan nilai untuk membatasi pengumpulan log ke versi tertentu dari data sumber kustom.

  • crawlerConfiguration— Tentukan Nama Sumber Daya Amazon (ARN) dari peran IAM yang Anda buat untuk memanggil crawler. AWS Glue Untuk langkah-langkah mendetail untuk membuat peran IAM, lihat Prasyarat untuk menambahkan sumber kustom

  • providerIdentity— Tentukan AWS identitas dan ID eksternal yang akan digunakan sumber untuk menulis log dan peristiwa ke danau data.

Contoh berikut menambahkan sumber kustom sebagai sumber log di akun penyedia log yang ditunjuk di Wilayah yang ditunjuk. Contoh ini diformat untuk Linux, macOS, atau Unix, dan menggunakan karakter garis miring terbalik (\) untuk meningkatkan keterbacaan.

$ aws securitylake create-custom-log-source \ --source-name EXAMPLE_CUSTOM_SOURCE \ --event-classes '["DNS_ACTIVITY", "NETWORK_ACTIVITY"]' \ --configuration crawlerConfiguration={"roleArn=arn:aws:iam::XXX:role/service-role/RoleName"},providerIdentity={"externalId=ExternalId,principal=principal"} \ --region=[“ap-southeast-2”]

Menjaga data sumber kustom diperbarui di AWS Glue

Setelah Anda menambahkan sumber kustom di Security Lake, Security Lake membuat AWS Glue crawler. Crawler terhubung ke sumber kustom Anda, menentukan struktur data, dan mengisi Katalog AWS Glue Data dengan tabel.

Sebaiknya jalankan crawler secara manual agar skema sumber kustom Anda tetap mutakhir dan mempertahankan fungsionalitas kueri di Athena dan layanan kueri lainnya. Secara khusus, Anda harus menjalankan crawler jika salah satu dari perubahan berikut terjadi dalam kumpulan data input Anda untuk sumber kustom:

  • Kumpulan data memiliki satu atau lebih kolom tingkat atas baru.

  • Kumpulan data memiliki satu atau lebih bidang baru dalam kolom dengan struct tipe data.

Untuk petunjuk tentang menjalankan crawler, lihat Menjadwalkan AWS Glue crawler di Panduan Pengembang.AWS Glue

Security Lake tidak dapat menghapus atau memperbarui crawler yang ada di akun Anda. Jika Anda menghapus sumber kustom, sebaiknya hapus crawler terkait jika Anda berencana membuat sumber kustom dengan nama yang sama di masa mendatang.

Menghapus sumber kustom

Hapus sumber khusus untuk berhenti mengirim data dari sumber ke Security Lake.

Console
  1. Buka konsol Security Lake di https://console.aws.amazon.com/securitylake/.

  2. Dengan menggunakan Wilayah AWS pemilih di sudut kanan atas halaman, pilih Wilayah tempat Anda ingin menghapus sumber kustom.

  3. Di panel navigasi, pilih Sumber khusus.

  4. Pilih sumber kustom yang ingin Anda hapus.

  5. Pilih Deregister sumber kustom dan kemudian pilih Hapus untuk mengonfirmasi tindakan.

API

Untuk menghapus sumber kustom secara terprogram, gunakan DeleteCustomLogSourcepengoperasian Security Lake API. Jika Anda menggunakan AWS Command Line Interface (AWS CLI), jalankan perintah delete-custom-log-source. Gunakan operasi di Wilayah AWS tempat Anda ingin menghapus sumber kustom.

Dalam permintaan Anda, gunakan sourceName parameter untuk menentukan nama sumber kustom yang akan dihapus. Atau tentukan nama sumber kustom dan gunakan sourceVersion parameter untuk membatasi ruang lingkup penghapusan hanya versi data tertentu dari sumber kustom.

Contoh berikut menghapus sumber log kustom dari Security Lake.

Contoh ini diformat untuk Linux, macOS, atau Unix, dan menggunakan karakter garis miring terbalik (\) untuk meningkatkan keterbacaan.

$ aws securitylake delete-custom-log-source \ --source-name EXAMPLE_CUSTOM_SOURCE