Integrar o IAM ao Google SecOps

Este documento explica como integrar o Identity and Access Management ao Google Security Operations.

Casos de uso

A integração do IAM é compatível com os seguintes casos de uso:

  • Gerenciamento automatizado do ciclo de vida da conta de serviço: crie, ative ou desative automaticamente contas de serviço durante os processos de integração e desvinculação para garantir que o acesso seja concedido apenas quando necessário.

  • Resposta rápida a incidentes de identidade: exclua ou desative imediatamente contas de serviço e papéis comprometidos durante um incidente de segurança para evitar o acesso não autorizado a recursos da nuvem.

  • Governança e enriquecimento de identidade: enriqueça as entidades de usuário no Google SecOps com metadados detalhados da conta de serviço, como nomes de exibição e IDs de projetos, para fornecer aos analistas contexto imediato durante as investigações.

  • Auditoria e aplicação de políticas: recupere e audite políticas de controle de acesso para garantir que elas estejam alinhadas ao princípio de privilégio mínimo e defina novas políticas de maneira programática para corrigir mudanças não autorizadas.

  • Gerenciamento de controle de acesso baseado em papéis (RBAC): crie e gerencie papéis personalizados do IAM com conjuntos de permissões específicos em toda a organização para manter o controle granular sobre o acesso ao ambiente de nuvem.

Antes de começar

Antes de configurar a integração do IAM no Google SecOps, siga estas etapas de pré-requisito:

  1. Crie um papel personalizado do IAM: defina um papel com as permissões específicas necessárias para gerenciar contas de serviço e papéis.

  2. Crie uma conta de serviço: crie a identidade que a integração usa para realizar ações.

  3. Selecione um método de autenticação: escolha entre a identidade da carga de trabalho recomendada ou uma chave JSON de conta de serviço.

Criar e configurar um papel personalizado do IAM

Para manter o princípio de privilégio mínimo, siga estas etapas para criar um papel personalizado que contenha apenas as permissões específicas necessárias para essa integração:

  1. No console do Google Cloud , acesse IAM e administrador > Papéis.

    Acessar "Papéis"

  2. Clique em addCriar função personalizada.

  3. Forneça um Título, uma Descrição e um ID.

  4. Defina o Estágio de lançamento do papel como General Availability.

  5. Clique em Adicionar permissões e adicione as seguintes permissões específicas:

    • iam.serviceAccounts.list
    • iam.serviceAccounts.create
    • iam.serviceAccounts.get
    • iam.serviceAccounts.getIamPolicy
    • iam.serviceAccounts.setIamPolicy
    • iam.serviceAccounts.disable
    • iam.serviceAccounts.enable
    • iam.serviceAccounts.delete
    • iam.roles.list
    • iam.roles.get
    • iam.roles.create
    • iam.roles.delete
  6. Clique em Criar.

Criar uma conta de serviço

A integração usa uma conta de serviço para autenticar e executar ações do IAM no seu projeto.

Para criar uma conta de serviço, conclua estas etapas:

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

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

  2. Clique em addCriar conta de serviço.

  3. Insira um nome e uma descrição e clique em Criar e continuar.

  4. Na seção Conceder acesso a essa conta de serviço ao projeto, atribua o papel personalizado criado na etapa anterior a essa conta de serviço. Clique em Concluído.

Selecionar e configurar um método de autenticação

O Google SecOps oferece suporte a dois caminhos de autenticação para essa integração:

  • Opção 1: Identidade da carga de trabalho (recomendado): esse método usa tokens de curta duração com a identidade temporária de conta de serviço. Ela é mais segura porque elimina a necessidade de chaves JSON de longa duração.

  • Opção 2: chave JSON da conta de serviço: esse método usa um arquivo de chave estático. Use isso somente se uma Identidade da carga de trabalho não estiver disponível no seu ambiente.

Autenticar usando uma identidade da carga de trabalho (recomendado)

