Cambiar las recomendaciones de riesgo

Las recomendaciones de riesgo de cambios te ayudan a reducir el riesgo de que se produzcan errores de configuración en la infraestructura de la nube. Para ello, marcan de forma inteligente los cambios arriesgados habituales en tus recursos más importantes y te ofrecen recomendaciones para prevenir y mitigar los problemas.

Introducción

Las configuraciones incorrectas son una causa habitual de incidentes en la nube. Pueden deberse a errores humanos o a cambios inesperados en la carga de trabajo, y pueden provocar diversos problemas, como problemas de rendimiento, problemas de fiabilidad e incluso interrupciones. Muchas configuraciones incorrectas pueden pasar desapercibidas al principio, lo que dificulta su localización y resolución.

Las recomendaciones de riesgo de cambio son una nueva familia de recomendaciones y estadísticas de Active Assist dentro del servicio Recommender. Las recomendaciones de riesgo de cambios marcan automáticamente los cambios arriesgados en los recursos de la nube identificados como importantes en función de su uso y otras señales para ayudar a prevenir, detectar y mitigar problemas (por ejemplo, interrupciones del servicio) causados por configuraciones incorrectas de esos recursos de la nube importantes. Por ejemplo, si intentas eliminar un proyecto que se usa mucho o modificar una política de gestión de identidades y accesos que podría ser una dependencia esencial en función de su actividad de uso reciente, las recomendaciones de riesgo de cambio pueden ayudarte a evitar problemas no deseados, ya que te avisan de forma proactiva de los riesgos asociados a un cambio concreto.

Cambiar el ámbito de las recomendaciones de riesgo

Actualmente, las recomendaciones de riesgo de cambio solo se admiten en los recursos y las acciones que se indican en la tabla de abajo.

Recurso Acción Superficies Criterios utilizados para determinar la importancia de los recursos
Proyecto Eliminación
  • Google Cloud consola
  • CLI de gcloud
  • API Recommender
  • Uso del proyecto (llamadas a la API, tráfico de red y uso de servicios de Google Cloud )
  • Facturación
  • Uso en los últimos 30 días
Cuenta de servicio Eliminación
  • Google Cloud consola
  • CLI de gcloud
  • API Recommender
  • Número de autenticaciones
  • Uso en los últimos 90 días
Política de gestión de identidades y accesos Cambiar
  • Google Cloud consola
  • CLI de gcloud
  • API Recommender
  • Número de permisos ejercidos
  • Uso en los últimos 90 días
  • Pertenecer a un proyecto importante

Antes de empezar

Antes de empezar a usar esta función, debes configurar el servicio:

  1. Habilita la API Recommender en un solo proyecto de facturación. Después, puedes usar este mismo proyecto de facturación para obtener recomendaciones y estadísticas de otros proyectos, de toda la organización o de la cuenta de facturación mediante la función billing-project de gcloud o de la API.
  2. Concede permisos a la cuenta de usuario o de servicio que vayas a usar para acceder a esta función.

Permisos

Para ver las recomendaciones de riesgo de cambio, debe tener los permisos específicos del recurso en cuestión.

  • Proyecto

    • recommender.resourcemanagerProjectChangeRiskRecommendations.get
    • recommender.resourcemanagerProjectChangeRiskRecommendations.list
    • recommender.resourcemanagerProjectChangeRiskInsights.get
    • recommender.resourcemanagerProjectChangeRiskInsights.list
  • Cuenta de servicio

    • recommender.iamServiceAccountChangeRiskRecommendations.get
    • recommender.iamServiceAccountChangeRiskRecommendations.list
    • recommender.iamServiceAccountChangeRiskInsights.get
    • recommender.iamServiceAccountChangeRiskInsights.list
  • Política de gestión de identidades y accesos

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

También puedes asignar el rol roles/recommender.viewer para cubrir estos permisos.

Información sobre la respuesta de las recomendaciones o las estadísticas de riesgo de cambios

En la siguiente tabla se describe cada uno de los campos que se muestran en los objetos de recomendación y de estadísticas:

Recomendación

