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 | Plataformas | Critérios usados para determinar a importância do recurso |
---|---|---|---|
Projeto | Exclusão |
|
|
Conta de serviço | Exclusão |
|
|
Política de IAM | Mudar |
|
|
Antes de começar
Antes de começar a usar esse recurso, configure o serviço:
- 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.
- 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.