Integrar o Cloud Identity ao Google SecOps

Este documento explica como integrar o Cloud Identity ao Google Security Operations.

Casos de uso

A integração do Cloud Identity usa os recursos do Google SecOps para oferecer suporte aos seguintes casos de uso:

  • Gerenciar controles de acesso: crie e atualize configurações do IAM diretamente de um playbook de investigação.
  • Definições de política de auditoria: lista informações sobre as políticas disponíveis para rastrear mutações de acesso.
  • Manter atributos da lista de detectores: adicione entidades e indicadores a listas de URLs de detectores específicos para monitoramento.

Antes de começar

Antes de configurar a integração do Cloud Identity na plataforma Google SecOps, verifique se você configurou seu ambiente seguindo estas etapas:

  1. Crie uma conta de serviço.
  2. Delegar autoridade em todo o domínio à sua conta de serviço
  3. Ative as APIs necessárias para seu projeto.
  4. Escolha e configure um dos seguintes métodos de autenticação:
    • Opção 1: chave JSON: esse método depende de um arquivo de chave secreta estático e de longa duração. Use esse método somente se a Identidade da carga de trabalho não estiver disponível no seu ambiente.
    • Opção 2: Identidade da carga de trabalho (recomendada): esse método usa tokens de acesso temporários e de curta duração usando a representação de conta de serviço, eliminando a necessidade de armazenar segredos.

Criar uma conta de serviço

Para criar uma conta de serviço para a integração, siga estas etapas:

  1. No console Google Cloud , acesse IAM e administrador > Contas de serviço e selecione seu projeto.

    Acessar a página "Contas de serviço"

  2. Clique em Criar conta de serviço.

  3. Forneça um nome e uma descrição e clique em Concluído para criar a conta.

Delegar autoridade em todo o domínio à conta de serviço

  1. No Google Admin Console do seu domínio, acesse Menu principal > Segurança > Controle de dados e acesso > Controles de API.
  2. No painel Delegação em todo o domínio, selecione Gerenciar a delegação em todo o domínio.
  3. Clique em Adicionar novo.
  4. No campo ID do cliente, insira o ID do cliente obtido na seção Criar uma conta de serviço.
  5. No campo Escopos OAuth, insira a seguinte lista separada por vírgulas dos escopos necessários para seu aplicativo:

    https://www.googleapis.com/auth/cloud-platform,
    https://www.googleapis.com/auth/cloud-identity.policies,
    https://www.googleapis.com/auth/admin.directory.orgunit
    
  6. Clique em Autorizar.

A conta de serviço agora está autorizada a acessar dados em todo o domínio usando os escopos especificados.

Ative as APIs necessárias para seu projeto

  1. No console do Google Cloud , acesse APIs e serviços.

    Acessar APIs e serviços

  2. Clique em Ativar APIs e serviços.

  3. Pesquise e ative as seguintes APIs para seu projeto:

    • SDK Admin (admin.googleapis.com)
    • API Cloud Identity (cloudidentity.googleapis.com)

Configurar uma chave JSON

É possível autenticar a integração usando um arquivo de chave JSON estático ou a federação de identidade da carga de trabalho. Para maximizar a segurança do ambiente, use o método de Identidade da carga de trabalho. Use o método de chave JSON somente se a Identidade da carga de trabalho não for compatível com sua infraestrutura, já que as chaves estáticas exigem rotação manual e aumentam os riscos de exposição de credenciais.

Para gerar o arquivo de chave JSON necessário para autenticar a integração, siga estas etapas:

  1. No console Google Cloud , acesse IAM e administrador > Contas de serviço e selecione a conta de serviço que você criou.

    Acessar a página "Contas de serviço"

  2. Acesse a guia Chaves.

  3. Clique em Adicionar chave.

  4. Selecione Criar nova chave.

  5. Para o tipo de chave, selecione JSON e clique em Criar. O arquivo JSON é baixado no seu computador.

  6. Copie todo o conteúdo desse arquivo e cole em User's Service Account JSON durante a configuração da integração.

Configurar permissões do Cloud Identity

Use o procedimento a seguir para definir os privilégios administrativos que a integração exige para gerenciar recursos organizacionais:

  1. No Google Admin Console, acesse Conta > Funções do administrador.
  2. Clique em Criar nova função.
  3. Dê um nome à nova função personalizada e clique em Continuar.
  4. Na página Selecionar privilégios, acesse a seção de privilégios da API Admin.
  5. Em Privilégios da API Admin, selecione os seguintes privilégios:
    • Organization Units
    • Users
    • Groups
  6. Clique em Continuar.
  7. Para criar uma função personalizada, clique em Criar função.
