Recolha registos de análise da gestão de identidade e de acesso (IAM)
Este documento explica como exportar e carregar registos da análise do IAM para o Google Security Operations através do Cloud Storage. O analisador extrai informações de utilizadores e recursos de dados JSON do IAM. Em seguida, mapeia os campos extraídos para o UDM, criando entidades de utilizadores com funções associadas e relações de recursos, o que, em última análise, enriquece o contexto de segurança na plataforma Google SecOps.
Antes de começar
Certifique-se de que tem os seguintes pré-requisitos:
- Instância do Google SecOps.
- O IAM está configurado e ativo no seu ambiente Google Cloud .
- Acesso privilegiado a Google Cloud e autorizações adequadas para aceder aos registos do IAM.
Crie um contentor do Cloud Storage
- Inicie sessão na Google Cloud consola.
Aceda à página Contentores do Cloud Storage.
Clique em Criar.
Na página Criar um depósito, introduza as informações do depósito. Após cada um dos passos seguintes, clique em Continuar para avançar para o passo seguinte:
Na secção Começar, faça o seguinte:
- Introduza um nome exclusivo que cumpra os requisitos do nome do contentor; por exemplo, google-cloud-iam-logs.
Para ativar o espaço de nomes hierárquico, clique na seta de expansão para expandir a secção Otimizar para cargas de trabalho orientadas para ficheiros e com grande volume de dados e, de seguida, selecione Ativar espaço de nomes hierárquico neste contentor.
Para adicionar uma etiqueta de grupo, clique na seta de expansão para expandir a secção Etiquetas.
Clique em Adicionar etiqueta e especifique uma chave e um valor para a etiqueta.
Na secção Escolha onde quer armazenar os seus dados, faça o seguinte:
- Selecione um Tipo de localização.
Use o menu de tipo de localização para selecionar uma Localização onde os dados de objetos no seu contentor vão ser armazenados permanentemente.
Para configurar a replicação entre contentores, expanda a secção Configurar replicação entre contentores.
Na secção Escolha uma classe de armazenamento para os seus dados, selecione uma classe de armazenamento predefinida para o contentor ou selecione Autoclass para a gestão automática da classe de armazenamento dos dados do seu contentor.
Na secção Escolha como controlar o acesso a objetos, selecione não para aplicar a prevenção de acesso público e selecione um modelo de controlo de acesso para os objetos do seu contentor.
Na secção Escolha como proteger os dados de objetos, faça o seguinte:
- Selecione qualquer uma das opções em Proteção de dados que quer definir para o seu contentor.
- Para escolher como os dados de objetos vão ser encriptados, clique na seta de expansão com a etiqueta Encriptação de dados e selecione um Método de encriptação de dados.
Clique em Criar.
Configure a exportação de registos de análise da IAM
- Inicie sessão na Google Cloud consola.
- Aceda a Registo > Router de registos.
- Clique em Criar destino.
Forneça os seguintes parâmetros de configuração:
- Nome do destino: introduza um nome significativo; por exemplo,
IAM-Analysis-Sink
. - Destino da sincronização: selecione Armazenamento do Cloud Storage e introduza o URI do seu contentor; por exemplo,
gs://gcp-iam-analysis-logs
. Filtro de registo:
logName="*iam*" resource.type="gce_instance"
Configure autorizações para o Cloud Storage
- Nome do destino: introduza um nome significativo; por exemplo,
Aceda a IAM e administrador > IAM.
Localize a conta de serviço do Cloud Logging.
Conceda a função roles/storage.admin no contentor.
Configure feeds
Para configurar um feed, siga estes passos:
- Aceda a Definições do SIEM > Feeds.
- Clique em Adicionar novo feed.
- Na página seguinte, clique em Configurar um único feed.
- No campo Nome do feed, introduza um nome para o feed; por exemplo, Registos de análise do IAM.
- Selecione Google Cloud Storage V2 como Tipo de origem.
- Selecione Análise de IAM da GCP como o Tipo de registo.
- Clique em Obter conta de serviço junto ao campo Conta de serviço do Chronicle.
- Clicar em Seguinte.
Especifique valores para os seguintes parâmetros de entrada:
- URI do contentor de armazenamento: URL do contentor do Cloud Storage; por exemplo,
gs://gcp-iam-analysis-logs
. Opções de eliminação da origem: selecione a opção de eliminação de acordo com a sua preferência.
Idade máxima do ficheiro: inclui ficheiros modificados no último número de dias. A predefinição é 180 dias.
- URI do contentor de armazenamento: URL do contentor do Cloud Storage; por exemplo,
Clicar em Seguinte.
Reveja a nova configuração do feed no ecrã Finalizar e, de seguida, clique em Enviar.
Tabela de mapeamento da UDM
Campo de registo | Mapeamento de UDM | Lógica |
---|---|---|
accessControlLists.accesses.permission | relations.entity.resource.attribute.permissions.name | Diretamente do campo accessControlLists.accesses.permission no registo não processado. |
attachedResourceFullName | relations.entity.resource.name | Diretamente do campo attachedResourceFullName no registo não processado, mas com os nomes de recursos finais removidos. |
relations.entity.resource.attribute.cloud.environment | Definido como GOOGLE_CLOUD_PLATFORM . |
|
relations.entity.resource.product_object_id | Para STORAGE_BUCKET, diretamente do campo attachedResourceFullName no registo não processado, mas com os nomes de recursos finais removidos. Para conjuntos de dados do BigQuery, é o projectName (extraído de attachedResourceFullName ) seguido de dois pontos e do campo datasetName (extraído de attachedResourceFullName ). |
|
relations.entity.resource.resource_type | Determinado pelo padrão do campo attachedResourceFullName no registo não processado. |
|
relations.entity_type | Definido como RESOURCE , exceto para SERVICE_ACCOUNT, em que está definido como USER . |
|
relations.relationship | Definido como MEMBER . |
|
metadata.collected_timestamp | Diretamente do campo timestamp no registo não processado. |
|
metadata.entity_type | Definido como USER . |
|
metadata.product_name | Definido como GCP IAM ANALYSIS . |
|
metadata.vendor_name | Definido como Google Cloud Platform . |
|
iamBinding.role | entity.user.attribute.roles.name | Diretamente do campo iamBinding.role no registo não processado. |
identityList.identities.name | entity.user.attribute.roles.type | Definido como SERVICE_ACCOUNT se o campo identityList.identities.name contiver a string serviceAccount . |
entity.user.email_addresses | Se o campo identityList.identities.name contiver um símbolo @ , é tratado como um endereço de email. |
|
entity.user.userid | Se o campo identityList.identities.name não contiver um símbolo @ , é tratado como um ID do utilizador. |
|
identityList.identities.product_object_id | entity.user.product_object_id | Diretamente do campo identityList.identities.product_object_id no registo não processado. |
timestamp | timestamp | Diretamente do campo timestamp no registo não processado. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.