Nombre del campo Tipo Descripción
associatedInsights string Estadística asociada a esta recomendación. projects/[project_number]/locations/global/ insightTypes/google.resourcemanager.project. ChangeRiskInsight/insights/[fingerprint]
asset object Contiene el nombre y el tipo del recurso asociado.
etag string Huella digital de RecommenderConfig. Proporciona un bloqueo optimista al actualizar.
updateTime string Marca de tiempo de la última vez que se actualizó la recomendación. Marca de tiempo en formato RFC 3339 UTC Zulu, con una precisión de nanosegundos. Ejemplo: 2022-01-10T22:47:38.421626Z

Insight

Nombre del campo Tipo Descripción
associatedRecommendations string Recomendación asociada a esta recomendación. projects/[project_number]/locations/global/ recommenders/google.resourcemanager.project. ChangeRiskRecommender/recommendations/ [recommendation_id]
constraint object Contiene la restricción de recomendaciones de riesgo de cambio que se aconseja al usuario que no haga. This project should not be deleted.
importance object Contiene la lista de motivos por los que hemos determinado que este recurso es importante. Por ejemplo, un uso elevado.
risk object Contiene detalles de la evaluación de riesgos. Por ejemplo,los valores de actividad de uso de recursos se usan para determinar la importancia.
updateTime string Marca de tiempo de la última vez que se actualizó la recomendación. Marca de tiempo en formato RFC 3339 UTC Zulu, con una precisión de nanosegundos. Ejemplo: 2022-01-10T22:47:38.421626Z

Ver las recomendaciones de riesgo de cambio

Además del modelo de uso descrito anteriormente, puedes usar el enfoque estándar del servicio Recommender para ver las recomendaciones y las estadísticas de riesgo de cambio de un proyecto, una cuenta de servicio o una política de gestión de identidades y accesos:

  • Google Cloud consola
  • API
  • gcloud

Google Cloud consola

Puedes ver recomendaciones e información valiosa sobre el riesgo de cambios en las propias páginas de producto. Las recomendaciones se activarán automáticamente siempre que tengas los permisos indicados arriba.

Active Assist te avisa de los peligros de eliminar un recurso importante y te indica qué hacer cuando aparece esa advertencia en las siguientes situaciones:

gcloud y API

En las siguientes secciones se muestran los comandos para solicitar recomendaciones e información valiosa sobre el riesgo de cambios a través de gcloud y la API de un proyecto, una cuenta de servicio o una política de gestión de identidades y accesos.

Proyecto

Todos los clientes pueden acceder a las estadísticas y las recomendaciones a través de la Google Cloud consolagcloud o de la API Recommender.

gcloud

Para ver recomendaciones y estadísticas con gcloud, sigue estos pasos. Para obtener más información, consulta Usar la API: Estadísticas y Usar la API: Recomendaciones.

Recomendaciones:

Para enumerar las recomendaciones del proyecto en el que has habilitado la API Recommender, ejecuta el siguiente comando:

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

Haz los cambios siguientes:

  • PROJECT_ID : el ID del proyecto.
Estadísticas:

Se puede usar un conjunto de comandos similar para enumerar las estadísticas:

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

Haz los cambios siguientes:

  • PROJECT_ID : el ID del proyecto.

API

Para ver recomendaciones y estadísticas, puede usar curl para enviar una solicitud a las APIs de Recommender.

Recomendaciones

Para enumerar las recomendaciones del proyecto en el que has habilitado la API Recommender, ejecuta el siguiente 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"

Haz los cambios siguientes:

  • BILLING_PROJECT_ID : el ID de proyecto de facturación.
Estadísticas:

Se puede usar un conjunto de comandos similar para enumerar las estadísticas:

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"

Sustituye lo siguiente: * BILLING_PROJECT_ID : el ID del proyecto de facturación.

Cuenta de servicio

Todos los clientes pueden acceder a las estadísticas y recomendaciones sobre una cuenta de servicio a través de la consola de Google Cloud Google Cloudgcloud o de la API Recommender.

gcloud

Para ver recomendaciones y estadísticas con gcloud, sigue estos pasos. Para obtener más información, consulta Usar la API: Estadísticas y Usar la API: Recomendaciones.