Atribuir a função personalizada a um usuário

Use o procedimento a seguir para atribuir a função a uma conta de usuário, autorizando a integração a realizar ações em seu nome:

  1. Para criar um novo usuário, acesse a página Diretório > Usuários.
  2. Adicione um novo usuário associado à conta de serviço.
  3. Abra as configurações do usuário recém-criado. A guia da conta de usuário é aberta.
  4. Clique em Funções e privilégios do administrador.
  5. Clique em Editar Editar.
  6. Selecione a função personalizada que você criou.
  7. Para a função selecionada, mude a opção para Atribuído.

Configurar credenciais da Identidade da carga de trabalho

Escolha este método ou o método de chave JSON para autenticar a integração. A Identidade da carga de trabalho é a abordagem recomendada e mais segura porque usa tokens de acesso temporários e de curta duração com a representação da conta de serviço, minimizando os riscos de exposição de credenciais secretas de longa duração.

Identificar a identidade exclusiva da instância

Para usar a Identidade da carga de trabalho, conceda à sua instância do Google SecOps permissão para representar sua conta de serviço. Essa etapa permite que a instância acesse os recursos do Google Cloud com segurança.

  1. No Google SecOps, acesse Central de conteúdo > Integrações de resposta.
  2. Selecione a integração que você está configurando e insira o e-mail da sua conta de serviço no campo Workload Identity Email.
  3. Insira o e-mail que você quer que a integração represente no campo Delegated Email.
  4. Clique em Salvar > Testar. O teste vai falhar.
  5. Clique em close_small à direita de Teste e pesquise a mensagem de erro do e-mail de identidade que começa com gke-init-python@... ou soar-python@....

  6. Copie esse endereço de e-mail exclusivo.

Autorize a identidade da instância em Google Cloud

Depois de recuperar a identidade exclusiva da sua instância do Google SecOps, autorize o acesso aos seus recursos do Google Cloud . Essa etapa ativa a identidade temporária de conta de serviço, permitindo que a plataforma gere tokens de curta duração e aja em seu nome sem a necessidade de chaves estáticas.

  1. No console Google Cloud , acesse IAM e administrador > Contas de serviço.

    Acessar a página "Contas de serviço"

  2. Selecione a conta de serviço de destino e acesse Permissões > Conceder acesso.

  3. Cole o endereço de e-mail exclusivo no campo Principais novos e atribua o papel Criador de token da conta de serviço (roles/iam.serviceAccountTokenCreator).

Parâmetros de integração

A integração do Cloud Identity exige os seguintes parâmetros:

Parâmetro Descrição
Service Account JSON File Content

Opcional.

O conteúdo do arquivo JSON da chave da conta de serviço.

É possível configurar este parâmetro ou o e-mail da Identidade da carga de trabalho. Para usar esse método, cole toda a string JSON do arquivo de chave baixado durante a criação da conta de serviço.

Workload Identity Email

Opcional.

O endereço de e-mail do cliente da sua conta de serviço.

Você pode configurar este parâmetro ou Conteúdo do arquivo JSON da conta de serviço.

Para usar esse método na representação de uma conta de serviço, conceda o papel de criador de tokens da conta de serviço à identidade da sua instância do Google SecOps na conta de serviço.

Delegated Email

Obrigatório.

O endereço de e-mail que a integração usa para realizar ações.

Verifique se essa conta tem as permissões delegadas adequadas no seu ambiente para executar as tarefas de integração necessárias.

Verify SSL

Opcional.

Se selecionada, a integração valida o certificado SSL ao se conectar ao servidor do Cloud Identity.

Ativado por padrão.

Para instruções sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.

Você pode fazer mudanças mais tarde, se necessário. Depois de configurar uma instância de integração, você pode usá-la em playbooks. Para mais informações sobre como configurar e oferecer suporte a várias instâncias, consulte Suporte a várias instâncias.

Ações

Para mais informações sobre ações, consulte Responder a ações pendentes da sua mesa de trabalho e Realizar uma ação manual.

Ping

Use a ação Ping para testar a conectividade com o Cloud Identity.

Essa ação não é executada em entidades do Google SecOps.

Entradas de ação

Não há parâmetros de entrada necessários para essa ação.

Saídas da ação

A ação Ping fornece as seguintes saídas:

Tipo de saída da ação Disponibilidade
Anexo do Painel de Casos Indisponível
Link do mural do caso Indisponível
Tabela do painel de casos Indisponível
Tabela de enriquecimento Indisponível
Resultado JSON Indisponível
Mensagens de saída Disponível
Resultado do script Disponível
Mensagens de saída

A ação Ping pode retornar as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem

Successfully connected to the Cloud Identity server with the provided connection parameters!

A ação foi concluída.
Failed to connect to the Cloud Identity server! Error is ERROR_REASON

A ação falhou.

Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais.

Resultado do script

A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Ping:

Nome do resultado do script Valor
is_success true ou false

Adicionar entidade à lista de URLs do detector

Use a ação Adicionar entidade à lista de URLs do detector para adicionar entidades à lista de detecção de políticas do Cloud Identity.

Essa ação é executada nas seguintes entidades do Google SecOps:

  • URL
  • Domínio

Entradas de ação

A ação Adicionar entidade à lista de URLs do detector exige os seguintes parâmetros:

Parâmetro Descrição
Detector Policy ID

Obrigatório.

O identificador exclusivo da política do detector a ser atualizada.

URL

Opcional.

Uma lista separada por vírgulas de URLs a serem adicionados à lista do detector.

Domain

Opcional.

Uma lista de domínios separados por vírgulas a serem adicionados à lista de detectores.

Saídas da ação

A ação Adicionar entidade à lista de URLs do detector fornece as seguintes saídas:

Tipo de saída da ação Disponibilidade
Anexo do Painel de Casos Indisponível
Link do mural do caso Indisponível
Tabela do painel de casos Indisponível
Tabela de enriquecimento Indisponível
Resultado JSON Disponível
Mensagens de saída Disponível
Resultado do script Disponível
Resultado JSON

O exemplo a seguir mostra a saída do resultado JSON recebida ao usar a ação Adicionar entidade à lista de URLs do detector:

{
 "type": "ADMIN",
 "customer": "customers/<CUSTOMER_ID>",
 "policyQuery": {
   "query": "entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('<ORG_UNIT_ID>'))",
   "orgUnit": "orgUnits/<ORG_UNIT_ID>"
 },
 "setting": {
   "type": "settings/detector.url_list",
   "value": {
     "displayName": "test_url_list_detector",
     "description": "test_url_list_detector desc",
     "urlList": {
       "urls": [
         "[http://example.com](http://example.com)",
         "example.org",
         "bad_entity.com"
       ]
     }
   }
 }
}
Mensagens de saída

A ação Adicionar entidade à lista de URLs do detector pode retornar as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem

Successfully blocked the following URLs using Cloud Identity: ENTITY_IDENTIFIER

A ação foi concluída.
Error executing action "Add Entity To Detector URL List". Reason: ERROR_REASON

A ação falhou.

Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais.

Resultado do script

A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Adicionar entidade à lista de URLs do detector:

Nome do resultado do script Valor
is_success true ou false

Criar política

Use a ação Criar política para criar uma nova entrada de política no Cloud Identity.

Essa ação não é executada em entidades do Google SecOps.

Entradas de ação

A ação Criar política exige os seguintes parâmetros:

Parâmetro Descrição
Policy Entry

Obrigatório.

O objeto JSON que representa a configuração da entrada de política a ser adicionada.

Exemplos de configurações de política

As configurações de exemplo a seguir mostram como estruturar o parâmetro Policy Entry:

Exemplo 1: detector de lista de URLs

{
  "type": "ADMIN",
  "customer": "customers/<CUSTOMER_ID>",
  "policyQuery": {
    "orgUnit": "orgUnits/<ORG_UNIT_ID>",
    "sortOrder": 1
  },
  "setting": {
    "type": "settings/detector.url_list",
    "value": {
      "displayName": "BlockUrlDetector",
      "description": "Blocked urls for security reasons",
      "urlList": {
        "urls": [
          "www.medium.com",
          "medium.com",
          "wikipedia.org"
        ]
      }
    }
  }
}

Exemplo 2: regra de DLP

