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 de conta de serviço serviço: crie, ative ou desative automaticamente contas de serviço durante os processos de integração e desligamento 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 aos 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 projeto, para fornecer aos analistas um 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 com o 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, conclua as seguintes etapas de pré-requisito:

  1. Criar 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 as etapas abaixo 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 papel personalizado.

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

  4. Defina a Etapa da criação 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 do 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 a essa conta de serviço acesso ao projeto, atribua o papel personalizado que você criou 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 é compatível com 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. É mais seguro, 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ática. Use essa opção 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, é preciso autorizar sua instância do Google SecOps a representar a conta de serviço que você criou.

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

  2. Selecione a integração do 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. O teste deve falhar 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 instância do Google SecOps, autorize-a a acessar os recursos do Google Cloud . Essa etapa permite 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 do 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 que você criou 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 o uso de uma Identidade da carga de trabalho não estiver disponível no seu ambiente, será possível autenticar a integração usando uma chave JSON de conta de serviço. Esse método depende de um arquivo de secret estático e de longa duração para estabelecer a conexão entre a plataforma e seus recursos do Google Cloud .

  1. No console do 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 download do arquivo será feito no seu 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 do 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 do 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 do 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 do 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 do 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 do 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 do 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 da conta do 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 do 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.

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.

Criar função

Criar 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 recém-criado do Identity and Access Management.
Definição de papéis String N/A Sim Especifique o documento de política JSON que será usado como a definição do papel.

Corrida

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

Exemplo de JSON de política de papel

{
   "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)

    • O papel <roleid> do Identity and Access Management foi criado.

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

    • O ID de papel<role_id> fornecido já existe.

  • Se o JSON do papel fornecido não for válido (is_success =false)

    • O documento JSON de definição de papel fornecido <role json> é inválido.

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

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

Geral

Criar a conta de serviço

Criar 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.

Corrida

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 <ID exclusivo>.
  • 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 <ID exclusivo> fornecida já existe.

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

Se houver um erro fatal, um erro do SDK, como credenciais incorretas, falta de 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

Excluir 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 recém-criado do Identity and Access Management.

Corrida

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 papel<role_id> fornecido não existe.

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

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

Geral

Excluir conta de serviço

Excluir 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.

Corrida

Essa ação é executada na entidade Usuário.

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 deve falhar e interromper a execução de um playbook:

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

Geral

Desativar conta de serviço

Desativar 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.

Corrida

Essa ação é executada na entidade Usuário.

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: "A ação não encontrou uma correspondência no Google Cloud IAM para as entidades fornecidas: {0}".format([entity.identifier])

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

Se houver um erro fatal, um erro do SDK, como credenciais incorretas, nenhuma 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 conta de serviço

Ativar 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.

Corrida

Essa ação é executada na entidade Usuário.

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: "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 deve falhar e interromper a execução de um playbook:

Se houver um erro fatal, um erro do SDK, como credenciais incorretas, nenhuma conexão com o servidor, entre outros: "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.

Corrida

Essa ação é executada na entidade Usuário.

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 entidades
Nome do campo de aprimoramento Lógica: quando aplicar
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 for bem-sucedido e pelo menos uma das entidades fornecidas tiver sido enriquecida: "Successfully enriched entities: {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 deve falhar e interromper a execução de um playbook:

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

Geral
Tabela (enriquecimento)

Nome da tabela: tabela de enriquecimento {entity}

Colunas: chave, valor

Entidade

Receber política do 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.

Corrida

Essa ação é executada na entidade Usuário.

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 para as seguintes contas de serviço do Google Cloud : <ID de e-mail 1, ID de e-mail 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 das seguintes Google Cloud contas de serviço: <ID de e-mail 1, ID de e-mail 2...>
  • 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 deve falhar e interromper a execução de um playbook:

Se houver um erro fatal, um erro do SDK, como credenciais incorretas, falta de conexão com o servidor, entre outros: "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 está funcionando nas 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 Especifica qual visualização deve ser usada para retornar informações de papel.
Número máximo de linhas a serem retornadas Inteiro 50 Não Especifique quantos papéis 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 os papéis personalizados definidos para o ID do projeto atual.
Mostrar excluídas Caixa de seleção Desmarcado Não Se ativada, a ação também vai retornar as funções excluídas.

Corrida

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 os papéis forem listados com sucesso(is_success = true): "Os papéis do Identity and Access Management foram buscados com sucesso."

  • Se não houver valores disponíveis(is_success = false): "Nenhum papel foi retornado para os parâmetros de entrada especificados."

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

Se houver um erro fatal, zona inválida, erro do SDK, como credenciais erradas, sem conexão com o servidor, entre outros: "Erro ao executar a ação 'Listar papéis'. 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

Estágio do papel

ETag do papel

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. A ação não está funcionando nas 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 retornado. 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.
Número máximo de linhas a serem retornadas Inteiro 50 Não Especifique quantas funções a ação deve retornar.

Corrida

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 forem listadas (is_success = true):
    "As contas de serviço Google Cloud 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 deve falhar e interromper a execução de um playbook:

Se houver um erro fatal, zona inválida, erro do SDK, como credenciais erradas, sem 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 do Identity and Access Management com os parâmetros fornecidos na página de configuração da integração na página do Google SecOps Content Hub.

Parâmetros

N/A

Corrida

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: "A conexão com o serviço do Identity and Access Management foi estabelecida com os parâmetros fornecidos."

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

  • Se houver um erro crítico, como credenciais incorretas ou perda de conectividade: "Falha ao se conectar ao serviço do Identity and Access Management! O erro é {0}".format(exception.stacktrace)
Geral

Alternar chaves da conta de serviço

Use a ação Alternar chaves da conta de serviço para alternar 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 da ação

A ação Alternar chaves da conta de serviço requer 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 fornecido, a ação vai alternar as 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 Alternar 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 Alternar chaves da conta de serviço:

Nome do resultado do script Valor
is_success true ou false

Definir política do 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. 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.

Corrida

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

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 algumas forem bem-sucedidas (is_success=True):

    • A política do Identity and Access Management foi definida para as seguintes contas de serviço do Google Cloud : <ID de e-mail 1, ...>

  • Se houver falhas:

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

  • Se todas as tentativas falharem:

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

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

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

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

Se houver um erro fatal, um erro do SDK, como credenciais incorretas, falta de 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.