Coletar registros de análise do Cloud Identity and Access Management (IAM)

Compatível com:

Este documento explica como exportar e processar registros de análise do Cloud IAM no Google Security Operations usando o Cloud Storage. O analisador extrai informações de usuários e recursos dos dados JSON do Google Cloud IAM. Em seguida, ele mapeia os campos extraídos para o UDM, criando entidades de usuário com papéis e relacionamentos de recursos associados, enriquecendo o contexto de segurança na plataforma Google SecOps.

Antes de começar

  • Verifique se você tem uma instância do Google SecOps.
  • Verifique se o Google Cloud IAM está configurado e ativo no ambiente Google Cloud .
  • Verifique se você tem acesso privilegiado a Google Cloud e as permissões adequadas para acessar os registros do IAM.

Criar um bucket do Cloud Storage

  1. Faça login no console do Google Cloud.
  2. Acesse a página Buckets do Cloud Storage.

    Acessar buckets

  3. Clique em Criar.

  4. Na página Criar um bucket, insira as informações do seu bucket. Após cada uma das etapas a seguir, clique em Continuar para prosseguir para a próxima:

    1. Na seção Começar, faça o seguinte:

      1. Insira um nome exclusivo que atenda aos requisitos de nome de bucket. Por exemplo, google-cloud-iam-logs.
      2. Para ativar o namespace hierárquico, clique na seta de expansão para abrir a seção Otimizar para cargas de trabalho orientadas a arquivos e com uso intensivo de dados e selecione Ativar namespace hierárquico neste bucket.

      3. Para adicionar um rótulo de bucket, clique na seta de expansão para abrir a seção Rótulos.

      4. Clique em Adicionar rótulo e especifique uma chave e um valor para o rótulo.

    2. Na seção Escolha onde armazenar seus dados, faça o seguinte:

      1. Selecione um tipo de local.
      2. Use o menu do tipo de local para selecionar um Local em que os dados de objetos no bucket serão armazenados permanentemente.

      3. Para configurar a replicação entre buckets, abra a seção Configurar a replicação entre buckets.

    3. Na seção Escolha uma classe de armazenamento para seus dados, selecione uma classe de armazenamento padrão para o bucket ou selecione Classe automática para gerenciamento automático da classe de armazenamento dos dados do bucket.

    4. Na seçã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 controle de acesso para os objetos do bucket.

    5. Na seção Escolha como proteger os dados do objeto, faça o seguinte:

      1. Selecione qualquer uma das opções em Proteção de dados que você quer definir para o bucket.
      2. Para escolher como os dados do objeto serão criptografados, clique na seta de expansão identificada como Criptografia de dados e selecione um método de criptografia de dados.
  5. Clique em Criar.

Configurar Google Cloud exportação de registros de análise do IAM

  1. Faça login no console do Google Cloud.
  2. Acesse Logging > Roteador de registros.
  3. Clique em Criar coletor.
  4. Informe os seguintes parâmetros de configuração:

    • Nome do coletor: insira um nome significativo. Por exemplo, IAM-Analysis-Sink.
    • Destino da sink: selecione Cloud Storage e insira o URI do bucket. Por exemplo, gs://gcp-iam-analysis-logs.
    • Filtro de registro:

      logName="*iam*"
      resource.type="gce_instance"
      

      Configurar permissões do Cloud Storage

  5. Acesse IAM e administrador > IAM.

  6. Localize a conta de serviço do Cloud Logging.

  7. Conceda o papel roles/storage.admin no bucket.

Configurar um feed no Google SecOps para ingerir registros de análise do IAM Google Cloud

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo.
  3. No campo Nome do feed, insira um nome para o feed. Por exemplo, Google Cloud Logs de análise do IAM.
  4. Selecione Google Cloud Storage como o Tipo de origem.
  5. Selecione Análise do IAM do GCP como o Tipo de registro.
  6. Clique em Pegar conta de serviço ao lado do campo Conta de serviço do Chronicle.
  7. Clique em Próxima.
  8. Especifique valores para os seguintes parâmetros de entrada:

    • URI do bucket do Storage: URL do bucket do Cloud Storage. Por exemplo, gs://gcp-iam-analysis-logs.
    • URI Is A: selecione Directory which includes subdirectories.
    • Opções de exclusão de origem: selecione a opção de exclusão de acordo com sua preferência.

    • Namespace do recurso: o namespace do recurso.

    • Rótulos de ingestão: o rótulo aplicado aos eventos desse feed.

  9. Clique em Próxima.

  10. Revise a configuração do novo feed na tela Finalizar e clique em Enviar.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
accessControlLists.accesses.permission relations.entity.resource.attribute.permissions.name Diretamente do campo accessControlLists.accesses.permission no registro bruto.
attachedResourceFullName relations.entity.resource.name Diretamente do campo attachedResourceFullName no registro bruto, mas com os nomes de recursos finais removidos.
relations.entity.resource.attribute.cloud.environment Defina como GOOGLE_CLOUD_PLATFORM.
relations.entity.resource.product_object_id Para STORAGE_BUCKET, diretamente do campo attachedResourceFullName no registro bruto, mas com os nomes de recursos finais removidos. Para conjuntos de dados do BigQuery, é o projectName (extraído de attachedResourceFullName) seguido por dois-pontos e o campo datasetName (extraído de attachedResourceFullName).
relations.entity.resource.resource_type Determinada pelo padrão do campo attachedResourceFullName no registro bruto.
relations.entity_type Definido como RESOURCE, exceto para SERVICE_ACCOUNT, que é definido como USER.
relations.relationship Defina como MEMBER.
metadata.collected_timestamp Diretamente do campo timestamp no registro bruto.
metadata.entity_type Defina como USER.
metadata.product_name Defina como GCP IAM ANALYSIS.
metadata.vendor_name Defina como Google Cloud Platform.
iamBinding.role entity.user.attribute.roles.name Diretamente do campo iamBinding.role no registro bruto.
identityList.identities.name entity.user.attribute.roles.type Defina 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 @, ele será tratado como um endereço de e-mail.
entity.user.userid Se o campo identityList.identities.name não contiver um símbolo @, ele será tratado como um userid.
identityList.identities.product_object_id entity.user.product_object_id Diretamente do campo identityList.identities.product_object_id no registro bruto.
timestamp timestamp Diretamente do campo timestamp no registro bruto.

Alterações

2023-02-27

Correção de bugs:

  • O mapeamento do campo iamBinding.members para entity.user.group_identifiers foi removido.

2022-12-28

Melhoria:

  • Mapeamos o campo iamBinding.role para entity.user.attribute.role.name.
  • Mapeamos o campo iamBinding.members para entity.user.group_identifiers.

2022-07-27

Melhoria:

  • O mapeamento de identity.product_object_id, que foi mapeado para event.idm.entity.entity.user.userid, foi removido.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.