arrow_back

Explora las decisiones de seguridad con Gemini

Acceder Unirse
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Explora las decisiones de seguridad con Gemini

Lab 45 minutos universal_currency_alt 1 crédito show_chart Introductorio
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Descripción general

Gemini para Google Cloud es un colaborador siempre activo de IA que brinda ayuda a los usuarios de todos los niveles de habilidad cuando la necesitan. En este lab, aprenderás a identificar y corregir los parámetros de configuración de seguridad incorrectos en tu entorno de Google Cloud con las funciones de Gemini de Security Command Center.

Nota: Duet AI ahora se llama Gemini, nuestro modelo de nueva generación. Este lab se actualizó para reflejar este cambio. Cualquier referencia a Duet AI en la interfaz de usuario o la documentación debe considerarse equivalente a Gemini mientras sigues las instrucciones del lab. Nota: Como tecnología en etapa inicial, Gemini puede generar resultados que parecen posibles, pero que no son correctos. Te recomendamos validar todos los resultados de Gemini antes de usarlos. Para obtener más información, consulta Gemini para Google Cloud y la IA responsable.

Objetivos

En este lab, aprenderás a realizar las siguientes tareas:

  • Habilitar Gemini en un proyecto de Google Cloud
  • Implementar cargas de trabajo de ejemplo en un entorno en Google Cloud
  • Identificar parámetros de configuración de seguridad incorrectos con Gemini
  • Corregir parámetros de seguridad incorrectos con Gemini

Situación

A medida que supervisas la infraestructura para encontrar formas de mejorar tu postura de seguridad, Gemini puede ayudarte a identificar cambios en la infraestructura o la configuración que evitarán problemas en el futuro.

En este ejemplo, considera que eres un ingeniero de seguridad en una empresa de comercio electrónico en la que se implementan periódicamente clústeres de Kubernetes administrados. Necesitas una forma de ver si existen parámetros de configuración incorrectos y quieres instrucciones rápidas que te ayuden a corregir esos problemas en tu entorno de nube.

Configuración y requisitos

En cada lab, recibirá un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.

  1. Accede a Qwiklabs desde una ventana de incógnito.

  2. Ten en cuenta el tiempo de acceso del lab (por ejemplo, 1:15:00) y asegúrate de finalizarlo en el plazo asignado.
    No existe una función de pausa. Si lo necesita, puede reiniciar el lab, pero deberá hacerlo desde el comienzo.

  3. Cuando esté listo, haga clic en Comenzar lab.

  4. Anote las credenciales del lab (el nombre de usuario y la contraseña). Las usarás para acceder a la consola de Google Cloud.

  5. Haga clic en Abrir Google Console.

  6. Haga clic en Usar otra cuenta, copie las credenciales para este lab y péguelas en el mensaje emergente que aparece.
    Si usa otras credenciales, se generarán errores o incurrirá en cargos.

  7. Acepta las condiciones y omite la página de recursos de recuperación.

Tarea 1: Habilitar Gemini

Primero habilitarás Gemini en tu proyecto de Google Cloud y configurarás los permisos necesarios para tu cuenta de usuario de Qwiklabs de Google Cloud.

  1. Haz clic en el ícono de Cloud Shell (Ícono de Cloud Shell) en la esquina superior derecha de la barra de herramientas de la consola de Google Cloud.

  2. Para configurar tu ID del proyecto y las variables de entorno de la región, ejecuta los siguientes comandos:

PROJECT_ID=$(gcloud config get-value project) REGION={{{project_0.default_region|lab region}}} echo "PROJECT_ID=${PROJECT_ID}" echo "REGION=${REGION}"
  1. Para almacenar la cuenta de usuario de Google con la que iniciaste sesión en una variable de entorno, ejecuta el siguiente comando:
USER=$(gcloud config get-value account 2> /dev/null) echo "USER=${USER}"
  1. Haz clic en Autorizar cuando se te solicite.

  2. Habilita la API complementaria de Cloud AI para Gemini con el siguiente código:

