Integrar o Recomendador ao Google SecOps

Versão da integração: 7.0

Este documento explica como integrar o Recomendador ao Google Security Operations.

Antes de começar

Antes de configurar a integração do Recommender na plataforma Google SecOps, verifique se você tem o seguinte:

  • Papel personalizado do Identity and Access Management: um papel que contém as permissões específicas necessárias para visualizar e atualizar recomendações em projetos ou organizações.

  • Método de autenticação: escolha entre o método recomendado de identidade da carga de trabalho (sem chave) ou uma chave JSON da conta de serviço.

  • Raízes de serviço da API: acesso aos endpoints da API Recommender e da API Cloud Resource Manager.

Permissões de papéis personalizados do IAM

Crie um papel personalizado no console Google Cloud e atribua a ele as permissões necessárias para que a integração funcione corretamente.

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

    Acessar "Papéis"

  2. Clique em Criar papel.

  3. Insira um Título, uma Descrição e um ID exclusivo para a função.

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

  5. Clique em Adicionar permissões e adicione o seguinte:

    • API Recommender:

      • recommender.iamPolicyInsights.get
      • recommender.iamPolicyInsights.list
      • recommender.iamPolicyRecommendations.get
      • recommender.iamPolicyRecommendations.list
      • recommender.iamPolicyRecommendations.update
    • API Cloud Resource Manager:

      • resourcemanager.projects.get
      • resourcemanager.projects.list
      • resourcemanager.projects.getIamPolicy
      • resourcemanager.projects.setIamPolicy
    • Acesso à localização:

      • recommender.locations.get
      • recommender.locations.list
    • Acesso a outros recursos:

      • resourcemanager.folders.get
      • resourcemanager.folders.getIamPolicy
      • resourcemanager.folders.setIamPolicy
      • resourcemanager.organizations.get
      • resourcemanager.organizations.getIamPolicy
      • resourcemanager.organizations.setIamPolicy
  6. Clique em Criar.

Configuração da autenticação

O Google SecOps oferece suporte a dois caminhos de autenticação. Configure um dos seguintes métodos:

  • Opção 1: Identidade da carga de trabalho (recomendado): esse é o método recomendado porque oferece uma postura de segurança superior ao eliminar a necessidade de gerenciar e alternar chaves JSON de longa duração.

  • Opção 2: chave JSON da conta de serviço: usa um arquivo de chave JSON padrão para autenticação. Use esse método somente se a identidade da carga de trabalho não estiver disponível no seu ambiente.

Autenticar usando a Identidade da carga de trabalho (recomendado)

Esse método usa a representação de conta de serviço para permitir que a plataforma acesse seus recursos de forma segura.

Crie uma conta de serviço de destino:

Antes que a integração possa acessar seus recursos do Google Cloud , crie uma conta de serviço dedicada no seu projeto e atribua a ela as permissões necessárias.

  1. No console Google Cloud , acesse IAM e administrador > Contas de serviço.
  2. Clique em Criar conta de serviço.
  3. Forneça um nome e um ID e clique em Criar e continuar.
  4. Em Conceder acesso a essa conta de serviço ao projeto, selecione o papel personalizado do IAM criado na seção anterior.
  5. Clique em Concluído.
  6. Copie o endereço de e-mail da conta de serviço.
Identifique a identidade da sua instância do Google SecOps:

Para ativar a representação segura, primeiro identifique a identidade exclusiva da conta de serviço usada pela sua instância específica do Google SecOps.

  1. No Google SecOps, acesse Central de conteúdo > Integrações de resposta.
  2. Pesquise e selecione a integração do Recommender.
  3. Cole o e-mail da conta de serviço de destino em Workload Identity Email.
  4. Clique em Salvar e em Testar. O teste deve falhar.
  5. Clique em close_small à direita de Testar e pesquise a mensagem de erro por um endereço de e-mail que comece com gke-init-python@ ou soar-python@. Copie esse e-mail exclusivo.
Conceda permissões de representação:

A etapa final é conceder à identidade da instância a permissão para agir como sua conta de serviço de destino, permitindo que ela execute ações sem exigir um arquivo de chave estática.

  1. Volte para IAM e administrador > Contas de serviço no console doGoogle Cloud .
  2. Selecione o nome da conta de serviço de destino que você criou.
  3. Navegue até a guia Permissões e clique em Conceder acesso.
  4. No campo Novos principais, cole o endereço de e-mail.
  5. No campo Selecionar um papel, escolha Criador de token da conta de serviço (roles/iam.serviceAccountTokenCreator).
  6. Clique em Salvar. Pode levar alguns minutos para que essa permissão seja propagada antes que o teste de conexão seja concluído.

Autenticar usando uma chave JSON da conta de serviço

Use esse método somente se a Identidade da carga de trabalho não estiver disponível no seu ambiente.

Crie uma conta de serviço:

Para usar a autenticação baseada em chaves, primeiro crie uma conta de serviço no seu projeto doGoogle Cloud para atuar como a identidade da integração.

  1. No console Google Cloud , acesse IAM e administrador > Contas de serviço.
  2. Clique em Criar conta de serviço.
  3. Forneça um nome e um ID e clique em Criar e continuar.
  4. Em Conceder acesso a essa conta de serviço ao projeto, selecione o papel personalizado do IAM que você criou.
  5. Clique em Concluído.
Gere e salve uma chave JSON:

Depois de criar a conta de serviço, gere um arquivo de chave privada JSON que contenha as credenciais necessárias para fazer login no Google SecOps.

  1. Em IAM e administrador > Contas de serviço, selecione a conta de serviço que você criou.
  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 JSON é feito no computador.
  5. Copie todo o conteúdo desse arquivo e cole em User's Service Account durante a configuração da integração.

Parâmetros de integração

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

Parâmetro Descrição
API Root

Obrigatório.

A raiz da API do serviço Recommender.

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

Resource Manager API Root

Obrigatório.

A raiz da API para o serviço Resource Manager usado para gerenciar recursos de projeto e organização.

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

Organization ID

Opcional.

O identificador exclusivo da organização Google Cloud a ser usado com a integração.

Project ID

Opcional.

O ID do projeto Google Cloud a ser usado para recuperar recomendações.

Quota Project ID

Opcional.

O ID do projeto usado para fins de faturamento e cota.

Se nenhum valor for fornecido, o projeto associado às credenciais da conta de serviço será usado.

Workload Identity Email

Opcional.

O endereço de e-mail do cliente da conta de serviço usada para a personificação da Identidade da carga de trabalho.

User's Service Account

Opcional.

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

Verify SSL

Opcional.

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

Ativado por padrão.

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

É possível 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

Aplicar recomendações do IAM

Aplique as recomendações do IAM com base na entrada fornecida.

Essa ação só funciona com as recomendações google.iam.policy.Recommender.

Entidades

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

Entradas de ação

Para configurar a ação, use os seguintes parâmetros:

Parâmetros
IAM Recommendations JSON

Obrigatório.

O resultado JSON da recomendação.

O resultado JSON pode ser fornecido como um marcador de posição das ações Listar recomendações ou Receber recomendação.

Saídas de ação

