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:
- Crie uma conta de serviço.
- Delegar autoridade em todo o domínio à sua conta de serviço
- Ative as APIs necessárias para seu projeto.
- 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:
No console Google Cloud , acesse IAM e administrador > Contas de serviço e selecione seu projeto.
Clique em Criar conta de serviço.
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
- No Google Admin Console do seu domínio, acesse Menu principal > Segurança > Controle de dados e acesso > Controles de API.
- No painel Delegação em todo o domínio, selecione Gerenciar a delegação em todo o domínio.
- Clique em Adicionar novo.
- No campo ID do cliente, insira o ID do cliente obtido na seção Criar uma conta de serviço.
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.orgunitClique 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
No console do Google Cloud , acesse APIs e serviços.
Clique em Ativar APIs e serviços.
Pesquise e ative as seguintes APIs para seu projeto:
- SDK Admin (
admin.googleapis.com) - API Cloud Identity (
cloudidentity.googleapis.com)
- SDK Admin (
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:
No console Google Cloud , acesse IAM e administrador > Contas de serviço e selecione a conta de serviço que você criou.
Acesse a guia Chaves.
Clique em Adicionar chave.
Selecione Criar nova chave.
Para o tipo de chave, selecione JSON e clique em Criar. O arquivo JSON é baixado no seu computador.
Copie todo o conteúdo desse arquivo e cole em
User's Service Account JSONdurante 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:
- No Google Admin Console, acesse Conta > Funções do administrador.
- Clique em Criar nova função.
- Dê um nome à nova função personalizada e clique em Continuar.
- Na página Selecionar privilégios, acesse a seção de privilégios da API Admin.
- Em Privilégios da API Admin, selecione os seguintes privilégios:
Organization UnitsUsersGroups
- Clique em Continuar.
- 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:
- Para criar um novo usuário, acesse a página Diretório > Usuários.
- Adicione um novo usuário associado à conta de serviço.
- Abra as configurações do usuário recém-criado. A guia da conta de usuário é aberta.
- Clique em Funções e privilégios do administrador.
- Clique em Editar Editar.
- Selecione a função personalizada que você criou.
- 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.
- No Google SecOps, acesse Central de conteúdo > Integrações de resposta.
- Selecione a integração que você está configurando e insira o e-mail da sua conta de serviço no campo
Workload Identity Email. - Insira o e-mail que você quer que a integração represente no campo
Delegated Email. - Clique em Salvar > Testar. O teste vai falhar.
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@...ousoar-python@....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.
No console Google Cloud , acesse IAM e administrador > Contas de serviço.
Selecione a conta de serviço de destino e acesse Permissões > Conceder acesso.
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 |
|---|---|
|
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 |
|---|---|
|
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 |
|---|---|
|
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: O valor padrão é |
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 é |
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 |
|---|---|
|
|
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.