gcloud services enable cloudaicompanion.googleapis.com --project ${PROJECT_ID}
  1. Para usar Gemini, otorga a tu cuenta de usuario de Qwiklabs de Google Cloud los siguientes roles de IAM:
gcloud projects add-iam-policy-binding ${PROJECT_ID} --member user:${USER} --role=roles/cloudaicompanion.user gcloud projects add-iam-policy-binding ${PROJECT_ID} --member user:${USER} --role=roles/serviceusage.serviceUsageViewer

Agregar estos roles le permite al usuario contar con la asistencia de Gemini.

Haz clic en Revisar mi progreso para verificar la tarea realizada. Habilitar Gemini

Tarea 2: Crear un clúster de GKE y, luego, implementar una app web

Ahora crearás un clúster de Google Kubernetes Engine (GKE) que ejecuta varios microservicios.

  1. Ejecuta el siguiente comando para crear un clúster de GKE con el nombre test:
gcloud container clusters create test --region={{{project_0.default_region|lab region}}} --num-nodes=1

Este proceso puede demorar unos minutos. Cuando termine, deberías ver un resultado similar al siguiente:

Creating cluster test in {{{project_0.default_region|lab region}}}... Cluster is being health-checked (master is healthy)...done. Created [https://container.googleapis.com/v1/projects/agmsb-gke-lab/zones/us-central1/clusters/test]. To inspect the contents of your cluster, go to: https://console.cloud.google.com/kubernetes/workload_/gcloud/us-central1/test?project=agmsb-gke-lab kubeconfig entry generated for test. NAME: test LOCATION: {{{project_0.default_region|lab region}}} MASTER_VERSION: 1.27.3-gke.100 MASTER_IP: 34.66.224.143 MACHINE_TYPE: e2-medium NODE_VERSION: 1.27.3-gke.100 NUM_NODES: 3 STATUS: RUNNING
  1. Ahora clona un repositorio que contenga código para una app web:
git clone https://github.com/GoogleCloudPlatform/microservices-demo && cd microservices-demo
  1. Usa kubectl para implementar un conjunto de microservicios en el clúster de GKE:
kubectl apply -f ./release/kubernetes-manifests.yaml
  1. Después de unos minutos, ejecuta el siguiente comando para obtener la dirección IP pública y acceder a la app web en un navegador:
kubectl get service frontend-external | awk '{print $4}'
  1. Copia la dirección IP del resultado del comando anterior y pégala en una nueva pestaña del navegador.

Deberías ver una app web similar a la siguiente:

App web

Haz clic en Revisar mi progreso para verificar la tarea realizada. Crear un clúster de GKE y, luego, implementar una app web

Tarea 3: Identificar parámetros de configuración de seguridad incorrectos con Gemini

Ahora que tienes un clúster de GKE que ejecuta una app de comercio electrónico, identificarás áreas en las que puedes mejorar tu postura de seguridad con Gemini.

  1. Vuelve a la pestaña de la consola de Google Cloud.

  2. Actualiza la página de la consola de Google Cloud.

  3. Minimiza el panel de Cloud Shell.

  4. Haz clic en el ícono de Gemini (Ícono de Gemini) en la esquina superior derecha de la barra de herramientas de la consola de Google Cloud.

  5. Haz clic en Comenzar a chatear.

  6. Escribe la siguiente instrucción:

What services in Google Cloud can help me identify areas to improve security for a set of microservices running in a GKE cluster?

Gemini debería dar una respuesta similar a la siguiente:

There are a number of services in Google Cloud that can help you identify areas to improve security for a set of microservices running in a GKE cluster. These include:

  • Security Command Center can help you identify and prioritize security risks across your Google Cloud environment, including GKE clusters.
  • Cloud Asset Inventory can help you track and manage your Google Cloud resources, including GKE clusters.
  • Cloud Logging can help you collect and analyze logs from your GKE clusters.
  • Cloud Monitoring can help you monitor the performance and health of your GKE clusters.
These are just a few of the many services in Google Cloud that can help you improve the security of your microservices. By using these services, you can help protect your data from unauthorized access, and you can also help improve your security posture over time.

En esta situación, decides que Security Command Center parece ser el lugar adecuado para comenzar.

  1. Abre el menú de navegación y selecciona Seguridad > Descripción general de riesgos.

Con varias visualizaciones que analizan vulnerabilidades, puedes pedirle a Gemini que te ayude a comprender rápidamente qué se clasifica como una vulnerabilidad en Security Command Center.

  1. Escribe la siguiente instrucción:
How does Security Command Center define a vulnerability?

La respuesta de Gemini debería ser similar a la siguiente:

Security Command Center defines a vulnerability as a flaw or weakness in software programs that an attacker could use to gain access to or otherwise compromise your Google Cloud environment.

Source: https://cloud.google.com/security-command-center/docs/finding-classes
  1. Haz clic en el vínculo de la documentación para diferenciar mejor las clases de hallazgos.

  2. Después de leer sobre ellas, cierra la pestaña y vuelve a la consola de Google Cloud.

  3. Haz clic en Hallazgos en la barra lateral de la consola de Google Cloud.

  4. Para ver los hallazgos de tu clúster de GKE, busca la sección “Filtros rápidos” y selecciona Google container cluster en Tipo de recurso.

Deberías ver varios hallazgos de gravedad media.

  1. Haz clic en el hallazgo Encriptación de secretos de clúster inhabilitada.

En la parte superior de este panel de hallazgos, deberías ver una sección llamada “Resumen generado por IA” con un resumen de Gemini, similar al siguiente:

Security Health Analytics in Security Command Center has identified a MEDIUM severity finding of type CLUSTER_SECRETS_ENCRYPTION_DISABLED in the google.container.Cluster named test...

This finding indicates that the cluster does not have application-layer secrets encryption enabled. This means that sensitive data, such as user-defined secrets and secrets required for the operation of the cluster, such as service account keys, are stored in etcd in plain text. This is a security risk, as an attacker who gains access to etcd could read these secrets.

To fix this finding, you need to enable application-layer secrets encryption for the cluster. You can do this by going to the Google Kubernetes Engine (GKE) console and clicking on the Security tab. Under Application-layer secrets encryption, click on Edit Application-layer Secrets Encryption. Select the Enable Application-layer Secrets Encryption checkbox and choose a database encryption key. Click Save Changes

En este resumen de Gemini, se amplía la breve descripción del hallazgo y se proporciona una descripción más detallada del problema con el almacenamiento de Secrets en texto simple, junto con instrucciones sobre los pasos que puedes seguir para corregir el hallazgo.

  1. Sal de este panel de información.

  2. A continuación, haz clic en el hallazgo Cuenta con privilegios excesivos y ve el resumen proporcionado por Gemini, que es similar al siguiente:

Security Health Analytics in Security Command Center has identified a MEDIUM severity finding of type OVER_PRIVILEGED_ACCOUNT in the google.container.Cluster named test...

The finding is caused by the fact that the GKE node uses the Compute Engine default service account, which has broad access by default and may be over privileged for running your Kubernetes Engine cluster.

This finding poses a risk because the Compute Engine default service account has access to all of the resources in the project, including the GKE cluster. If an attacker were to gain access to the service account, they would be able to access all of the resources in the project...

En este resumen, se proporciona documentación específica de Google sobre cómo corregir el hallazgo con la creación de una cuenta de servicio con privilegios mínimos para usarla con los clústeres de GKE.

  1. Sal de este panel de información.

  2. Por último, haz clic en el hallazgo Redes autorizadas de la instancia principal inhabilitadas. Gemini debería proporcionar una respuesta en el panel, similar a la siguiente:

Security Health Analytics in Security Command Center has identified a MEDIUM severity finding of type MASTER_AUTHORIZED_NETWORKS_DISABLED in the google.container.Cluster named test...

Control plane authorized networks improve security for your container cluster by blocking specified IP addresses from accessing your cluster's control plane.

To fix this finding, go to the Kubernetes cluster and click Edit. The edit button might be disabled if the cluster configuration recently changed. If you aren't able to edit the cluster settings, wait a few minutes and try again. On the Control plane authorized networks drop-down list, select Enabled. Click Add authorized network. Specify the authorized networks you want to use. Click Save....
  1. Sal de este panel de información.

Ahora que comprendes algunos de los parámetros de configuración de seguridad incorrectos de tu entorno, usarás las recomendaciones de Gemini para corregirlos.

Tarea 4: Corregir una configuración incorrecta de seguridad

Ahora que tuviste la oportunidad de revisar varias áreas para comenzar a mejorar la seguridad del clúster de GKE, corregirás el hallazgo "Redes autorizadas de la instancia principal inhabilitadas" con las instrucciones proporcionadas en el resumen de Gemini en Security Command Center.

  1. Abre el menú de navegación y selecciona Kubernetes Engine > Clústeres.

  2. Haz clic en el nombre del clúster que creaste antes ("test").

  3. Desplázate a la sección Herramientas de redes.

  4. Haz clic en el ícono de lápiz junto a Redes autorizadas del plano de control.

  5. Marca la casilla ubicada junto a Habilitar las redes autorizadas del plano de control.

  6. Marca la casilla debajo de Permitir acceso a través de las direcciones IP públicas de Google Cloud.

  7. Haz clic en Guardar cambios.

  8. Haz clic en Clústeres en la barra lateral.

Verás un ícono de rueda giratoria en la sección de Estado, lo que significa que el clúster se está actualizando.

  1. Mientras se realizan las actualizaciones de la política de red para el plano de control, abre Gemini desde la barra de herramientas de la consola de Google Cloud.

  2. Escribe la siguiente instrucción:

How do control plane authorized networks work in GKE?

La respuesta de Gemini debería ser similar a la siguiente:

Control plane authorized networks allow you to restrict access to the control plane of your GKE cluster. By default, the control plane is accessible from any address. However, you can add one or more authorized networks to restrict access to only those networks.

To add an authorized network, go to the Google Kubernetes Engine page in the Google Cloud console. Click the name of the cluster you want to modify. Under Networking, in the Control plane authorized networks field, click edit Edit control plane authorized networks...

La aplicación de la política de plano de control actualizada puede demorar unos minutos.

  1. Cuando veas una marca de verificación verde en la columna Estado junto al clúster, la actualización de la configuración del clúster se habrá realizado correctamente.

Haz clic en Revisar mi progreso para verificar la tarea realizada. Corregir una configuración incorrecta de seguridad

Finalice su lab

Cuando haya completado su lab, haga clic en Finalizar lab. Qwiklabs quitará los recursos que usó y limpiará la cuenta por usted.

Tendrá la oportunidad de calificar su experiencia en el lab. Seleccione la cantidad de estrellas que corresponda, ingrese un comentario y haga clic en Enviar.

La cantidad de estrellas indica lo siguiente:

  • 1 estrella = Muy insatisfecho
  • 2 estrellas = Insatisfecho
  • 3 estrellas = Neutral
  • 4 estrellas = Satisfecho
  • 5 estrellas = Muy satisfecho

Puede cerrar el cuadro de diálogo si no desea proporcionar comentarios.

Para enviar comentarios, sugerencias o correcciones, use la pestaña Asistencia.

Copyright 2024 Google LLC. Todos los derechos reservados. Google y el logotipo de Google son marcas de Google LLC. El resto de los nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que están asociados.