Tipo de saída da ação
Anexo do Painel de Casos N/A
Link do Painel de Casos N/A
Tabela do painel de casos N/A
Tabela de enriquecimento N/A
Insight de entidade N/A
Insight N/A
Resultado JSON Disponível
Widget OOTB N/A
Resultado do script Disponível
Resultado do script
Nome do resultado do script Valor
is_success Verdadeiro/falso
Resultado JSON
{
  "applied_recommendations": [
    {
      "name": "projects/PROJECT_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/217d3019-bae5-4a52-9968-787fdd546a53",
      "description": "Replace the current role with a smaller role to cover the permissions needed.",
      "lastRefreshTime": "2023-07-28T07:00:00Z",
      "primaryImpact": {
        "category": "SECURITY",
        "securityProjection": {
          "details": {
            "revokedIamPermissionsCount": 610
          }
        }
      },
      "content": {
        "operationGroups": [
          {
            "operations": [
              {
                "action": "add",
                "resourceType": "cloudresourcemanager.googleapis.com/Project",
                "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
                "path": "/iamPolicy/bindings/*/members/-",
                "value": "USER_ID@example.com",
                "pathFilters": {
                  "/iamPolicy/bindings/*/condition/expression": "",
                  "/iamPolicy/bindings/*/role": "roles/compute.instanceAdmin"
                }
              },
              {
                "action": "remove",
                "resourceType": "cloudresourcemanager.googleapis.com/Project",
                "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
                "path": "/iamPolicy/bindings/*/members/*",
                "pathFilters": {
                  "/iamPolicy/bindings/*/condition/expression": "",
                  "/iamPolicy/bindings/*/members/*": "USER_ID@example.com",
                  "/iamPolicy/bindings/*/role": "roles/compute.admin"
                }
              }
            ]
          }
        ],
        "overview": {
          "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
          "member": "user:USER_ID@example.com",
          "removedRole": "roles/compute.admin",
          "addedRoles": [
            "roles/compute.instanceAdmin"
          ],
          "minimumObservationPeriodInDays": "0"
        }
      },
      "stateInfo": {
        "state": "SUCCEEDED",
        "stateMetadata": {
          "applied_by": "bulk_apply_by_automated_script-2023-08-11"
        }
      },
      "etag": "\"892d57ee41baa03e\"",
      "recommenderSubtype": "REPLACE_ROLE",
      "associatedInsights": [
        {
          "insight": "projects/PROJECT_ID/locations/global/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID"
        }
      ],
      "priority": "P4"
    },
    {
      "name": "projects/PROJECT_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID",
      "description": "Replace the current role with a smaller role to cover the permissions needed.",
      "lastRefreshTime": "2023-07-28T07:00:00Z",
      "primaryImpact": {
        "category": "SECURITY",
        "securityProjection": {
          "details": {
            "revokedIamPermissionsCount": 19
          }
        }
      },
      "content": {
        "operationGroups": [
          {
            "operations": [
              {
                "action": "add",
                "resourceType": "cloudresourcemanager.googleapis.com/Project",
                "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
                "path": "/iamPolicy/bindings/*/members/-",
                "value": "user:USER_ID@example.com",
                "pathFilters": {
                  "/iamPolicy/bindings/*/condition/expression": "",
                  "/iamPolicy/bindings/*/role": "roles/storage.objectAdmin"
                }
              },
              {
                "action": "remove",
                "resourceType": "cloudresourcemanager.googleapis.com/Project",
                "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
                "path": "/iamPolicy/bindings/*/members/*",
                "pathFilters": {
                  "/iamPolicy/bindings/*/condition/expression": "",
                  "/iamPolicy/bindings/*/members/*": "user:USER_ID@example.com",
                  "/iamPolicy/bindings/*/role": "roles/storage.admin"
                }
              }
            ]
          }
        ],
        "overview": {
          "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
          "member": "user:USER_ID@example.com",
          "removedRole": "roles/storage.admin",
          "addedRoles": [
            "roles/storage.objectAdmin"
          ],
          "minimumObservationPeriodInDays": "0"
        }
      },
      "stateInfo": {
        "state": "SUCCEEDED",
        "stateMetadata": {
          "applied_by": "bulk_apply_by_automated_script-2023-08-11"
        }
      },
      "etag": "\"af7635ffeb512998\"",
      "recommenderSubtype": "REPLACE_ROLE",
      "associatedInsights": [
        {
          "insight": "projects/PROJECT_ID/locations/global/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID"
        }
      ],
      "priority": "P4"
    }
  ],
  "failed_recommendations": []
}
Painel de casos

A ação fornece as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem
Successfully applied provided IAM recommendations. A ação foi concluída.
Successfully applied provided IAM recommendation, but some of the recommendations were not applied. A ação foi concluída.
No provided IAM recommendations were applied. Falha na recomendação.
Error executing action ACTION_NAME. A ação retornou um erro.