Para usar uma Identidade da carga de trabalho, autorize sua instância do Google SecOps a representar a conta de serviço criada.

  1. No Google SecOps, acesse Central de conteúdo > Integrações de resposta.

  2. Selecione a integração IAM.

  3. Insira o e-mail da sua conta de serviço no campo E-mail da Identidade da carga de trabalho.

  4. Clique em Salvar e em Testar. Espera-se que o teste falhe inicialmente.

  5. Clique em close_small ao lado do teste com falha para ver a mensagem de erro.

  6. Pesquise o endereço de e-mail exclusivo (formatado como gke-init-python@... ou soar-python@...) encontrado perto do final da mensagem de erro. Copie esse endereço.

Conceder permissões de representação

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 criada para essa integração.

  3. Acesse a guia Permissões e clique em Conceder acesso.

  4. Cole o endereço de e-mail exclusivo que você copiou no campo Novos principais.

  5. Atribua o papel Criador de token da conta de serviço (roles/iam.serviceAccountTokenCreator). Clique em Salvar.

Autenticar usando uma chave JSON

Se não for possível usar uma identidade da carga de trabalho no seu ambiente, autentique a integração usando uma chave JSON de conta de serviço. Esse método depende de um arquivo secreto estático e de longa duração para estabelecer a conexão entre a plataforma e seus recursos do Google Cloud .

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

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

  2. Acesse a guia Chaves.

  3. Clique em Adicionar chave > Criar nova chave.

  4. Selecione JSON como o tipo de chave e clique em Criar. O arquivo é baixado no computador.

  5. Copie todo o conteúdo do arquivo JSON.

  6. Ao configurar essa integração na plataforma, cole o conteúdo no campo Conteúdo do arquivo JSON da conta de serviço.

Parâmetros de integração

A integração do IAM requer os seguintes parâmetros:

Parâmetro Descrição
API Root

Opcional.

O URL de base da instância do IAM.

O valor padrão é https://iam.googleapis.com.

Account Type

Opcional.

O tipo da conta Google Cloud .

Esse valor corresponde ao parâmetro type no arquivo JSON de autenticação.

O valor padrão é service_account.

Project ID

Opcional.

O ID do projeto da conta Google Cloud .

Esse valor corresponde ao parâmetro project_id no arquivo JSON de autenticação.

Quota Project ID

Opcional.

O ID do projeto usado para fins de cota e faturamento ao fazer solicitações de API.

Private Key ID

Opcional.

O ID da chave privada da conta Google Cloud .

Esse valor corresponde ao parâmetro private_key_id no arquivo JSON de autenticação.

Private Key

Opcional.

A chave privada da conta Google Cloud .

Esse valor corresponde ao parâmetro private_key no arquivo JSON de autenticação.

Client Email

Opcional.

O e-mail do cliente da conta Google Cloud .

Esse valor corresponde ao parâmetro client_email no arquivo JSON de autenticação.

Client ID

Opcional.

O ID do cliente da conta Google Cloud .

Esse valor corresponde ao parâmetro client_id no arquivo JSON de autenticação.

Auth URI

Opcional.

O URI de autenticação da conta Google Cloud .

Esse valor corresponde ao parâmetro auth_uri no arquivo JSON de autenticação.

O valor padrão é https://accounts.google.com/o/oauth2/auth.

Token URI

Opcional.

O URI do token para a conta Google Cloud .

Esse valor corresponde ao parâmetro token_uri no arquivo JSON de autenticação.

O valor padrão é https://oauth2.googleapis.com/token.

Auth Provider X509 URL

Opcional.

O URL do certificado X.509 do provedor de autenticação.

Esse valor corresponde ao parâmetro auth_provider_x509_cert_url no arquivo JSON de autenticação.

O valor padrão é https://www.googleapis.com/oauth2/v1/certs.

Client X509 URL

Opcional.

O URL do certificado X.509 do cliente.

Esse valor corresponde ao parâmetro client_x509_cert_url no arquivo JSON de autenticação.

Organization ID

