Mudar recomendações de risco

Mudar as recomendações de riscos ajuda a reduzir o risco de configurações incorretas de infraestrutura em nuvem sinalizando de maneira inteligente mudanças arriscadas comuns nos recursos mais importantes e fornecendo recomendações para evitar e mitigar problemas.

Introdução

Configurações incorretas são uma causa comum de incidentes na nuvem. Elas podem ocorrer devido a erros humanos ou mudanças inesperadas na carga de trabalho e levar a uma série de problemas, incluindo problemas de desempenho, de confiabilidade e até interrupções. Muitas configurações incorretas podem passar despercebidas a princípio, dificultando o rastreamento e a resolução.

As recomendações de risco de mudanças são uma nova família de recomendações e insights do Active Assist no serviço Recomendador. As recomendações de mudança de risco sinalizam automaticamente mudanças arriscadas nos recursos da nuvem identificados como importantes com base no uso e em outros sinais. Elas ajudam a evitar, detectar e mitigar problemas (por exemplo, interrupções de serviço) causados por configurações incorretas dos recursos importantes de recursos na nuvem. Por exemplo, ao tentar excluir um projeto muito usado ou modificar uma política do IAM que pode ser uma dependência essencial com base na atividade de uso recente, as recomendações de risco de alterações podem ajudar a evitar problemas não intencionais avisando proativamente sobre os riscos associados a uma determinada mudança.

Alterar escopo das recomendações de risco

No momento, as recomendações de risco de mudança são compatíveis apenas com os recursos e as ações listados na tabela abaixo.

Recurso Ação Plataformass Critérios usados para determinar a importância do recurso
Projeto Exclusão
  • Console do Google Cloud
  • CLI gcloud
  • API Recommender
  • Uso do projeto (chamadas de API, tráfego de rede e uso dos serviços do Google Cloud)
  • Faturamento
  • Uso nos últimos 30 dias
Conta de serviço Exclusão
  • Console do Google Cloud
  • CLI gcloud
  • API Recommender
  • Número de autenticações
  • Uso nos últimos 90 dias
Política de IAM Mudar
  • Console do Google Cloud
  • CLI gcloud
  • API Recommender
  • Número de permissões exercidas
  • Uso nos últimos 90 dias
  • Pertencente a um projeto importante

Antes de começar

Antes de começar a usar esse recurso, configure o serviço:

  1. Ative a API Recommender em um único projeto de faturamento. É possível usar esse mesmo projeto de faturamento para examinar as recomendações e insights de outros projetos, da organização inteira ou da conta de faturamento, usando a funcionalidade do gcloud/API.
  2. Conceda permissões à conta de usuário ou de serviço que será usada para acessar este recurso.

Permissões

Para consultar as recomendações relacionadas a riscos de mudança, você precisa ter as permissões específicas do recurso.

  • Projeto

    • recommender.resourcemanagerProjectChangeRiskRecommendations.get
    • recommender.resourcemanagerProjectChangeRiskRecommendations.list
    • recommender.resourcemanagerProjectChangeRiskInsights.get
    • recommender.resourcemanagerProjectChangeRiskInsights.list
  • Conta de serviço

    • recommender.iamServiceAccountChangeRiskRecommendations.get
    • recommender.iamServiceAccountChangeRiskRecommendations.list
    • recommender.iamServiceAccountChangeRiskInsights.get
    • recommender.iamServiceAccountChangeRiskInsights.list
  • Política de IAM

    • recommender.iamPolicyChangeRiskRecommendations.get
    • recommender.iamPolicyChangeRiskRecommendations.list
    • recommender.iamPolicyChangeRiskInsights.get
    • recommender.iamPolicyChangeRiskInsights.list

Você também pode conceder o papel roles/recommender.viewer para cobrir essas permissões.

Como compreender a resposta para recomendadores/insights de risco de mudança

A tabela a seguir descreve os campos apresentados na recomendação e no objeto de insight:

Recomendação

Nome do campo Tipo Descrição
associatedInsights string Insight associado a esta recomendação. projects/[project_number]/locations/global/ insightTypes/google.resourcemanager.project. ChangeRiskInsight/insights/[fingerprint]
asset object Contém o nome e o tipo do recurso associado.
etag string Impressão digital do RecommenderConfig. Oferece bloqueio otimista ao atualizar.
updateTime string Carimbo de data/hora da última vez em que a recomendação foi atualizada. Um carimbo de data/hora no formato UTC Zulu RFC 3339, medido com a precisão de nanossegundos. Exemplo: 2022-01-10T22:47:38.421626Z.

Insight

Nome do campo Tipo Descrição
associatedRecommendations string Recomendação associada a esta recomendação. projects/[project_number]/locations/global/ recommenders/google.resourcemanager.project. ChangeRiskRecommender/recommendations/ [recommendation_id]
constraint object Contém a restrição de recomendações de risco de alteração que não recomendam ao usuário. This project should not be deleted.
importance object Contém a lista de motivos pelos quais determinamos que esse recurso é importante. Por exemplo, alto uso.
risk object Contém detalhes da avaliação de risco. Por exemplo,os valores da atividade de uso de recursos são usados para determinar a importância.
updateTime string Carimbo de data/hora da última vez em que a recomendação foi atualizada. Um carimbo de data/hora no formato UTC Zulu RFC 3339, medido com a precisão de nanossegundos. Exemplo: 2022-01-10T22:47:38.421626Z.

Como visualizar as recomendações de risco de mudança

Além do modelo de uso discutido acima, é possível usar a abordagem padrão do serviço do recomendador para visualizar as recomendações de risco de alteração e os insights de um projeto, conta de serviço ou política do IAM:

  • Console do Google Cloud
  • API
  • gcloud

Console do Google Cloud

É possível visualizar recomendações de risco de mudança e insights nas próprias páginas de produtos. As recomendações vão ficar ativas automaticamente se você tiver as permissões listadas acima.

O Active Assist avisa você sobre os perigos de excluir um recurso importante e indique o que fazer quando esse aviso aparecer nas seguintes situações:

gcloud e API

As seções a seguir apresentam os comandos para solicitar insights e recomendações de risco de mudança usando gcloud e a API para um projeto, uma conta de serviço ou uma política do IAM.

Projeto

Os insights e as recomendações podem ser acessados no console do Google Cloud, no gcloud ou na API Recommender para todos os clientes.

gcloud

Para visualizar recomendações e insights usando gcloud, siga as etapas abaixo. Para mais informações, consulte Como usar a API - Insights e Como usar a API - Recomendações.

Recomendações:

Para listar recomendações do projeto em que você ativou a API Recommender, execute o seguinte comando:

gcloud recommender recommendations list
--recommender=google.resourcemanager.project.ChangeRiskRecommender
--project=PROJECT_ID  --location=global --format=yaml

Substitua:

  • PROJECT_ID : o ID do projeto.
Insights:

Um conjunto semelhante de comandos pode ser usado para listar insights:

gcloud recommender insights list
--insight-type=google.resourcemanager.project.ChangeRiskInsight
--project=PROJECT_ID  --location=global --format=yaml

Substitua:

  • PROJECT_ID : o ID do projeto.

API

Para visualizar recomendações e insights, use curl para enviar uma solicitação às APIs do recomendador.

Recomendações

Para listar recomendações do projeto em que você ativou a API Recommender, execute o seguinte comando:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "x-goog-user-project: BILLING_PROJECT_ID " "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/global/
recommenders/google.resourcemanager.project.ChangeRiskRecommender/recommendations"

Substitua:

  • BILLING_PROJECT_ID : o ID do projeto de faturamento.
Insights:

Um conjunto semelhante de comandos pode ser usado para listar insights:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "x-goog-user-project: BILLING_PROJECT_ID " "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/global/insightTypes/google.resourcemanager.project.ChangeRiskInsight/insights"