Receber recomendação

Receba uma recomendação específica do serviço Recommender.

Entidades

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

Entradas de ação

Para configurar a ação, use os seguintes parâmetros:

Parâmetros
Recommendation name

Obrigatório.

Especifica o nome da recomendação a ser retornada.

A ação aceita vários valores como uma string separada por vírgulas.

Exemplo da entrada esperada:

    projects/projectname/locations/global/recommenders/google.iam.policy.Recommender/recommendations/0f262740-bf4a-4c3d-9573-0da3345cf3f7
    

Saídas de ação

Tipo de saída da ação
Anexo do Painel de Casos N/A
Link do Painel de Casos N/A
Tabela do painel de casos N/A
Tabela de enriquecimento N/A
Insight de entidade N/A
Insight N/A
Resultado JSON Disponível
Widget OOTB N/A
Resultado do script Disponível
Resultado do script
Nome do resultado do script Valor
is_success Verdadeiro/falso
Resultado JSON
[
  {
    "name": "name",
    "description": "This role has not been used during the observation window.",
    "lastRefreshTime": "2023-07-28T07:00:00Z",
    "primaryImpact": {
      "category": "SECURITY",
      "securityProjection": {
        "details": {
          "revokedIamPermissionsCount": 68
        }
      }
    },
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "remove",
              "resourceType": "cloudresourcemanager.googleapis.com/Project",
              "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
              "path": "/iamPolicy/bindings/*/members/*",
              "pathFilters": {
                "/iamPolicy/bindings/*/condition/expression": "",
                "/iamPolicy/bindings/*/members/*": "serviceAccount:SERVICE_ACCOUNT_ID.iam.gserviceaccount.com",
                "/iamPolicy/bindings/*/role": "roles/monitoring.admin"
              }
            }
          ]
        }
      ],
      "overview": {
        "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
        "member": "serviceAccount:SERVICE_ACCOUNT_ID.iam.gserviceaccount.com",
        "removedRole": "roles/monitoring.admin",
        "minimumObservationPeriodInDays": "0"
      }
    },
    "stateInfo": {
      "state": "ACTIVE"
    },
    "etag": "",
    "recommenderSubtype": "REMOVE_ROLE",
    "associatedInsights": [
      {
        "insight": "projects/PROJECT_ID/locations/global/insightTypes/google.iam.policy.Insight/insights/"
      }
    ],
    "priority": "P4"
  }
]
Painel de casos

A ação fornece as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem
Successfully found recommendation in the Google Cloud Recommender service. A ação foi concluída.
No recommendations were found in the Google Cloud Recommender service. Os dados não estão disponíveis.
Error executing action ACTION_NAME. A ação retornou um erro.

Listar recomendações

Liste as recomendações disponíveis no serviço Recommender.

Entidades

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

Entradas de ação

Para configurar a ação, use os seguintes parâmetros:

Parâmetros
Recommendation Filter

Opcional.

Especifica o filtro para buscar as recomendações.

O parâmetro precisa ser uma string em um dos seguintes formatos:

  • PROJECTS_OR_ORGANIZATIONS/ PROJECT_OR_ORGANIZATION_NAME_OR_ID
  • //cloudresourcemanager.googleapis.com/ PROJECTS_OR_ORGANIZATIONS/ PROJECT_OR_ORGANIZATION_NAME_OR_ID

Se nenhum valor for fornecido, a ação vai buscar o ID do projeto na conta de serviço configurada.

Recommendation Location

Obrigatório.

Especifica o Google Cloud local para buscar recomendações.

O padrão é global.

Recommendation State

Opcional.

Especifica o estado da recomendação a ser retornado.

O padrão é Not Specified.

Os valores possíveis são:

  • Not Specified
  • Active
  • Dismissed
Recommendation Priority

Opcional.

Especifica a prioridade de uma recomendação a ser retornada. É possível especificar vários valores como uma string separada por vírgulas.