{
  "type": "ADMIN",
  "customer": "customers/<CUSTOMER_ID>",
  "policyQuery": {
    "query": "entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('<ORG_UNIT_ID>'))",
    "orgUnit": "orgUnits/<ORG_UNIT_ID>",
    "sortOrder": 1
  },
  "setting": {
    "type": "settings/rule.dlp",
    "value": {
      "display_name": "TestRule",
      "description": "GoogleSecOps URL Blocklist Rule. Keeps state of blocked URLs. Manual modification is not advised",
      "triggers": [
        "google.workspace.chrome.url.v1.navigation"
      ],
      "condition": {
        "contentCondition": "url.matches_url_list('policies/<DETECTOR_POLICY_ID>')"
      },
      "action": {
        "chromeAction": {
          "blockContent": {
            "actionParams": {
              "customEndUserMessage": {
                "unsafeHtmlMessageBody": "(EQ)🚫 BlockedAccess denied."
              }
            }
          }
        }
      },
      "state": "ACTIVE"
    }
  }
}

Saídas da ação

A ação Criar política fornece as seguintes saídas:

Tipo de saída da ação Disponibilidade
Anexo do Painel de Casos Indisponível
Link do mural do caso Indisponível
Tabela do painel de casos Indisponível
Tabela de enriquecimento Indisponível
Resultado JSON Disponível
Mensagens de saída Disponível
Resultado do script Disponível
Resultado JSON

O exemplo a seguir mostra a saída do resultado JSON recebida ao usar a ação Criar política:

{
  "type": "ADMIN",
  "customer": "customers/<CUSTOMER_ID>",
  "policyQuery": {
    "query": "entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('<ORG_UNIT_ID>'))",
    "orgUnit": "orgUnits/<ORG_UNIT_ID>"
  },
  "setting": {
    "type": "settings/rule.dlp",
    "value": {
      "display_name": "test_create_rule",
      "triggers": [
        "google.workspace.chrome.file.v1.download"
      ],
      "state": "ACTIVE",
      "action": {
        "chromeAction": {
          "warnUser": {}
        }
      }
    }
  }
}
Mensagens de saída

A ação Criar política pode retornar as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem

Successfully added a new policy in Cloud Identity.

A ação foi concluída.
Error executing action "Create Policy". Reason: ERROR_REASON

A ação falhou.

Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais.

Resultado do script

A tabela a seguir lista o valor da saída do resultado do script ao usar a ação Criar política:

Nome do resultado do script Valor
is_success true ou false

Listar políticas

Use a ação Listar políticas para recuperar uma lista de políticas atuais do Cloud Identity.

Essa ação não é executada em entidades do Google SecOps.

Entradas de ação

A ação List Policies exige os seguintes parâmetros:

Parâmetro Descrição
Organization Unit Name

Obrigatório.

O nome da unidade organizacional em que as políticas serão listadas.

Policy Type Filter

Opcional.

O tipo de política usado para filtrar a lista. Valores possíveis: Admin, System ou Both.

O valor padrão é Both.

Settings Type Filter

Opcional.

O padrão de expressão regular usado para filtrar políticas por tipo de configuração. Esse filtro é aplicado diretamente à solicitação de API.

Settings Display Name Filter

Opcional.

Uma lista separada por vírgulas de nomes de exibição usados para filtrar as configurações de política.

Max Results To Return

Opcional.

O número máximo de resultados a serem retornados para a execução da ação. O valor padrão é 50. O valor máximo é 100.

Saídas da ação

A ação List Policies fornece as seguintes saídas:

Tipo de saída da ação Disponibilidade
Anexo do Painel de Casos Indisponível
Link do mural do caso Indisponível
Tabela do painel de casos Indisponível
Tabela de enriquecimento Indisponível
Resultado JSON Disponível
Mensagens de saída Disponível
Resultado do script Disponível
Resultado JSON

O exemplo a seguir mostra a saída do resultado JSON recebida ao usar a ação List Policies:

[
  {
    "name": "policies/123",
    "customer": "customers/123",
    "type": "ADMIN",
    "policy_query": {
      "query": "entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('12345'))",
      "orgUnit": "orgUnits/12345",
      "sortOrder": 1
    },
    "setting": {
      "type": "settings/rule.dlp",
      "value": {
        "display_name": "Test DLP Rule"
      }
    }
  }
]
Mensagens de saída

A ação List Policies pode retornar as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem

Successfully listed policies based on the provided criteria in Cloud Identity.

No policies found based on the provided criteria in Cloud Identity.

A ação foi concluída.
Error executing action "List Policies". Reason: ERROR_REASON

A ação falhou.

Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais.

Resultado do script

A tabela a seguir lista o valor da saída do resultado do script ao usar a ação List Policies:

Nome do resultado do script Valor
is_success true ou false

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