Substitua o seguinte: * BILLING_PROJECT_ID : o ID do projeto de faturamento.

Conta de serviço

Insights e recomendações sobre uma conta de serviço podem ser acessados por meio do console do Google Cloud, gcloud ou da API Recommender para todos os clientes.

gcloud

Para visualizar recomendações e insights usando gcloud, siga as etapas abaixo. Para mais informações, consulte Como usar a API - Insights e Como usar a API - Recomendações.

Recomendações:

Para listar recomendações para uma conta de serviço em que você ativou a API Recommender, execute o seguinte comando:

gcloud recommender recommendations list
--recommender=google.iam.serviceAccount.ChangeRiskRecommender
--project=PROJECT_ID  --location=global --format=yaml

Substitua:

  • PROJECT_ID : o ID do projeto.
Insights:

Um conjunto semelhante de comandos pode ser usado para listar insights:

gcloud recommender insights list
--insight-type=google.iam.serviceAccount.ChangeRiskInsight
--project=PROJECT_ID  --location=global --format=yaml

Substitua o seguinte: + PROJECT_ID : o ID do projeto.

API

Para visualizar recomendações e insights, use curl para enviar uma solicitação às APIs do recomendador.

Recomendações:

Para listar recomendações para uma conta de serviço em que você ativou a API Recommender, execute o seguinte comando:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "x-goog-user-project: BILLING_PROJECT_ID " "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/global/
recommenders/google.iam.serviceAccount.ChangeRiskRecommender/recommendations"

Substitua:

  • PROJECT_ID : o ID do projeto.
  • BILLING_PROJECT_ID : o ID do projeto de faturamento.
Insights:

Um conjunto semelhante de comandos pode ser usado para listar insights:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "x-goog-user-project: BILLING_PROJECT_ID " "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/global/insightTypes/google.iam.serviceAccount.ChangeRiskInsight/insights"

Substitua o seguinte: + PROJECT_ID : o ID do projeto. * BILLING_PROJECT_ID : o ID do projeto de faturamento.

Política de IAM

Insights e recomendações sobre uma política do IAM podem ser acessados pelo console do Google Cloud, gcloud ou da API Recommender para todos os clientes.

gcloud

Para visualizar recomendações e insights usando gcloud, siga as etapas abaixo. Para mais informações, consulte Como usar a API - Insights e Como usar a API - Recomendações.

Recomendações:

Para listar as recomendações de uma política do IAM em que você ativou a API Recommender, execute o seguinte comando:

gcloud recommender recommendations list --recommender=google.iam.policy.ChangeRiskRecommender --project=PROJECT_ID  --location=global --format=yaml

Substitua:

  • PROJECT_ID : o ID do projeto.
Insights:

Um conjunto semelhante de comandos pode ser usado para listar insights:

gcloud recommender insights list --insight-type=google.iam.policy.ChangeRiskInsight --project=PROJECT_ID  --location=global --format=yaml

Substitua o seguinte: + PROJECT_ID : o ID do projeto.

API

Para visualizar recomendações e insights, use curl para enviar uma solicitação às APIs do recomendador.

Recomendações:

Para listar as recomendações de uma política do IAM em que você ativou a API Recommender, execute o seguinte comando:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/global/\recommenders/google.iam.policy.ChangeRiskRecommender/recommendations"

Substitua:

  • PROJECT_ID : o ID do projeto.
Insights:

Um conjunto semelhante de comandos pode ser usado para listar insights:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "x-goog-user-project: BILLING_PROJECT_ID " "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/global/insightTypes/google.iam.policy.ChangeRiskInsight/insights"

Substitua o seguinte: + PROJECT_ID : o ID do projeto. * BILLING_PROJECT_ID : o ID do projeto de faturamento.

Exclusões arriscadas com a gcloud CLI

