Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Raccolta di dati da fonti personalizzate
Amazon Security Lake può raccogliere log ed eventi da fonti personalizzate di terze parti. Per ogni fonte personalizzata, Security Lake gestisce quanto segue:
-
Fornisce un prefisso univoco per l'origine nel bucket Amazon S3.
-
Crea un ruolo in AWS Identity and Access Management (IAM) che consente a una fonte personalizzata di scrivere dati nel data lake. Il limite delle autorizzazioni per questo ruolo è impostato da una politica AWS gestita chiamata. AmazonSecurityLakePermissionsBoundary
-
Crea una AWS Lake Formation tabella per organizzare gli oggetti che l'origine scrive su Security Lake.
-
Imposta un AWS Glue crawler per partizionare i dati di origine. Il crawler compila il file con la tabella. AWS Glue Data Catalog Inoltre, rileva automaticamente i nuovi dati di origine ed estrae le definizioni degli schemi.
Per aggiungere una fonte personalizzata a Security Lake, deve soddisfare i seguenti requisiti:
-
Destinazione: l'origine personalizzata deve essere in grado di scrivere dati su Security Lake come set di oggetti S3 sotto il prefisso assegnato all'origine. Per le fonti che contengono più categorie di dati, è necessario fornire ogni classe di eventi Open Cybersecurity Schema Framework (OCSF)
unica come fonte separata. Security Lake crea un ruolo IAM che consente all'origine personalizzata di scrivere nella posizione specificata nel bucket S3. Nota
Utilizza lo strumento di convalida OCSF
per verificare se la fonte personalizzata è compatibile con. OCSF Schema 1.1
Formato: ogni oggetto S3 raccolto dall'origine personalizzata deve essere formattato come file Apache Parquet.
Schema: la stessa classe di eventi OCSF deve essere applicata a ogni record all'interno di un oggetto in formato Parquet.
Le migliori pratiche per l'acquisizione di fonti personalizzate
Per facilitare l'elaborazione e l'interrogazione efficienti dei dati, consigliamo di seguire queste best practice quando si aggiunge una fonte personalizzata a Security Lake:
- Partizionamento
-
Gli oggetti devono essere partizionati per posizione di origine, Regione AWS, Account AWS e data. Il percorso dei dati della partizione è formattato come.
bucket-name
/source-location
/region=region
/accountId=accountID
/eventDay=YYYYMMDD
Una partizione di esempio è.
aws-security-data-lake-
us-west-2-lake-uid
/source-location
/region=us-west-2
/accountId=123456789012
/eventDay=20230428
/-
bucket-name
— Il nome del bucket Amazon S3 in cui Security Lake archivia i dati di origine personalizzati. -
source-location
— Prefisso per l'origine personalizzata nel tuo bucket S3. Security Lake archivia tutti gli oggetti S3 per una determinata fonte con questo prefisso e il prefisso è unico per quella determinata fonte. -
region
— Regione AWS su cui vengono scritti i dati. -
accountId
— Account AWS ID a cui appartengono i record nella partizione di origine. -
eventDay
— Data in cui si è verificato l'evento, formattata come una stringa di otto caratteri ().YYYYMMDD
-
- Dimensioni e frequenza dell'oggetto
-
Gli oggetti scritti su Security Lake devono memorizzare i record nel buffer per 5 minuti. Se il periodo di buffer include troppi dati per essere interrogati in modo efficiente, le fonti personalizzate possono scrivere più record nella finestra di 5 minuti, purché la dimensione media di tali file rimanga inferiore a 256 MB. Le fonti personalizzate con velocità effettiva ridotta possono scrivere oggetti più piccoli ogni 5 minuti per mantenere una latenza di inserimento di 5 minuti e memorizzare i record nel buffer per periodi più lunghi.
- Impostazioni del parquet
-
Security Lake supporta le versioni 1.x e 2.x di Parquet. La dimensione della pagina dati deve essere limitata a 1 MB (non compressa). La dimensione del gruppo di righe non deve superare i 256 MB (compressi). Per la compressione all'interno dell'oggetto Parquet, è preferibile zstandard.
- Ordinamento
-
All'interno di ogni oggetto in formato Parquet, i record devono essere ordinati per tempo per ridurre il costo dell'interrogazione dei dati.
Prerequisiti per aggiungere una fonte personalizzata
Quando si aggiunge un'origine personalizzata, Security Lake crea un ruolo IAM che consente alla fonte di scrivere i dati nella posizione corretta nel data lake. Il nome del ruolo segue il formatoAmazonSecurityLake-Provider-{name of the custom source}-{region}
, region
dov'è il formato Regione AWS in cui stai aggiungendo l'origine personalizzata. Security Lake attribuisce una policy al ruolo che consente l'accesso al data lake. Se hai crittografato il data lake con una AWS KMS chiave gestita dal cliente, Security Lake allega anche una policy kms:Decrypt
e kms:GenerateDataKey
autorizzazioni al ruolo. Il limite delle autorizzazioni per questo ruolo è impostato da una AWS politica gestita chiamata. AmazonSecurityLakePermissionsBoundary
Argomenti
Verificare le autorizzazioni
Prima di aggiungere una fonte personalizzata, verifica di disporre delle autorizzazioni necessarie per eseguire le seguenti azioni.
Per verificare le tue autorizzazioni, usa IAM per esaminare le policy IAM allegate alla tua identità IAM. Quindi, confronta le informazioni contenute in tali policy con il seguente elenco di azioni che devi essere autorizzato a eseguire per aggiungere una fonte personalizzata.
-
glue:CreateCrawler
-
glue:StopCrawler
-
glue:CreateDatabase
-
glue:CreateTable
-
glue:StartCrawlerSchedule
-
glue:StopCrawlerSchedule
-
iam:GetRole
-
iam:PutRolePolicy
-
iam:DeleteRolePolicy
-
iam:PassRole
-
lakeformation:RegisterResource
-
lakeformation:GrantPermissions
-
s3:ListBucket
-
s3:PutObject
Queste azioni consentono di raccogliere log ed eventi da un'origine personalizzata, inviarli al AWS Glue database e alla tabella corretti e archiviarli in Amazon S3.
Se utilizzi una AWS KMS chiave per la crittografia lato server del tuo data lake, hai bisogno anche dell'autorizzazione perkms:CreateGrant
, e. kms:DescribeKey
kms:GenerateDataKey
Importante
Se prevedi di utilizzare la console Security Lake per aggiungere un abbonato, puoi saltare il passaggio successivo e procedere con. Aggiungere una fonte personalizzata La console Security Lake offre un processo semplificato per iniziare e crea tutti i ruoli IAM necessari o utilizza i ruoli esistenti per tuo conto.
Se prevedi di utilizzare l'API Security Lake o di AWS CLI aggiungere un abbonato, continua con il passaggio successivo per creare un ruolo IAM per consentire l'accesso in scrittura alla posizione del bucket di Security Lake.
Crea un ruolo IAM per consentire l'accesso in scrittura alla posizione del bucket di Security Lake (API e AWS CLI passaggio solo)
Se utilizzi l'API Security Lake o vuoi AWS CLI aggiungere una fonte personalizzata, aggiungi questo ruolo IAM per concedere l' AWS Glue autorizzazione alla scansione dei dati di origine personalizzati e identificare le partizioni nei dati. Queste partizioni sono necessarie per organizzare i dati e creare e aggiornare tabelle nel Data Catalog.
Dopo aver creato questo ruolo IAM, avrai bisogno dell'Amazon Resource Name (ARN) del ruolo per aggiungere una fonte personalizzata.
È necessario allegare la policy arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole
AWS
gestita.
Per concedere le autorizzazioni necessarie, devi anche creare e incorporare la seguente politica in linea nel tuo ruolo per consentire Crawler di AWS Glue la lettura dei file di dati dall'origine personalizzata e la creazione/aggiornamento delle tabelle in Data Catalog. AWS Glue
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3WriteRead", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::{{bucketName}}/*" ] } ] }
Allega la seguente politica di fiducia per consentire e Account AWS utilizzando la quale può assumere il ruolo in base all'ID esterno:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Se il bucket S3 nella regione in cui stai aggiungendo la fonte personalizzata è crittografato con un file gestito dal cliente AWS KMS key, devi inoltre allegare la seguente politica al ruolo e alla tua politica chiave 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}}" ] }
Aggiungere una fonte personalizzata
Dopo aver creato il ruolo IAM per richiamare il AWS Glue crawler, segui questi passaggi per aggiungere una fonte personalizzata in Security Lake.
Mantenere aggiornati i dati di origine personalizzati in AWS Glue
Dopo aver aggiunto una fonte personalizzata in Security Lake, Security Lake crea un AWS Glue crawler. Il crawler si connette all'origine personalizzata, determina le strutture dei dati e popola il AWS Glue Data Catalog con tabelle.
Ti consigliamo di eseguire manualmente il crawler per mantenere aggiornato lo schema sorgente personalizzato e mantenere la funzionalità di interrogazione in Athena e in altri servizi di interrogazione. In particolare, è consigliabile eseguire il crawler se si verifica una delle seguenti modifiche nel set di dati di input per un'origine personalizzata:
Il set di dati ha una o più nuove colonne di primo livello.
Il set di dati contiene uno o più nuovi campi in una colonna con un tipo di
struct
dati.
Per istruzioni sull'esecuzione di un crawler, consulta Scheduling an AWS Glue crawler nella Developer Guide.AWS Glue
Security Lake non può eliminare o aggiornare i crawler esistenti nel tuo account. Se elimini un'origine personalizzata, ti consigliamo di eliminare il crawler associato se prevedi di creare un'origine personalizzata con lo stesso nome in futuro.
Eliminazione di una fonte personalizzata
Eliminare una fonte personalizzata per interrompere l'invio di dati dalla sorgente a Security Lake.