Recomendaciones:

Para ver las recomendaciones de una cuenta de servicio en la que hayas habilitado la API Recommender, ejecuta el siguiente comando:

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

Haz los cambios siguientes:

  • PROJECT_ID : el ID del proyecto.
Estadísticas:

Se puede usar un conjunto de comandos similar para enumerar las estadísticas:

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

Sustituye lo siguiente: * PROJECT_ID : el ID del proyecto.

API

Para ver recomendaciones y estadísticas, puede usar curl para enviar una solicitud a las APIs de Recommender.

Recomendaciones:

Para ver las recomendaciones de una cuenta de servicio en la que hayas habilitado la API Recommender, ejecuta el siguiente 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"

Haz los cambios siguientes:

  • PROJECT_ID : el ID del proyecto.
  • BILLING_PROJECT_ID : el ID de proyecto de facturación.
Estadísticas:

Se puede usar un conjunto de comandos similar para enumerar las estadísticas:

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"

Sustituye lo siguiente: * PROJECT_ID : el ID del proyecto. * BILLING_PROJECT_ID : el ID de proyecto de facturación.

Política de gestión de identidades y accesos

Todos los clientes pueden acceder a las estadísticas y recomendaciones sobre una política de gestión de identidades y accesos a través de la Google Cloud consolagcloud o de la API Recommender.

gcloud

Para ver recomendaciones y estadísticas con gcloud, sigue estos pasos. Para obtener más información, consulta Usar la API: Estadísticas y Usar la API: Recomendaciones.

Recomendaciones:

Para mostrar las recomendaciones de una política de gestión de identidades y accesos en la que hayas habilitado la API Recommender, ejecuta el siguiente comando:

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

Haz los cambios siguientes:

  • PROJECT_ID : el ID del proyecto.
Estadísticas:

Se puede usar un conjunto de comandos similar para enumerar las estadísticas:

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

Sustituye lo siguiente: * PROJECT_ID : el ID del proyecto.

API

Para ver recomendaciones y estadísticas, puede usar curl para enviar una solicitud a las APIs de Recommender.

Recomendaciones:

Para mostrar las recomendaciones de una política de gestión de identidades y accesos en la que hayas habilitado la API Recommender, ejecuta el siguiente 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"

Haz los cambios siguientes:

  • PROJECT_ID : el ID del proyecto.
Estadísticas:

Se puede usar un conjunto de comandos similar para enumerar las estadísticas:

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"

Sustituye lo siguiente: * PROJECT_ID : el ID del proyecto. * BILLING_PROJECT_ID : el ID de proyecto de facturación.

Eliminaciones arriesgadas con la CLI de gcloud

Cuando eliminas recursos mediante la CLI de gcloud, puedes usar la marca oculta opcional --recommend=yes en la pista ALPHA para interrumpir los cambios arriesgados. A continuación se muestran ejemplos de cambios arriesgados admitidos con recomendaciones. Si no se muestra ninguna evaluación de riesgos, se considera que el cambio no es arriesgado.

Eliminación de proyectos

El siguiente comando elimina un proyecto:

  gcloud alpha projects delete PROJECT_ID  --recommend=yes

Verás los siguientes cambios arriesgados admitidos con recomendaciones:

  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

Eliminación de cuentas de servicio

El siguiente comando elimina una cuenta de servicio:

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

Verás los siguientes cambios arriesgados admitidos con recomendaciones:

  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 aparece el siguiente error:

  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}'

Asegúrate de que la configuración del proyecto se haya definido en un proyecto que esté en la lista de permitidos para usar la API Alpha Recommender con el siguiente comando:

  gcloud config set project PROJECT_ID 

Eliminación de vinculaciones de políticas de gestión de identidades y accesos de proyectos

El siguiente comando elimina una vinculación de políticas de gestión de identidades y accesos de un proyecto:

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

Verás los siguientes cambios arriesgados admitidos con recomendaciones:

  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

Comentarios y asistencia

Si tienes algún problema técnico, pregunta o sugerencia, envía un correo a active-assist-feedback@google.com.