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.
No console do Google Cloud , acesse a página IAM e administrador > Papéis.
Clique em Criar papel.
Insira um Título, uma Descrição e um ID exclusivo para a função.
Defina o Estágio de lançamento do papel como
General Availability.Clique em Adicionar permissões e adicione o seguinte:
API Recommender:
recommender.iamPolicyInsights.getrecommender.iamPolicyInsights.listrecommender.iamPolicyRecommendations.getrecommender.iamPolicyRecommendations.listrecommender.iamPolicyRecommendations.update
API Cloud Resource Manager:
resourcemanager.projects.getresourcemanager.projects.listresourcemanager.projects.getIamPolicyresourcemanager.projects.setIamPolicy
Acesso à localização:
recommender.locations.getrecommender.locations.list
Acesso a outros recursos:
resourcemanager.folders.getresourcemanager.folders.getIamPolicyresourcemanager.folders.setIamPolicyresourcemanager.organizations.getresourcemanager.organizations.getIamPolicyresourcemanager.organizations.setIamPolicy
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.
- No console Google Cloud , acesse IAM e administrador > Contas de serviço.
- Clique em Criar conta de serviço.
- Forneça um nome e um ID e clique em Criar e continuar.
- Em Conceder acesso a essa conta de serviço ao projeto, selecione o papel personalizado do IAM criado na seção anterior.
- Clique em Concluído.
- 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.
- No Google SecOps, acesse Central de conteúdo > Integrações de resposta.
- Pesquise e selecione a integração do Recomendador.
- Cole o e-mail da conta de serviço de destino em
Workload Identity Email. - Clique em Salvar e em Testar. O teste vai falhar.
- 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@...ousoar-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.
- Volte para IAM e administrador > Contas de serviço no console doGoogle Cloud .
- Selecione o nome da conta de serviço de destino que você criou.
- Navegue até a guia Permissões e clique em Conceder acesso.
- No campo Novos principais, cole o endereço de e-mail.
- No campo Selecionar um papel, escolha Criador de token de conta de serviço
(
roles/iam.serviceAccountTokenCreator). - 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.
- No console Google Cloud , acesse IAM e administrador > Contas de serviço.
- Clique em Criar conta de serviço.
- Forneça um nome e um ID e clique em Criar e continuar.
- Em Conceder acesso a essa conta de serviço ao projeto, selecione o papel personalizado do IAM que você criou.
- 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.
- Em IAM e administrador > Contas de serviço, selecione a conta de serviço que você criou.
- Acesse a guia Chaves.
- Clique em Adicionar chave > Criar nova chave.
- Selecione
JSONcomo o tipo de chave e clique em Criar. O download do arquivo JSON é feito no computador. - Copie todo o conteúdo desse arquivo e cole em
User's Service Accountdurante 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 é |
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 é |
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:
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 é |
Recommendation State |
Opcional. Especifica o estado da recomendação a ser retornado. O padrão é Os valores possíveis são:
|
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 é Os valores possíveis são:
|
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 |
|
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:
|
Recommendation State |
Opcional. Especifica o estado para o qual a recomendação vai mudar. O padrão é Os valores possíveis são:
|
Recommendation Result |
Opcional. Especifica o resultado para o qual a recomendação vai mudar. O padrão é Os valores possíveis sã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
[
{
"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.