Google Cloud Recomendador
Este documento fornece orientações para ajudar você a configurar e integrar o Google Cloud Recommender ao Google Security Operations.
Pré-requisitos
Conclua todas as etapas de pré-requisito antes de configurar a integração.
Criar e configurar o papel do IAM
No console do Google Cloud , acesse a página Papéis do IAM.
Clique em Criar papel para criar um papel personalizado com as permissões necessárias para a integração.
Para uma nova função personalizada, forneça o Título, a Descrição e um ID exclusivo.
Defina o Estágio de lançamento da função como Disponibilidade geral.
Adicione as seguintes permissões ao papel criado:
iam.roles.create
iam.roles.delete
iam.roles.get
iam.roles.list
iam.roles.undelete
iam.roles.update
iam.serviceAccounts.create
iam.serviceAccounts.delete
iam.serviceAccounts.disable
iam.serviceAccounts.enable
iam.serviceAccounts.get
iam.serviceAccounts.getIamPolicy
iam.serviceAccounts.list
iam.serviceAccounts.setIamPolicy
iam.serviceAccounts.undelete
iam.serviceAccounts.update
recommender.iamPolicyInsights.get
recommender.iamPolicyInsights.list
recommender.iamPolicyLateralMovementInsights.get
recommender.iamPolicyLateralMovementInsights.list
recommender.iamPolicyRecommendations.get
recommender.iamPolicyRecommendations.list
recommender.iamPolicyRecommendations.update
recommender.iamServiceAccountInsights.get
recommender.iamServiceAccountInsights.list
recommender.locations.get
recommender.locations.list
resourcemanager.folders.get
resourcemanager.folders.getIamPolicy
resourcemanager.folders.setIamPolicy
resourcemanager.organizations.get
resourcemanager.organizations.getIamPolicy
resourcemanager.organizations.setIamPolicy
resourcemanager.projects.get
resourcemanager.projects.getIamPolicy
resourcemanager.projects.list
resourcemanager.projects.setIamPolicy
securitycenter.assets.list
securitycenter.findings.group
securitycenter.findings.list
securitycenter.findings.listFindingPropertyNames
securitycenter.findings.setMute
securitycenter.findings.setState
securitycenter.sources.get
securitycenter.sources.list
securitycenter.userinterfacemetadata.get
Clique em Criar.
Criar uma conta de serviço
Para criar uma conta de serviço, siga o procedimento de como criar uma conta de serviço.
Depois de criar uma conta de serviço, faça o download dela como um arquivo JSON. Você precisa fornecer o conteúdo de um arquivo JSON baixado ao configurar os parâmetros de integração.
Integrar o Google Cloud Recommender ao Google SecOps
Para instruções detalhadas sobre como configurar uma integração no Google SecOps SOAR, consulte Configurar integrações.
Entradas de integração
Para configurar a integração, use os seguintes parâmetros:
Parâmetros | |
---|---|
API Root |
Obrigatório
A raiz da API do serviço Recommender Google Cloud . O valor padrão é |
Organization ID |
Opcional
O ID da organização que deve ser usado com a integração do recomendador Google Cloud. |
User's Service Account |
Obrigatório
O conteúdo da conta de serviço do Google Cloud Recommender. Forneça todo o conteúdo do arquivo JSON da conta de serviço que você baixou ao criar uma conta de serviço. |
Verify SSL |
Opcional
Quando marcada, a caixa verifica se o certificado SSL para conexão com o servidor do Recomendador Google Cloud é válido. Essa opção vem marcada por padrão. |
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 Google Cloud 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 Google Cloud 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 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 |
|
Ping
Teste a conectividade com o serviço Google Cloud Recommender 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 do recomendador Google Cloud .
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 será alterada. O padrão é Os valores possíveis sã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
[ { "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.