Integrar o Recomendador ao Google SecOps

Neste documento, explicamos como integrar o Recomendador ao Google Security Operations.

Antes de começar

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

  • Papel personalizado do Identity and Access Management cliente: 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 de 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 do 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 o papel.

  4. Defina a Etapa da criação 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, eliminando 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 com segurança.

Crie uma conta de serviço de destino:

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

  1. No console do Google Cloud , acesse IAM e administrador > Contas de serviço.
  2. Clique em Criar conta de serviço.
  3. Insira 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 Hub 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 deve 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 atuar 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. Acesse a guia Permissões e clique em Conceder acesso.
  4. No campo Novos participantes, 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 bem-sucedido.

Autenticar usando uma chave JSON de 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 chave, primeiro crie uma conta de serviço no projeto doGoogle Cloud para atuar como a identidade da integração.

  1. No console do Google Cloud , acesse IAM e administrador > Contas de serviço.
  2. Clique em Criar conta de serviço.
  3. Insira 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 JSON privada que contenha as credenciais necessárias para o Google SecOps fazer login.

  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 seu 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 Recomendador requer os seguintes parâmetros:

Parâmetro Descrição
API Root

Obrigatório.

A raiz da API do serviço do Recomendador.

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

Resource Manager API Root

Obrigatório.

A raiz da API para o serviço do 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 do Google Cloud a ser usado com a integração.

Project ID

Opcional.

O ID do projeto do 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 identidade temporária 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.

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.

Aplicar recomendações do IAM

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

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

Entidades

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

Entradas da 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": []
}
Mural do caso

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 do Recomendador.

Entidades

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

Entradas da 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 de 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"
  }
]
Mural do caso

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. Não há dados 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 do Recomendador.

Entidades

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

Entradas da 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 local do Google Cloud 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. Vários valores podem ser especificados 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 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"
  }
]
Mural do caso

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 parede 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 Recommender usando os parâmetros fornecidos na página de configuração de integração na página do Google SecOps Content Hub.

Entidades

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

Entradas da 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
Mural do caso

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.

Atualizar recomendação

Atualize a recomendação no serviço do recomendador.

Entidades

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

Entradas da 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 será alterada.

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 deve 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"
  }
]
Mural do caso

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. Não há dados 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.