Integrar o Recomendador ao Google SecOps

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 Identity and Access Management acesso: 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 identidade temporária 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 Recomendador.
  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 vai falhar.
  5. Clique em close_small à direita de Teste e procure na mensagem de erro 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 de 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 projetoGoogle 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 representação da identidade da carga de trabalho.

User's Service Account

Opcional.

O conteúdo completo 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.

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.

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 da 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 da 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 da 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 "Google SecOps Marketplace".

Entidades

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

Entradas de ação

N/A

Saídas da 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 vai mudar.

O padrão é Not Specified.

Os valores possíveis são:

  • Not Specified
  • Failed
  • Succeeded

Saídas da 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.