Recommender Subtype

Opcional.

Especifica o subtipo de recomendador retornado.

O padrão é Not Specified.

Os valores possíveis são:

  • Not Specified
  • REMOVE_ROLE
  • REPLACE_ROLE
Max Records To Return

Opcional.

Especifica quantos registros serão retornados. Se nenhum valor for fornecido, a ação vai retornar 50 registros por padrão.

Saídas de ação

Tipo de saída da ação
Anexo do Painel de Casos N/A
Link do Painel de Casos N/A
Tabela do painel de casos Disponível
Tabela de enriquecimento N/A
Insight de entidade N/A
Insight N/A
Resultado JSON Disponível
Widget OOTB N/A
Resultado do script Disponível
Resultado do script
Nome do resultado do script Valor
is_success Verdadeiro/falso
Resultado JSON
[
  {
    "name": "name",
    "description": "This role has not been used during the observation window.",
    "lastRefreshTime": "2023-07-27T07:00:00Z",
    "primaryImpact": {
      "category": "SECURITY",
      "securityProjection": {
        "details": {
          "revokedIamPermissionsCount": 68
        }
      }
    },
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "remove",
              "resourceType": "cloudresourcemanager.googleapis.com/Project",
              "resource": "//cloudresourcemanager.googleapis.com/projects",
              "path": "/iamPolicy/bindings/*/members/*",
              "pathFilters": {
                "/iamPolicy/bindings/*/condition/expression": "",
                "/iamPolicy/bindings/*/members/*": "serviceAccount:SERVICE_ACCOUNT_ID",
                "/iamPolicy/bindings/*/role": "roles/monitoring.admin"
              }
            }
          ]
        }
      ],
      "overview": {
        "resource": "//cloudresourcemanager.googleapis.com/",
        "member": "serviceAccount:SERVICE_ACCOUNT_ID",
        "removedRole": "roles/monitoring.admin",
        "minimumObservationPeriodInDays": "0"
      }
    },
    "stateInfo": {
      "state": "ACTIVE"
    },
    "etag": "",
    "recommenderSubtype": "REMOVE_ROLE",
    "associatedInsights": [
      {
        "insight": "projects/i/locations/global/insightTypes/"
      }
    ],
    "priority": "P4"
  },
  {
    "name": "name",
    "description": "This role has not been used during the observation window.",
    "lastRefreshTime": "2023-07-27T07:00:00Z",
    "primaryImpact": {
      "category": "SECURITY",
      "securityProjection": {
        "details": {
          "revokedIamPermissionsCount": 5
        }
      }
    },
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "remove",
              "resourceType": "cloudresourcemanager.googleapis.com/Project",
              "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
              "path": "/iamPolicy/bindings/*/members/*",
              "pathFilters": {
                "/iamPolicy/bindings/*/condition/expression": "",
                "/iamPolicy/bindings/*/members/*": "user:USER_ID@example.com",
                "/iamPolicy/bindings/*/role": "roles/chroniclesm.admin"
              }
            }
          ]
        }
      ],
      "overview": {
        "resource": "//cloudresourcemanager.googleapis.com/projects",
        "member": "user:USER_ID@example.com",
        "removedRole": "roles/chroniclesm.admin",
        "minimumObservationPeriodInDays": "0"
      }
    },
    "stateInfo": {
      "state": "ACTIVE"
    },
    "etag": "",
    "recommenderSubtype": "REMOVE_ROLE",
    "associatedInsights": [
      {
        "insight": "projects"
      }
    ],
    "priority": "P4"
  }
]
Painel de casos

A ação fornece as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem
Successfully found recommendations for the provided criteria in the Google Cloud Recommender service. A ação foi concluída.
No recommendations were found for the provided criteria in the Google Cloud Recommender service. Não há dados disponíveis.
Error executing action ACTION_NAME. A ação retornou um erro.

A ação fornece a seguinte tabela de casos:

Recomendações disponíveis
Colunas
  • Nome
  • Descrição
  • Categoria
  • Subtipo de recomendação
  • Prioridade
  • Estado
  • Hora da última atualização

