Recommandations sur les risques liés aux modifications
Les recommandations sur les risques liés aux modifications vous aident à réduire le risque d'erreurs de configuration de l'infrastructure cloud en signalant de manière intelligente les modifications risquées apportées à vos ressources les plus importantes, et en fournissant des recommandations pour éviter et limiter les problèmes.
Introduction
Les erreurs de configuration sont une cause courante d'incidents dans le cloud. Ils peuvent se produire en raison d'erreurs humaines ou de modifications inattendues de la charge de travail et peuvent entraîner divers problèmes en termes de performances et de fiabilité, voire des pannes. De nombreuses erreurs de configuration peuvent passer inaperçues au départ, ce qui les rend difficiles à détecter et à résoudre.
Les recommandations sur les risques liés aux modifications font partie d'une nouvelle famille de recommandations et d'insights Active Assist dans le service Outil de recommandation. Les recommandations sur les risques liés aux modifications signalent automatiquement les modifications risquées pour les ressources cloud identifiées comme importantes en fonction de leur utilisation et d'autres signaux, afin d'éviter, de détecter et de limiter les problèmes (comme les interruptions de service) causées par des erreurs de configuration de ces ressources cloud importantes. Par exemple, si vous essayez de supprimer un projet très utilisé ou de modifier une stratégie IAM susceptible de constituer une dépendance essentielle au regard de son utilisation récente, les recommandations sur les risques liés aux modifications peuvent vous aider à éviter des problèmes inattendus en vous avertissant de manière proactive sur les risques associés à une modification donnée.
Champ d'application des recommandations sur les risques liés aux modifications
Les recommandations sur les risques liés aux modifications ne sont actuellement disponibles que pour les ressources et les actions recensées dans le tableau ci-dessous.
Ressource | Action | Plates-formes | Critères utilisés pour déterminer l'importance des ressources |
---|---|---|---|
Projet | Suppression |
|
|
Compte de service | Suppression |
|
|
Règlement IAM | Modifier |
|
|
Avant de commencer
Avant de commencer à utiliser cette fonctionnalité, vous devez configurer le service :
- Activez l'API Recommender sur un seul projet de facturation. Vous pouvez ensuite utiliser ce même projet de facturation pour examiner des recommandations et des insights pour d'autres projets, pour l'ensemble de l'organisation ou pour le compte de facturation, à l'aide de la fonctionnalité facturation-projet de gcloud/API.
- Accordez des autorisations à l'utilisateur ou au compte de service que vous utiliserez pour accéder à cette fonctionnalité.
Autorisations
Pour afficher les recommandations sur les risques liés aux modifications, vous devez disposer des autorisations spécifiques associées à la ressource concernée.
Projet
recommender.resourcemanagerProjectChangeRiskRecommendations.get
recommender.resourcemanagerProjectChangeRiskRecommendations.list
recommender.resourcemanagerProjectChangeRiskInsights.get
recommender.resourcemanagerProjectChangeRiskInsights.list
Compte de service
recommender.iamServiceAccountChangeRiskRecommendations.get
recommender.iamServiceAccountChangeRiskRecommendations.list
recommender.iamServiceAccountChangeRiskInsights.get
recommender.iamServiceAccountChangeRiskInsights.list
Stratégie IAM
recommender.iamPolicyChangeRiskRecommendations.get
recommender.iamPolicyChangeRiskRecommendations.list
recommender.iamPolicyChangeRiskInsights.get
recommender.iamPolicyChangeRiskInsights.list
Vous pouvez également attribuer le rôle roles/recommender.viewer pour couvrir ces autorisations.
Comprendre la réponse des recommandations et insights sur les risques liés aux modifications
Le tableau suivant fournit une description des champs présentés dans l'objet de recommandation et d'insight :
Recommandation
Field name | Type | Description |
---|---|---|
associatedInsights
|
string
|
Insights associés à cette recommandation.
projects/[project_number]/locations/global/
insightTypes/google.resourcemanager.project.
ChangeRiskInsight/insights/[fingerprint]
|
asset
|
object
|
Contient le nom de l'élément et le type d'élément de la ressource associée. |
etag
|
string
|
Empreinte de RecommenderConfig. Fournit un verrouillage optimiste lors de la mise à jour. |
updateTime
|
string
|
Horodatage de la dernière mise à jour de la recommandation. Horodatage au format RFC 3339 UTC Zulu, précis à la nanoseconde près.
Exemple : 2022-01-10T22:47:38.421626Z .
|
Insight
Field name | Type | Description |
---|---|---|
associatedRecommendations
|
string
|
Recommandation associée à cette recommandation.
projects/[project_number]/locations/global/
recommenders/google.resourcemanager.project.
ChangeRiskRecommender/recommendations/
[recommendation_id]
|
constraint
|
object
|
Contient la contrainte des recommandations sur les risques liés aux modifications que l'utilisateur doit éviter.
This project should not be deleted.
|
importance
|
object
|
Contient la liste des raisons pour lesquelles nous avons déterminé que cette ressource est importante. Par exemple, une utilisation intensive. |
risk
|
object
|
Contient des informations sur l'évaluation des risques. Par exemple, des valeurs d'activité relatives à l'utilisation des ressources sont utilisées pour déterminer l'importance. |
updateTime
|
string
|
Horodatage de la dernière mise à jour de la recommandation.
Horodatage au format RFC 3339 UTC Zulu, précis à la nanoseconde près. Exemple : 2022-01-10T22:47:38.421626Z .
|
Afficher les recommandations sur les risques liés aux modifications
En plus du modèle d'utilisation décrit ci-dessus, vous pouvez utiliser l'approche standard du service de recommandation pour afficher les recommandations et les insights sur les risques liés aux modifications pour un projet, un compte de service ou une stratégie IAM :
- Console Google Cloud
- API
- gcloud
Console Google Cloud
Vous pouvez consulter des recommandations et des insights sur les risques liés aux modifications sur les pages de produit elles-mêmes. Les recommandations seront actives automatiquement tant que vous disposerez des autorisations indiquées ci-dessus.
Active Assist vous avertit des risques de suppression d'une ressource importante et vous indique ce que vous devez faire lorsque cet avertissement s'affiche dans les situations suivantes :
gcloud et API
Les sections suivantes présentent les commandes permettant de demander des recommandations et des insights sur les risques liés aux modifications via gcloud
et l'API pour un projet, un compte de service ou une stratégie IAM.
Projet
Les insights et les recommandations sont accessibles via la console Google Cloud, gcloud
ou l'API Recommender pour tous les clients.
gcloud
Pour afficher les recommandations et les insights à l'aide de gcloud
, procédez comme indiqué ci-dessous.
Pour en savoir plus, consultez les pages Utiliser l'API – Insights et Utiliser l'API – Recommandations.
Recommandations :
Pour répertorier les recommandations pour le projet dans lequel vous avez activé l'API Recommender, exécutez la commande suivante :
gcloud recommender recommendations list
--recommender=google.resourcemanager.project.ChangeRiskRecommender
--project=PROJECT_ID --location=global --format=yaml
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet
Insights :
Un ensemble de commandes semblable peut être utilisé pour recenser des insights :
gcloud recommender insights list
--insight-type=google.resourcemanager.project.ChangeRiskInsight
--project=PROJECT_ID --location=global --format=yaml
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet
API
Pour afficher les recommandations et les insights, vous pouvez utiliser curl
pour envoyer une requête aux API de l'outil de recommandation.
Recommandations
Pour répertorier les recommandations pour le projet dans lequel vous avez activé l'API Recommender, exécutez la commande suivante :
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"
Remplacez les éléments suivants :
BILLING_PROJECT_ID
: ID du projet de facturation.
Insights :
Un ensemble de commandes semblable peut être utilisé pour recenser des 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"
Remplacez l'élément suivant : * BILLING_PROJECT_ID
: ID du projet de facturation.
Compte de service
Les insights et les recommandations concernant un compte de service sont accessibles via la console Google Cloud, gcloud
ou l'API Recommender pour tous les clients.
gcloud
Pour afficher les recommandations et les insights à l'aide de gcloud
, procédez comme indiqué ci-dessous.
Pour en savoir plus, consultez les pages Utiliser l'API – Insights et Utiliser l'API – Recommandations.
Recommandations :
Pour recenser les recommandations pour un compte de service sur lequel vous avez activé l'API Recommender, exécutez la commande suivante :
gcloud recommender recommendations list
--recommender=google.iam.serviceAccount.ChangeRiskRecommender
--project=PROJECT_ID --location=global --format=yaml
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet
Insights :
Un ensemble de commandes semblable peut être utilisé pour recenser des insights :
gcloud recommender insights list
--insight-type=google.iam.serviceAccount.ChangeRiskInsight
--project=PROJECT_ID --location=global --format=yaml
Remplacez les éléments suivants : * PROJECT_ID
: ID du projet.
API
Pour afficher les recommandations et les insights, vous pouvez utiliser curl
pour envoyer une requête aux API de l'outil de recommandation.
Recommandations :
Pour recenser les recommandations pour un compte de service sur lequel vous avez activé l'API Recommender, exécutez la commande suivante :
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"
Remplacez les éléments suivants :
PROJECT_ID
: ID du projetBILLING_PROJECT_ID
: ID du projet de facturation.
Insights :
Un ensemble de commandes semblable peut être utilisé pour recenser des 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"
Remplacez les éléments suivants : * PROJECT_ID
: ID du projet.
* BILLING_PROJECT_ID
: ID du projet de facturation.
Stratégie IAM
Les insights et les recommandations concernant une stratégie IAM sont accessibles via la console Google Cloud, gcloud
ou l'API Recommender pour tous les clients.
gcloud
Pour afficher les recommandations et les insights à l'aide de gcloud
, procédez comme indiqué ci-dessous.
Pour en savoir plus, consultez les pages Utiliser l'API – Insights et Utiliser l'API – Recommandations.
Recommandations :
Pour recenser les recommandations d'une stratégie IAM sur laquelle vous avez activé l'API Recommender, exécutez la commande suivante :
gcloud recommender recommendations list --recommender=google.iam.policy.ChangeRiskRecommender --project=PROJECT_ID --location=global --format=yaml
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet
Insights :
Un ensemble de commandes semblable peut être utilisé pour recenser des insights :
gcloud recommender insights list --insight-type=google.iam.policy.ChangeRiskInsight --project=PROJECT_ID --location=global --format=yaml
Remplacez les éléments suivants : * PROJECT_ID
: ID du projet.
API
Pour afficher les recommandations et les insights, vous pouvez utiliser curl
pour envoyer une requête aux API de l'outil de recommandation.
Recommandations :
Pour recenser les recommandations d'une stratégie IAM sur laquelle vous avez activé l'API Recommender, exécutez la commande suivante :
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"
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet
Insights :
Un ensemble de commandes semblable peut être utilisé pour recenser des 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"
Remplacez les éléments suivants : * PROJECT_ID
: ID du projet.
* BILLING_PROJECT_ID
: ID du projet de facturation.
Suppressions risquées avec gcloud CLI
Lorsque vous supprimez des ressources via gcloud CLI, vous pouvez utiliser l'option cachée facultative --recommend=yes
dans la version ALPHA pour interrompre les modifications risquées. Des exemples de modifications risquées disponibles avec les recommandations sont présentés ci-dessous. Si aucune évaluation des risques n'est affichée, la modification est considérée comme risquée.
Supprimer le projet
La commande suivante permet de supprimer un projet :
gcloud alpha projects delete PROJECT_ID --recommend=yes
Vous trouverez ci-dessous les modifications risquées disponibles avec les recommandations :
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
Suppression d'un compte de service
La commande suivante permet de supprimer un compte de service :
gcloud alpha iam service-accounts delete example@PROJECT_ID .iam.gserviceaccount.com --recommend=yes
Vous trouverez ci-dessous les modifications risquées disponibles avec les recommandations :
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
Si l'erreur suivante s'affiche :
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}'
Assurez-vous que la configuration du projet est définie sur un projet autorisé pour l'utilisation de l'API Alpha Recommender à l'aide de la commande suivante :
gcloud config set project PROJECT_ID
Suppression d'une liaison de stratégie IAM d'un projet
La commande suivante permet de supprimer une liaison de stratégie IAM d'un projet :
gcloud alpha projects remove-iam-policy-binding PROJECT_ID --member=YOUR_EMAIL@DOMAIN.COM --role=roles/owner --recommend=yes
Vous trouverez ci-dessous les modifications risquées disponibles avec les recommandations :
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
Commentaires et assistance
Envoyez un e-mail à l'adresse active-assistance-feedback@google.com en cas de problème technique, de questions ou de commentaires.