Opcional.

O identificador exclusivo da sua organização Google Cloud .

Service Account Json File Content

Opcional.

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

Se esse parâmetro for fornecido, os parâmetros de conexão individuais (como Private Key ID e Private Key) serão ignorados.

Workload Identity Email

Opcional.

O endereço de e-mail associado à conta de serviço da Identidade da carga de trabalho.

Verify SSL

Opcional.

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

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.

Criar função

Crie um papel do Identity and Access Management.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Código do papel String N/A Sim Especifique o ID do papel para o papel do Identity and Access Management recém-criado.
Definição de papel String N/A Sim Especifique o documento de política JSON a ser usado como definição de função.

Executar em

A ação não é executada em entidades.

Exemplo de JSON de política de função

{
   "name": "projects/silver-shift-275007/roles/iam_test_role_api",
   "title": "iam_test_role_api",
   "description": "test role",
   "includedPermissions": [
       "storagetransfer.projects.getServiceAccount"
   ],
   "stage": "GA",
   "etag": "BwXBu1RHiPw="
}

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor
is_success is_success=False
is_success is_success=True
Resultado do JSON
{
   "name": "projects/[PROJECT_ID]/roles/[ROLE_NAME]",
   "title": "[ROLE_TITLE]",
   "description": "[ROLE_DESCRIPTION]",
   "includedPermissions": [
       "storagetransfer.projects.getServiceAccount"
   ],
   "stage": "GA",
   "etag": "[ETAG_VALUE]"
}
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • Se a ação for executada com sucesso:(is_success=true)

    • Identity and Access Management <roleid> foi criado.

  • Se o role_id fornecido já existir(is_success =false)

    • O ID da função<role_id> já existe.

  • Se o JSON da função fornecida não for válido (is_success =false)

    • O documento JSON de definição de função <role json> fornecido não é válido.

A ação precisa falhar e interromper a execução de um playbook:

Se houver um erro fatal ou de SDK, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "Criar função". Motivo: {0}''.format(error.Stacktrace)

Geral

Criar a conta de serviço

Crie uma conta de serviço do Identity and Access Management.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
ID da conta de serviço String String Sim Especifique o ID da conta de serviço a ser criada.
Nome de exibição da conta de serviço String String Não Especifique o nome de exibição da conta de serviço a ser criada.
Descrição da conta de serviço String String Não Especifique a descrição da conta de serviço a ser criada.

Executar em

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor
is_success is_success=False
is_success is_success=True
Resultado do JSON
{
   "name": "projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com",
   "projectId": "PROJECT_ID",
   "uniqueId": "UNIQUE_ID",
   "email": "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com",
   "displayName": "SERVICE_ACCOUNT_DISPLAY_NAME",
   "etag": "ETAG_VALUE",
   "description": "SERVICE_ACCOUNT_DESCRIPTION",
   "oauth2ClientId": "UNIQUE_ID"
}
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • Se a ação for executada com sucesso:(is_success=true)

    • Google Cloud A conta de serviço foi criada com sucesso <unique id>.
  • Se a ação não foi executada porque a conta de serviço fornecida já existe(is_success =false)

    • A conta de serviço <unique id> fornecida já existe.

A ação precisa falhar e interromper a execução de um playbook:

Se houver um erro fatal ou de SDK, como credenciais incorretas, sem conexão com o servidor, entre outros: "Erro ao executar a ação "Criar conta de serviço". Motivo: {0}''.format(error.Stacktrace)

Geral

Excluir papel

Exclui um papel do Identity and Access Management.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Código do papel String N/A Sim Especifique o ID do papel para o papel do Identity and Access Management recém-criado.