Ping

Teste a conectividade com o serviço do Recomendador usando os parâmetros fornecidos na página de configuração da integração na guia "Marketplace do Google SecOps".

Entidades

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

Entradas de ação

N/A

Saídas de ação

Tipo de saída da ação
Anexo do Painel de Casos N/A
Link do Painel de Casos N/A
Tabela do painel de casos N/A
Tabela de enriquecimento N/A
Insight de entidade N/A
Insight N/A
Resultado JSON N/A
Widget OOTB N/A
Resultado do script Disponível
Resultado do script
Nome do resultado do script Valor
is_success Verdadeiro/falso
Painel de casos

A ação fornece as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem
Successfully connected to the Google Cloud Recommender service with the provided connection parameters! A ação foi concluída.
Failed to connect to the Google Cloud Recommender service! A ação retornou um erro.

Recomendação de atualização

Atualize a recomendação no serviço Recommender.

Entidades

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

Entradas de ação

Use os seguintes parâmetros para configurar a ação:

Parâmetros
Recommendation name

Obrigatório.

Especifica o nome da recomendação a ser atualizada.

A ação aceita vários valores como uma string separada por vírgulas.

Exemplo de entrada esperada: projects/projectname/locations/global/recommenders/google.iam.policy.Recommender/recommendations/0f262740-bf4a-4c3d-9573-0da3345cf3f7

Recommendation State

Opcional.

Especifica o estado para o qual a recomendação vai mudar.

O padrão é Not Specified.

Os valores possíveis são:

  • Not Specified
  • Claimed
  • Dismissed
Recommendation Result

Opcional.

Especifica o resultado para o qual a recomendação será alterada.

O padrão é Not Specified.

Os valores possíveis são:

  • Not Specified
  • Failed
  • Succeeded

Saídas de ação

Tipo de saída da ação
Anexo do Painel de Casos N/A
Link do Painel de Casos N/A
Tabela do painel de casos N/A
Tabela de enriquecimento N/A
Insight de entidade N/A
Insight N/A
Resultado JSON Disponível
Widget OOTB N/A
Resultado do script Disponível
Resultado do script
Nome do resultado do script Valor
is_success Verdadeiro/falso
Resultado JSON
[
  {
    "name": "name",
    "description": "This role has not been used during the observation window.",
    "lastRefreshTime": "2023-07-28T07:00:00Z",
    "primaryImpact": {
      "category": "SECURITY",
      "securityProjection": {
        "details": {
          "revokedIamPermissionsCount": 68
        }
      }
    },
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "remove",
              "resourceType": "cloudresourcemanager.googleapis.com/Project",
              "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
              "path": "/iamPolicy/bindings/*/members/*",
              "pathFilters": {
                "/iamPolicy/bindings/*/condition/expression": "",
                "/iamPolicy/bindings/*/members/*": "serviceAccount:SERVICE_ACCOUNT_ID.iam.gserviceaccount.com",
                "/iamPolicy/bindings/*/role": "roles/monitoring.admin"
              }
            }
          ]
        }
      ],
      "overview": {
        "resource": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
        "member": "serviceAccount:SERVICE_ACCOUNT_ID.iam.gserviceaccount.com",
        "removedRole": "roles/monitoring.admin",
        "minimumObservationPeriodInDays": "0"
      }
    },
    "stateInfo": {
      "state": "ACTIVE"
    },
    "etag": "",
    "recommenderSubtype": "REMOVE_ROLE",
    "associatedInsights": [
      {
        "insight": "projects/PROJECT_ID/locations/global/insightTypes/google.iam.policy.Insight/insights/"
      }
    ],
    "priority": "P4"
  }
]
Painel de casos

A ação fornece as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem
Successfully updated recommendation in the Google Cloud Recommender service. A ação foi concluída.
No recommendations were found in the Google Cloud Recommender service. Os dados não estão disponíveis.
Error executing action ACTION_NAME. A ação retornou um erro.

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