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 di Security Lake
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.
-
Menetapkan 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:
-
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 IAM peran yang memungkinkan sumber kustom untuk menulis ke lokasi yang ditentukan di bucket S3 Anda. catatan
Gunakan alat OCSF Validasi
untuk memverifikasi apakah sumber kustom kompatibel dengan OCSF Schema 1.1
. Format - Setiap objek S3 yang dikumpulkan dari sumber kustom harus diformat sebagai file Apache Parquet.
Skema - Kelas OCSF acara yang sama harus berlaku untuk setiap catatan dalam objek berformat Parket.
Praktik terbaik untuk menelan sumber khusus di Security Lake
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 sebagai
.bucket-name
/ext/custom-source-name
/region=region
/accountId=accountID
/eventDay=YYYYMMDD
Partisi sampel adalah
aws-security-data-lake-
.us-west-2-lake-uid
/ext/custom-source-name
/region=us-west-2
/accountId=123456789012
/eventDay=20230428
/ -
Jika Anda menambahkan versi sumber ke sumber kustom, jalur data partisi diformat sebagai
bucket-name
/ext/custom-source-name
/custom-source-version
/region=us-west-2
/accountId=123456789012
/eventDay=20230428
/Partisi sampel yang menyertakan versi sumber adalah
aws-security-data-lake-
.us-west-2-lake-uid
/ext/custom-source-name
/2.0
/region=us-west-2
/accountId=123456789012
/eventDay=20230428
/
Daftar berikut menjelaskan parameter yang digunakan dalam partisi.
-
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. -
source-version
— Versi sumber dari sumber kustom. -
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
-
File yang dikirim ke Security Lake harus dikirim secara bertahap antara 5 menit dan 1 hari acara. Pelanggan dapat mengirim file lebih sering dari 5 menit jika file berukuran lebih besar dari 256MB. Persyaratan objek dan ukuran adalah mengoptimalkan Security Lake untuk Kinerja Kueri. Tidak mengikuti persyaratan sumber kustom mungkin berdampak pada kinerja Security Lake Anda.
- 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 di Security Lake
Saat menambahkan sumber khusus, Security Lake membuat IAM peran 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
Topik
Memverifikasi izin
Sebelum menambahkan sumber kustom, verifikasi bahwa Anda memiliki izin untuk melakukan tindakan berikut.
Untuk memverifikasi izin Anda, gunakan IAM untuk meninjau IAM kebijakan yang dilampirkan pada IAM identitas 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 di Security Lake. Konsol Security Lake menawarkan proses yang efisien untuk memulai, dan menciptakan semua peran yang diperlukan atau menggunakan IAM 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 IAM peran untuk mengizinkan akses tulis ke lokasi bucket Security Lake.
Buat IAM peran untuk mengizinkan akses tulis ke lokasi bucket Security Lake (APIdan langkah AWS CLI-only)
Jika Anda menggunakan Security Lake API atau AWS CLI menambahkan sumber kustom, tambahkan IAM peran 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 IAM peran ini, Anda akan memerlukan Amazon Resource Name (ARN) peran 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 utama Anda: KMS
{ "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}}" ] }