Executar em

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor
is_success is_success=False
is_success is_success=True
Resultado do JSON
{
   "name": "projects/[PROJECT_ID]/roles/[ROLE_NAME]",
   "title": "[ROLE_TITLE]",
   "description": "[ROLE_DESCRIPTION]",
   "includedPermissions": [
       "storagetransfer.projects.getServiceAccount"
   ],
   "stage": "GA",
   "etag": "[ETAG_VALUE]",
   "deleted": true
}
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • Se a ação for executada com sucesso:(is_success=true)

    • O Identity and Access Management <roleid> foi excluído.

  • Se o role_id fornecido não existir(is_success =false)

    • O ID de função fornecido<role_id> não existe.

A ação precisa falhar e interromper a execução de um playbook:

Se for um erro fatal ou do SDK, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "Excluir função". Motivo: {0}''.format(error.Stacktrace)

Geral

Excluir conta de serviço

Exclua a conta de serviço. A ação espera o e-mail da conta de serviço do Identity and Access Management como uma entidade de usuário do Google SecOps.

Executar em

Essa ação é executada na entidade "User".

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor
is_success is_success=False
is_success is_success=True
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • se pelo menos uma das entidades fornecidas for excluída: "As seguintes contas de serviço foram excluídas: {0}".format([entity.Identifier]).

  • Se não for possível excluir todas as entidades fornecidas: "Nenhuma conta de serviço foi excluída".

  • Se não for possível encontrar dados no Identity and Access Management para excluir entidades específicas: "A ação não encontrou uma correspondência no Identity and Access Management para as entidades fornecidas: {0}".format([entity.identifier])

A ação precisa falhar e interromper a execução de um playbook:

Se for um erro fatal ou de SDK, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "Excluir conta de serviço". Motivo: {0}''.format(error.Stacktrace)

Geral

Desativar conta de serviço

Desative a conta de serviço. A ação espera o e-mail da conta de serviço do Identity and Access Management como uma entidade de usuário do Google SecOps.

Executar em

Essa ação é executada na entidade "User".

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor
is_success is_success=False
is_success is_success=True
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • se pelo menos uma das entidades fornecidas for bem-sucedida: "As seguintes contas de serviço foram desativadas: {0}".format([entity.Identifier]).

  • Se não for possível desativar todas as entidades fornecidas: "Nenhuma conta de serviço foi desativada".

  • Se não for possível encontrar dados no Google Cloud IAM para desativar entidades específicas: "Não foi possível encontrar uma correspondência no Google Cloud IAM para as entidades fornecidas: {0}".format([entity.identifier])

A ação precisa falhar e interromper a execução de um playbook:

Se houver um erro fatal ou do SDK, como credenciais incorretas, sem conexão com o servidor, entre outros: "Erro ao executar a ação "Desativar conta de serviço". Motivo: {0}''.format(error.Stacktrace)

Geral

Ativar a conta de serviço

Ative a conta de serviço. A ação espera o e-mail da conta de serviço do Identity and Access Management como uma entidade de usuário do Google SecOps.

Executar em

Essa ação é executada na entidade "User".

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor
is_success is_success=False
is_success is_success=True
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • se pelo menos uma das entidades fornecidas for bem-sucedida: "As seguintes contas de serviço foram ativadas: {0}".format([entity.Identifier]).

  • Se não for possível ativar todas as entidades fornecidas: "Nenhuma conta de serviço foi ativada".

  • Se não for possível encontrar dados no Identity and Access Management para ativar entidades específicas: "Não foi possível encontrar uma correspondência no Identity and Access Management para as entidades fornecidas: {0}".format([entity.identifier])

A ação precisa falhar e interromper a execução de um playbook:

Se houver um erro fatal ou de SDK, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "Ativar conta de serviço". Motivo: {0}''.format(error.Stacktrace)

Geral

Enriquecer entidades

Enriqueça as entidades de usuário do Google SecOps com informações de contas de serviço do Identity and Access Management. A ação espera o e-mail da conta de serviço do Identity and Access Management como uma entidade de usuário do Google SecOps.

Executar em

