As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Coletando dados de fontes personalizadas
O Amazon Security Lake pode coletar logs e eventos de fontes personalizadas de terceiros. Para cada fonte personalizada, o Security Lake trata do seguinte:
-
Fornece um prefixo exclusivo da fonte do bucket do Amazon S3.
-
Cria uma função no AWS Identity and Access Management (IAM) que permite que uma fonte personalizada grave dados no data lake. O limite de permissões para essa função é definido por uma política AWS gerenciada chamada AmazonSecurityLakePermissionsBoundary.
-
Cria uma AWS Lake Formation tabela para organizar os objetos que a fonte grava no Security Lake.
-
Configura um AWS Glue rastreador para particionar seus dados de origem. O rastreador o preenche AWS Glue Data Catalog com a mesa. Ele também descobre automaticamente novos dados da fonte e extrai definições do esquema.
Para adicionar uma fonte personalizada ao Security Lake, ela deve atender aos seguintes requisitos:
-
Destino: a fonte personalizada deve ser capaz de gravar dados no Security Lake como um conjunto de objetos do S3 sob do prefixo atribuído à fonte. Para fontes que contêm várias categorias de dados, você deve fornecer cada classe de evento exclusiva do Open Cybersecurity Schema Framework (OCSF)
como uma fonte separada. O Security Lake cria um perfil do IAM que permite que a fonte personalizada grave no local especificado em seu bucket do S3. nota
Use a ferramenta de validação OCSF
para verificar se a fonte personalizada é compatível com o. OCSF Schema 1.1
Formato: cada objeto do S3 coletado da fonte personalizada deve ser formatado como um arquivo do Apache Parquet.
Esquema: a mesma classe de evento do OCSF deve ser aplicada a cada registro em um objeto formatado em Parquet.
Melhores práticas para o consumo de fontes personalizadas
Para facilitar o processamento e a consulta eficientes de dados, recomendamos seguir estas melhores práticas ao adicionar uma fonte personalizada ao Security Lake:
- Particionamento
-
Os objetos devem ser particionados por local de origem Região da AWS, Conta da AWS, e data. O caminho dos dados da partição é formatado como
.bucket-name
/source-location
/region=region
/accountId=accountID
/eventDay=YYYYMMDD
Uma partição de amostra é
aws-security-data-lake-
.us-west-2-lake-uid
/source-location
/region=us-west-2
/accountId=123456789012
/eventDay=20230428
/-
bucket-name
: o nome do bucket do Amazon S3 no qual o Security Lake armazena seus dados da fonte personalizada. -
source-location
: prefixo da fonte personalizada em seu bucket do S3. O Security Lake armazena todos os objetos do S3 de uma determinada fonte sob esse prefixo, e o prefixo é exclusivo da fonte em questão. -
region
— Região da AWS no qual os dados são gravados. -
accountId
— Conta da AWS ID ao qual os registros na partição de origem pertencem. -
eventDay
: data em que o evento ocorreu, formatada como uma cadeia de oito caracteres (YYYYMMDD
).
-
- Tamanho e taxa do objeto
-
Objetos gravados no Security Lake devem armazenar logs em buffer por 5 minutos. Se o período do buffer incluir dados demais para serem consultados com eficiência, as fontes personalizadas poderão gravar vários logs na janela de 5 minutos, desde que o tamanho médio desses arquivos permaneça abaixo de 256 MB. Fontes personalizadas com baixo throughput podem gravar objetos menores a cada 5 minutos para manter uma latência de ingestão de 5 minutos, e podem armazenar logs em buffer por períodos mais longos.
- Configurações do Parquet
-
O Security Lake oferece suporte às versões 1.x e 2.x do Parquet. O tamanho da página de dados deve ser limitado a 1 MB (descompactado). O tamanho do grupo de linhas não deve ser maior que 256 MB (compactado). Para compressão dentro do objeto Parquet, o padrão é o preferido.
- Classificação
-
Em cada objeto formatado em Parquet, os logs devem ser ordenados por tempo para reduzir o custo da consulta de dados.
Pré-requisitos para adicionar uma fonte personalizada
Ao adicionar uma fonte personalizada, o Security Lake cria um perfil do IAM que permite que a fonte grave dados no local correto no data lake. O nome da função segue o formatoAmazonSecurityLake-Provider-{name of the custom source}-{region}
, onde region
é aquele Região da AWS em que você está adicionando a fonte personalizada. O Security Lake atribui uma política à função que permite o acesso ao data lake. Se você criptografou o data lake com uma AWS KMS chave gerenciada pelo cliente, o Security Lake também anexa uma política kms:Decrypt
e kms:GenerateDataKey
permissões à função. O limite de permissões para essa função é definido por uma política AWS gerenciada chamada AmazonSecurityLakePermissionsBoundary.
Tópicos
Verificar permissões
Antes de adicionar uma fonte personalizada, verifique se você tem as permissões para realizar as ações a seguir.
Para verificar suas permissões, use o IAM para revisar as políticas do IAM que estão anexadas à sua identidade do IAM. Em seguida, compare as informações nessas políticas com a seguinte lista de ações que você deve ter permissão para adicionar uma fonte personalizada.
-
glue:CreateCrawler
-
glue:CreateDatabase
-
glue:CreateTable
-
glue:StopCrawlerSchedule
-
iam:GetRole
-
iam:PutRolePolicy
-
iam:DeleteRolePolicy
-
iam:PassRole
-
lakeformation:RegisterResource
-
lakeformation:GrantPermissions
-
s3:ListBucket
-
s3:PutObject
Essas ações permitem que você colete logs e eventos de uma fonte personalizada, os envie para o AWS Glue banco de dados e a tabela corretos e os armazene no Amazon S3.
Se você usar uma AWS KMS chave para criptografia do lado do servidor do seu data lake, também precisará de permissão parakms:CreateGrant
, e. kms:DescribeKey
kms:GenerateDataKey
Importante
Se você planeja usar o console do Security Lake para adicionar uma fonte personalizada, você pode pular a próxima etapa e continuarComo adicionar uma fonte personalizada. O console do Security Lake oferece um processo simplificado para começar e cria todos os perfis necessários do IAM ou usa os perfis existentes em seu nome.
Se você planeja usar a API Security Lake ou AWS CLI adicionar uma fonte personalizada, continue com a próxima etapa para criar uma função do IAM para permitir o acesso de gravação à localização do bucket do Security Lake.
Crie a função do IAM para permitir acesso de gravação à localização do bucket do Security Lake (API e etapa AWS CLI somente)
Se você estiver usando a API Security Lake ou AWS CLI para adicionar uma fonte personalizada, adicione essa função do IAM para conceder AWS Glue permissão para rastrear seus dados de origem personalizados e identificar partições nos dados. Essas partições são necessárias para organizar seus dados e criar e atualizar tabelas no Catálogo de dados.
Depois de criar esse perfil do IAM, você precisará do nome do recurso da Amazon (ARN) do perfil para adicionar uma fonte personalizada.
Você deve anexar a política arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole
AWS
gerenciada.
Para conceder as permissões necessárias, você também deve criar e incorporar a seguinte política embutida em sua função Crawler do AWS Glue para permitir a leitura de arquivos de dados da fonte personalizada e a criação/atualização das tabelas no Catálogo de Dados. AWS Glue
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3WriteRead", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::{{bucketName}}/*" ] } ] }
Anexe a seguinte política de confiança para permitir que uma, Conta da AWS usando a qual, ela possa assumir a função com base na ID externa:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Se o bucket do S3 na região em que você está adicionando a fonte personalizada estiver criptografado com uma política gerenciada pelo cliente AWS KMS key, você também deverá anexar a seguinte política à função e à sua política de chaves do 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}}" ] }
Como adicionar uma fonte personalizada
Depois de criar a função do IAM para invocar o AWS Glue rastreador, siga estas etapas para adicionar uma fonte personalizada no Security Lake.
Mantendo os dados de origem personalizados atualizados no AWS Glue
Depois de adicionar uma fonte personalizada no Security Lake, o Security Lake cria um AWS Glue rastreador. O crawler se conecta à sua fonte personalizada, determina as estruturas de dados e preenche o Catálogo de dados do AWS Glue com tabelas.
Recomendamos executar manualmente o crawler para manter seu esquema de fonte personalizado atualizado e manter a funcionalidade de consulta no Athena e em outros serviços de consulta. Especificamente, você deve executar o crawler se alguma das seguintes alterações ocorrer em seu conjunto de dados de entrada de uma fonte personalizada:
O conjunto de dados tem uma ou mais novas colunas de nível superior.
O conjunto de dados tem um ou mais campos novos em uma coluna com um tipo de dados
struct
.
Para obter instruções sobre como executar um rastreador, consulte Como programar um AWS Glue rastreador no Guia do desenvolvedor.AWS Glue
O Security Lake não pode excluir nem atualizar os crawlers existentes na sua conta. Se você excluir uma fonte personalizada, recomendamos excluir o crawler associado se você planeja criar uma fonte personalizada com o mesmo nome no futuro.
Como excluir uma fonte personalizada
Exclua uma fonte personalizada para parar de enviar dados da fonte para o Security Lake.