Ao excluir recursos pela gcloud CLI, use a flag oculta opcional --recommend=yes na faixa ALFA para interromper mudanças arriscadas. Exemplos de mudanças arriscadas compatíveis com recomendações são mostrados abaixo. Se nenhuma avaliação de risco for exibida, a mudança não será considerada arriscada.

Exclusão de Projetos

O comando a seguir exclui um projeto:

  gcloud alpha projects delete PROJECT_ID  --recommend=yes

Você verá as seguintes mudanças arriscadas compatíveis com as recomendações:

  Shutting down this project will immediately:
    - Stop all traffic and billing.
    - Start deleting resources.
    - Schedule the final deletion of the project after 30 days.
    - Block your access to the project.
    - Notify the owner of the project.

  Learn more about the shutdown process at
  https://cloud.google.com/resource-manager/docs/creating-managing-projects#shutting_down_projects

  WARNING: If you shut down this project you risk losing data or interrupting your services. In the last 30 days we observed this project had:
    - It had significant usage, including 9942 API calls.
    - It contains at least 1 highly utilized service account.
    - It included at least 211 resources.

  We recommend verifying this is the correct project to shut down.

  View the full risk assessment at: https://console.cloud.google.com/home/recommendations/view-link/projects/123456/locations/global/recommenders/google.resourcemanager.project.ChangeRiskRecommender/recommendations/reco-id-0000-0000-000000000

  Do you want to continue (Y/n)?  n

Exclusão da conta de serviço

O comando a seguir exclui uma conta de serviço:

  gcloud alpha iam service-accounts delete example@PROJECT_ID .iam.gserviceaccount.com --recommend=yes

Você verá as seguintes mudanças arriscadas compatíveis com as recomendações:

  You are about to delete service account [example@PROJECT_ID .iam.gserviceaccount.com]

  Deleting this service account (SA) will delete all associated key IDs, and will prevent the account from authenticating to any Google Cloud service API.

  You cannot restore or roll back this change easily. We highly recommend disabling the account first, testing for any unexpected impact, and only then deleting.

  WARNING: If you delete this SA you risk interrupting your service, as we observed it was substantially used in the last 90 days.

  We recommend verifying this is the correct account to delete.

  View the full risk assessment at: https://console.cloud.google.com/home/recommendations/view-link/projects/123456/locations/global/recommenders/google.iam.serviceAccount.ChangeRiskRecommender/recommendations/reco-id-0000-0000-000000000

  Do you want to continue (Y/n)?  n

Caso aconteça o seguinte erro:

  ERROR: (gcloud.alpha.iam.service-accounts.delete) NOT_FOUND: Method not found.
  - '@type': type.googleapis.com/google.rpc.DebugInfo
    detail: 'Method ListInsights not found for service recommender.googleapis.com. Method not visible to labels: {PUBLIC}'

Verifique se a configuração do projeto está definida como um projeto na lista de permissões para usar a API Alpha Recommender com o seguinte comando:

  gcloud config set project PROJECT_ID

Exclusão de vinculação da política do IAM do projeto

O comando a seguir exclui uma vinculação de políticas do IAM de projeto:

  gcloud alpha projects remove-iam-policy-binding PROJECT_ID  --member=YOUR_EMAIL@DOMAIN.COM  --role=roles/owner --recommend=yes

Você verá as seguintes mudanças arriscadas compatíveis com as recomendações:

  You are about to delete the role [roles/owner].

  WARNING: If you remove the role [roles/owner], there is a high risk that you might cause interruptions because it was used in the last 90 days.

  We recommend you verify the details and replace them with less privileged roles, if necessary.

  View the full risk assessment at: https://console.cloud.google.com/home/recommendations/view-link/projects/123456/locations/global/recommenders/google.iam.policy.ChangeRiskRecommender/recommendations/reco-id-0000-0000-000000000

  Do you want to continue (Y/n)?  n

Feedback e suporte

Envie um e-mail para active-assist-feedback@google.com em caso de problemas técnicos, perguntas ou feedback.