Essa ação é executada na entidade "User".

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor
is_success is_success=False
is_success is_success=True
Resultado do JSON
{
  "name": "projects/[PROJECT_ID]/serviceAccounts/[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
  "projectId": "[PROJECT_ID]",
  "uniqueId": "[UNIQUE_ID]",
  "email": "[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
  "displayName": "[DISPLAY_NAME]",
  "etag": "[ETAG]",
  "description": "[DESCRIPTION]",
  "oauth2ClientId": "[UNIQUE_ID]"
}
Enriquecimento de entidade
Nome do campo de enriquecimento Lógica: quando usar
Google_IAM_name
Google_IAM_project_id ..
Google_IAM_unique_id
Google_IAM_email
Google_IAM_display_name
Google_IAM_description
Google_IAM_oauth2_client_id
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • Se a operação for bem-sucedida e pelo menos uma das entidades fornecidas for enriquecida: "Entidades enriquecidas: {0}".format([entity.Identifier]).
  • Se não for possível enriquecer todas as entidades fornecidas: "Nenhuma entidade foi enriquecida".
  • Se não for possível encontrar dados no Identity and Access Management para enriquecer entidades específicas: "A ação não conseguiu encontrar uma correspondência no Identity and Access Management para enriquecer as entidades fornecidas: {0}".format([entity.identifier])

A ação precisa falhar e interromper a execução de um playbook:

Se houver um erro fatal ou do SDK, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "Enriquecer entidades". Motivo: {0}''.format(error.Stacktrace)

Geral
Tabela (Aprimoramento)

Nome da tabela:tabela de enriquecimento {entity}

Colunas:chave, valor

Entidade

Acessar política de IAM da conta de serviço

Busca a política de controle de acesso da conta de serviço. A ação espera o e-mail da conta de serviço do Identity and Access Management como uma entidade de usuário do Google SecOps. A política pode estar vazia se nenhuma política for atribuída à conta de serviço.

Executar em

Essa ação é executada na entidade "User".

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor
is_success is_success=False
is_success is_success=True
Resultado do JSON
{
   "version": 1,
   "etag": "[ETAG_VALUE]",
   "bindings": [
       {
           "role": "roles/iam.securityReviewer",
           "members": [
               "user:[USER_EMAIL]"
           ]
       }
   ]
}
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • Se a ação for executada com sucesso:(is_success=true)

    • "A política do Identity and Access Management foi buscada com sucesso para as seguintes Google Cloud contas de serviço: <email id1, email id 2...>
  • Se a ação não encontrar informações sobre a entidade (por exemplo, se o e-mail fornecido não existir no Google Identity and Access Management):

    • A ação não conseguiu buscar a política do Identity and Access Management para as seguintes Google Cloud contas de serviço: <email id1, email id2 ..>
  • Se não for possível encontrar a política do Identity and Access Management para todas as entidades fornecidas: "A política do Identity and Access Management não foi encontrada para nenhuma das entidades fornecidas".

A ação precisa falhar e interromper a execução de um playbook:

se erro fatal, erro do SDK, como credenciais erradas, sem conexão com o servidor, outro: "Erro ao executar a ação "Get Service Account IAM Policy". Motivo: {0}''.format(error.Stacktrace)

Geral

Listar papéis

Lista os papéis do Identity and Access Management com base nos critérios de pesquisa especificados. A ação não funciona em entidades do Google SecOps.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Ver DDL Básico Não Especifique qual visualização deve ser usada para retornar informações de função.
Máximo de linhas a serem retornadas Inteiro 50 Não Especifique quantas funções a ação deve retornar.
Listar apenas papéis personalizados do projeto? Caixa de seleção Desmarcado Não Se ativada, a ação vai retornar apenas as funções personalizadas definidas para o ID do projeto atual.
Mostrar excluídos Caixa de seleção Desmarcado Não Se ativada, a ação também vai retornar papéis excluídos.

Executar em

A ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor
is_success is_success=False
is_success is_success=True
Resultado do JSON
{
   "roles": [
       {
           "name": "roles/accessapproval.approver",
           "title": "Access Approval Approver",
           "description": "Ability to view or act on access approval requests and view configuration",
           "stage": "BETA",
           "etag": "[ETAG_VALUE]"
       },
       {
           "name": "roles/accessapproval.configEditor",
           "title": "Access Approval Config Editor",
           "description": "Ability update the Access Approval configuration",
           "stage": "BETA",
           "etag": "[ETAG_VALUE]"
       }
   ]
}
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • Se as funções forem listadas com sucesso(is_success = true): "Funções do Identity and Access Management buscadas com sucesso".

  • Se não houver valores disponíveis(is_success = false): "Nenhuma função foi retornada para os parâmetros de entrada especificados."

A ação precisa falhar e interromper a execução de um playbook:

Se houver um erro fatal, uma zona inválida, um erro de SDK, como credenciais incorretas, nenhuma conexão com o servidor, outro: "Erro ao executar a ação "List Roles". Motivo: {0}''.format(error.Stacktrace)

Geral
Tabela

Nome da tabela:papéis do IAM

Colunas da tabela:

Nome do papel

Título do papel

Descrição

Etapa da função

ETag da função

Permissões do papel

Geral

Listar contas de serviço

Lista as contas de serviço do Identity and Access Management com base nos critérios de pesquisa especificados. Essa ação não funciona em entidades do Google SecOps.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome de exibição da conta de serviço String N/A Não Especifique o nome de exibição da conta de serviço a ser retornada. O parâmetro aceita vários valores como uma string separada por vírgulas.
E-mail da conta de serviço String N/A Não Especifique o e-mail da conta de serviço a ser retornado. O parâmetro aceita vários valores como uma string separada por vírgulas.
Máximo de linhas a serem retornadas Inteiro 50 Não Especifique quantas funções a ação deve retornar.

Executar em

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor
is_success is_success=False
is_success is_success=True
Resultado do JSON
{
  "accounts": [
    {
      "name": "projects/[PROJECT_ID]/serviceAccounts/[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
      "projectId": "[PROJECT_ID]",
      "uniqueId": "[UNIQUE_ID]",
      "email": "[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
      "displayName": "[DISPLAY_NAME]",
      "etag": "[ETAG_VALUE]",
      "description": "[SERVICE_ACCOUNT_DESCRIPTION]",
      "oauth2ClientId": "[UNIQUE_ID]"
    }
  ]
}
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • Se as contas de serviço foram listadas (is_success = true):
    " Google Cloud contas de serviço foram buscadas."
  • Se não houver valores disponíveis(is_success = false): "Nenhuma conta de serviço foi retornada para os parâmetros de entrada especificados."

A ação precisa falhar e interromper a execução de um playbook:

Se houver um erro fatal, uma zona inválida, um erro de SDK, como credenciais incorretas, nenhuma conexão com o servidor, outro: "Erro ao executar a ação "Listar contas de serviço". Motivo: {0}''.format(error.Stacktrace)

Geral
Tabela

Nome da tabela: Google Cloud Service Accounts

Colunas da tabela:

Nome da conta de serviço

ID exclusivo da conta de serviço

E-mail da conta de serviço

Nome de exibição da conta de serviço

Descrição da conta de serviço

ID do cliente OAuth2 da conta de serviço

Geral

Ping

Teste a conectividade com o serviço Identity and Access Management usando os parâmetros fornecidos na página de configuração da integração na guia "Marketplace" do Google Security Operations.

Parâmetros

N/A

Executar em

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor
is_success is_success=False
is_success is_success=True
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • Se for bem-sucedido: "Conexão estabelecida com o serviço do Identity and Access Management usando os parâmetros fornecidos"

A ação precisa falhar e interromper a execução de um playbook:

  • Se houver um erro crítico, como credenciais incorretas ou perda de conectividade: "Não foi possível se conectar ao serviço do Identity and Access Management. Erro: {0}".format(exception.stacktrace)
Geral

Alternar chaves da conta de serviço

