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 investigativo.
- Definições de política de auditoria: listar 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 do 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 (recomendado): esse método usa tokens de acesso temporários e de curta duração com a identidade temporária de conta de serviço, eliminando a necessidade de armazenar secrets.
Criar uma conta de serviço
Para criar uma conta de serviço para a integração, siga estas etapas:
No console do Google Cloud , acesse IAM e administrador > Contas de serviço e selecione seu projeto.
Clique em Criar conta de serviço.
Insira 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 que você recebeu na seção Criar uma conta de serviço.
No campo Escopos do OAuth, insira a seguinte lista separada por vírgulas dos escopos necessários para o 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.
Agora a conta de serviço 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:
- API SDK Admin (
admin.googleapis.com) - API Cloud Identity (
cloudidentity.googleapis.com)
- API 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 do 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 download do arquivo JSON será feito 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 de administrador 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 para a 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 um novo papel personalizado, clique em Criar papel.
Atribuir a função personalizada a um usuário
Use o procedimento a seguir para atribuir o papel 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 o papel personalizado que você criou.
- Para o papel selecionado, mude o botão para Atribuído.
Configurar credenciais da Identidade da carga de trabalho
Escolha esse 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 de curta duração com a identidade temporária de 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, é preciso conceder à instância do Google SecOps permissão para personificar 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 Hub de conteúdo > Integrações de resposta.
- Selecione a integração que você está configurando e insira o e-mail da 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 deve falhar.
Clique em close_small à direita de Teste e pesquise na mensagem de erro o 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 instância do Google SecOps, autorize-a a acessar os 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 atue em seu nome sem a necessidade de chaves estáticas.
No console do 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 Novos principais 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 requer 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 esse 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. É possível configurar esse parâmetro ou o conteúdo do arquivo JSON da conta de serviço. Para usar esse método para identidade temporária de conta de serviço, é necessário conceder o papel de Criador de Token de Conta de Serviço à identidade da instância do Google SecOps na sua 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.
Se necessário, você pode fazer mudanças depois. Depois de configurar uma instância de integração, é possível usá-la em playbooks. Para mais informações sobre como configurar e oferecer suporte a várias instâncias, consulte Como oferecer suporte a várias instâncias.
Ações
Para mais informações sobre ações, consulte Responder a ações pendentes na sua mesa de trabalho e Executar uma ação manual no seu caso.
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 da ação
Não há parâmetros de entrada necessários para esta 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 Painel de Casos | 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 da política do Cloud Identity.
Essa ação é executada nas seguintes entidades do Google SecOps:
- URL
- Domínio
Entradas da ação
A ação Adicionar entidade à lista de URLs do detector requer 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 para adicionar à lista do detector. |
Domain |
Opcional. Uma lista separada por vírgulas de domínios para adicionar à 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 Painel de Casos | 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 da ação
A ação Criar política requer 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
Os exemplos de configuração 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 Painel de Casos | 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 do Cloud Identity.
Essa ação não é executada em entidades do Google SecOps.
Entradas da ação
A ação Listar políticas requer 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 pelo 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 da 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 Listar políticas fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | 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 Listar políticas:
[
{
"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 Listar políticas 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 Listar políticas:
| 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.