Use a ação Fazer rotação das chaves de conta de serviço para revezar as chaves gerenciadas pelo usuário associadas a uma conta de serviço. Durante a rotação, todas as chaves atuais são excluídas e uma nova chave é criada.

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

  • Deployment

  • Username

Entradas de ação

A ação Alternar chaves de contas de serviço exige os seguintes parâmetros:

Parâmetro Descrição
Service Account

Opcional.

Uma lista separada por vírgulas de contas de serviço para as quais as chaves serão alternadas.

Esse parâmetro funciona com entidades. Se fornecida, a ação vai fazer a rotação das chaves dessas contas específicas, além de todas as entidades de conta de serviço identificadas no escopo da ação.

Saídas da ação

A ação Alternar chaves da conta de serviço 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 Fazer rotação das chaves da conta de serviço:

[
    {
       "Entity": "123",
       "EntityResult": {
               "name": "projects/example-project/serviceAccounts/sample-sa@example-project.iam.gserviceaccount.com/keys/b333bbda7826af991a4d4cc4e3f83325103580ca",
               "validAfterTime": "2023-09-12T11:02:31Z",
               "validBeforeTime": "9999-12-31T23:59:59Z",
               "keyAlgorithm": "KEY_ALG_RSA_2048",
               "keyOrigin": "GOOGLE_PROVIDED",
               "keyType": "USER_MANAGED"
        }
    },
    {
       "Entity": "1234",
       "EntityResult": {
               "name": "projects/example-project/serviceAccounts/sample-sa@example-project.iam.gserviceaccount.com/keys/b333bbda7826af991a4d4cc4e3f83325103580ca",
               "validAfterTime": "2023-09-12T11:02:31Z",
               "validBeforeTime": "9999-12-31T23:59:59Z",
               "keyAlgorithm": "KEY_ALG_RSA_2048",
               "keyOrigin": "GOOGLE_PROVIDED",
               "keyType": "USER_MANAGED"
        }
    }
]
Mensagens de saída

A ação Alternar chaves da conta de serviço pode retornar as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem

Successfully rotated keys for service account SERVICE_ACCOUNT_EMAIL in IAM.

The following service accounts were not found in IAM: SERVICE_ACCOUNT_KEYS.

None of the provided service accounts were found in IAM.

A ação foi concluída.
Error executing action "Rotate Service Account Keys". 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 Girar chaves de conta de serviço:

Nome do resultado do script Valor
is_success true ou false

Definir política de IAM da conta de serviço

Define a política de controle de acesso na conta de serviço especificada. A ação espera o e-mail da conta de serviço do Identity and Access Management como uma entidade de conta do Google SecOps. Observação: a política fornecida na ação substitui qualquer política atual.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Política String N/A Sim Especifique o documento de política JSON a ser definido para a conta de serviço.

Executar em

Essa ação é executada na entidade "Account".

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor
is_success is_success=False
is_success is_success=True
Resultado do JSON
{
   "version": 1,
   "etag": "[ETAG_VALUE]",
   "bindings": [
       {
           "role": "roles/iam.securityReviewer",
           "members": [
               "user:[USER_EMAIL]"
           ]
       }
   ]
}
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • Se alguns forem concluídos (is_success=True):

    • A política do Identity and Access Management foi definida para as seguintes contas de serviço Google Cloud : <email id1, ...>

  • Se algumas falharem:

    • A ação não conseguiu definir a política do Identity and Access Management para as seguintes contas de serviço do Google Cloud : <email id1, ....>

  • Se tudo falhar:

    • Nenhuma política do Identity and Access Management da conta de serviço foi definida.

  • Se o JSON da política fornecida não for válido (is_success =false)

    • O documento JSON de política <policy> fornecido não é válido.

A ação precisa falhar e interromper a execução de um playbook:

Se houver um erro fatal ou do SDK, como credenciais incorretas, sem conexão com o servidor, entre outros: "Erro ao executar a ação "Definir política de IAM da conta de serviço". Motivo: {0}''.format(error.Stacktrace)

Geral

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