arrow_back

Configura los permisos de IAM con gcloud

Acceder Unirse
Pon a prueba tus conocimientos y compártelos con nuestra comunidad
done
Obtén acceso a más de 700 labs prácticos, insignias de habilidad y cursos

Configura los permisos de IAM con gcloud

Lab 1 hora 30 minutos universal_currency_alt 1 crédito show_chart Introductorio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Pon a prueba tus conocimientos y compártelos con nuestra comunidad
done
Obtén acceso a más de 700 labs prácticos, insignias de habilidad y cursos

GSP647

Labs de autoaprendizaje de Google Cloud

Descripción general

En este lab se explican las tres áreas comunes que debes entender en relación con la IAM y gcloud:

  • la configuración del entorno de gcloud
  • el uso de varios parámetros de configuración de gcloud
  • el uso de las cuentas de servicio

En este lab, se usa la herramienta de gcloud CLI para establecer y configurar las funciones de comando de Cloud Identity and Access Management (IAM).

Qué aprenderás

En este lab, realizarás las siguientes actividades:

  • Revisar IAM y usar el cliente de gcloud
  • Crear y cambiar entre varios parámetros de configuración de IAM
  • Identificar y asignar permisos de IAM correctos
  • Crear y usar una cuenta de servicio

Iniciando entorno

Empiezas con dos cuentas de usuario y dos proyectos;

  • user1 es el “propietario” de ambos proyectos.
  • user2 es el “visualizador” de solo el primer proyecto.

Hay una máquina virtual (VM) de Linux en ejecución en el primer proyecto.

Ilustración del entorno inicial

¿Qué es IAM?

Google Cloud ofrece Cloud Identity and Access Management (IAM), que te permite administrar el control de acceso definiendo quién (identidad) tiene qué acceso (rol) a qué recurso.

En IAM, el permiso para acceder a un recurso no se otorga directamente al usuario final. En su lugar, los permisos se agrupan en roles y los roles se otorgan a los miembros autenticados. (Antes, IAM se refería a las principales como miembros. Algunas APIs aún usan este término).

Identidades

En Cloud IAM, les otorgas el acceso a las cuentas principales. Las cuentas principales se pueden clasificar en los siguientes tipos:

  • Cuenta de Google
  • Cuenta de servicio
  • Grupo de Google
  • Cuenta de Google Workspace
  • Dominio de Cloud Identity
  • Todos los usuarios autenticados
  • Todos los usuarios

Obtén más información sobre estos tipos de identidad en la Guía de conceptos relacionados con la identidad.

En este lab, usas cuentas de Google, cuentas de servicio y grupos de dominio de Cloud Identity.

Roles

Un rol es un conjunto de permisos. No puedes asignar un permiso al usuario directamente; en cambio, le concedes un rol. Cuando otorgas un rol a un usuario, le otorgas todos los permisos que contiene ese rol.

Obtén más información sobre los roles en la Guía de los roles.

¿Qué es gcloud?

La gcloud CLI forma parte del SDK de Cloud. Debes descargar el SDK en tu sistema, instalarlo y, luego, inicializarlo para poder usar la herramienta de línea de comandos de gcloud. Puedes usar esta herramienta para realizar varias tareas comunes en la plataforma, ya sea desde la línea de comandos o con secuencias de comandos y otras automatizaciones.

Obtén más información sobre gcloud en la Guía con la descripción general de gcloud CLI.

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.

Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.

Para completar este lab, necesitarás lo siguiente:

  • Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
Nota: Usa una ventana de navegador privada o de Incógnito para ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Nota: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses en este lab para evitar cargos adicionales en tu cuenta. Nota: En este lab, ingresa a la cuenta con el nombre de usuario 1.

Cómo iniciar tu lab y acceder a la consola de Google Cloud

  1. Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:

    • El botón Abrir la consola de Google Cloud
    • El tiempo restante
    • Las credenciales temporales que debe usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).

    El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
  3. De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.

    {{{user_0.username | "Username"}}}

    También puedes encontrar el nombre de usuario en el panel Detalles del lab.

  4. Haz clic en Siguiente.

  5. Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.

    {{{user_0.password | "Password"}}}

    También puedes encontrar la contraseña en el panel Detalles del lab.

  6. Haz clic en Siguiente.

    Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud. Nota: Usar tu propia Cuenta de Google podría generar cargos adicionales.
  7. Haga clic para avanzar por las páginas siguientes:

    • Acepta los Términos y Condiciones.
    • No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No te registres para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.

Nota: Para ver un menú con una lista de productos y servicios de Google Cloud, haz clic en el menú de navegación que se encuentra en la parte superior izquierda. Ícono del menú de navegación

Tarea 1: Configura el entorno de gcloud

Este lab ya tiene una instancia de Compute Engine llamada centos-clean que simula un entorno en el que no está instalado gcloud. Te conectas a esta instancia con la consola de Google Cloud.

  1. Para abrir la lista de instancias de procesamiento, dirígete a menú de navegación > Compute Engine > instancias de VM.

  2. En la línea con la instancia de procesamiento llamada centos-clean, haz clic en SSH.

Nota: Sobre las instancias de Compute Engine: hay tipos de instancias de Windows y Linux. En este lab, usas el tipo de instancia de Linux. Te puedes conectar a las instancias de Linux de manera sencilla con el cliente de Secure Shell (SSH) en el navegador web.

Estás conectado automáticamente a la instancia. Google Cloud administra las claves de autenticación por ti, las mantiene seguras y disponibles solo para quienes tengan acceso.
  1. Primera prueba, confirma que gcloud está instalado de manera correcta revisando la versión. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud --version

Crea una nueva instancia y actualiza la zona predeterminada

Después de verificar que la herramienta de línea de comandos de gcloud esté instalada, haz algunos cambios con la creación de una instancia de procesamiento.

  1. Primero, autentica en gcloud. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud auth login

Presiona INTRO cuando veas la pregunta ¿Quieres continuar (sí o no)?

  1. Navega al vínculo que se muestra en una pestaña nueva.

  2. Haz clic en tu nombre de usuario activo () y haz clic en Permitir.

  3. Cuando veas el mensaje Escribe el siguiente código de verificación en gcloud CLI en la máquina a la que deseas acceder, haz clic en el botón copiar y, luego, vuelve a la sesión de SSH y pega el código en el mensaje Ingresa el código de autorización:.

  4. En la sesión de SSH, establece la región y zona:

gcloud config set compute/region {{{project_0.default_region_1 | "Region1"}}} gcloud config set compute/zone {{{project_0.default_zone_1 | "Zone1"}}}
  1. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud compute instances create lab-1 --zone {{{project_0.default_zone_1 | "Zone1"}}} --machine-type=e2-standard-2

Si configuraste todo de la manera correcta, el comando crea una instancia.

Pero ¿de qué tamaño? ¿Y dónde? ¿Qué imagen usa?

Hay varios parámetros de configuración predeterminados que usa el servicio. Algunas se pueden controlar en la configuración de gcloud. Por ejemplo, la ubicación de la instancia está controlada por la configuración de la zona.

Crear una instancia con el nombre lab-1 en el Proyecto 1
  1. Revisa tu configuración actual de gcloud. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud config list

Ahora ves una sección de procesamiento, una sección de núcleo y una configuración activa. Puedes cambiar todas estas secciones, pero en este lab solo cambiarás la zona. Mira la zona en la que se creó tu VM.

  1. Ahora, enumera todas las zonas disponibles para su uso ejecutando el código a continuación en la sesión de SSH:
gcloud compute zones list
  1. Identifica una de las otras zonas en la misma región que ti. Por ejemplo, si tu zona actual es us-west2-a, deberías elegir us-west2-b.

  2. Cambia tu zona actual por otra zona en la misma región. En la sesión de SSH, ejecuta el código a continuación, reemplazando ZONE por la zona que elegiste:

gcloud config set compute/zone ZONE
  1. Verifica que se implementó el cambio de zona. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud config list

Ves que la zona mencionada refleja el cambio que realizaste.

Puedes cambiar otros parámetros de configuración con el comando de configuración de proyectos de gcloud. Esos cambios son permanentes. Se escriben en tu directorio de la página principal.

La configuración predeterminada se almacena en ~/.config/gcloud/configurations/config_default.

Si quieres usar una zona que no sea la predeterminada cuando creas una instancia, puedes usar el cambio de zona. Por ejemplo, las instancias de gcloud de procesamiento crean lab-1 --zone us-central1-f

Actualizar la zona predeterminada
  1. Verifica que la zona está escrita en el archivo de configuración. Dentro de la sesión de SSH, ejecuta lo siguiente:
cat ~/.config/gcloud/configurations/config_default

Puedes ver que la configuración solo está almacenada como texto y puedes crear una copia de seguridad o copiarla.

Tarea 2: Crea y cambia entre varios parámetros de configuración de IAM

Configuraste una cuenta. En situaciones en las que debas trabajar en equipos diferentes o acceder a diferentes cuentas, también puedes administrarlo con gcloud config.

En la siguiente tarea, aprenderás como crear una segunda configuración y cambiar entre ambas.

Crear una nueva configuración de IAM

En este lab, tienes una segunda cuenta de Google con la que puedes acceder. Esta cuenta tiene acceso de solo lectura (lector) para el primer proyecto. Creas una configuración nueva para ese usuario.

  1. Empieza una configuración nueva de gcloud para la segunda cuenta de usuario. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud init --no-launch-browser
  1. Elige la opción 2, Crear una configuración nueva.

  2. nombre de la configuración: Tipo user2.

  3. Ingresa con una cuenta nueva: Elige la opción 3. Ingresas a la cuenta con el otro nombre de usuario.

  4. Presiona INTRO cuando veas la pregunta ¿Quieres continuar (sí o no)?

  5. Navega al vínculo que se muestra en una pestaña nueva.

  6. Haz clic en Usar otra cuenta

  7. Copia la segunda cuenta de usuario () y pégala en el mensaje de correo electrónico o teléfono.

  8. Copia la misma contraseña con la cual empezaste el lab y pégala en el mensaje de escribe tu contraseña.

  9. Haz clic en Comprendo.

  10. Haz clic en Permitir.

Aceptas que el SDK de Cloud tiene el mismo acceso que tu cuenta de Google.

  1. Cuando veas el mensaje Escribe el siguiente código de verificación en gcloud CLI en la máquina a la que deseas acceder, haz clic en el botón copiar y, luego, vuelve a la sesión de SSH y pega el código en el mensaje Escribe el código de autorización:.

  2. En Elegir el proyecto de la nube para usar: encuentra tu proyecto actual () y, luego, ingresa el número que corresponde al proyecto.

La inicialización se completa y ves que la zona y región están configuradas por ti.

Comprobar que la configuración de gcloud user2 se haya creado

Prueba la cuenta nueva

Esta cuenta nueva solo tiene acceso de lector en el proyecto, para que puedas probar que usas esta cuenta tratando de ver y crear algunos recursos.

  1. Revisa si puedes ver los detalles del primer proyecto. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud compute instances list

La segunda cuenta de usuario tiene acceso de lectura, así que deberías ver las instancias centos-clean y lab-1.

  1. Revisa que no puedes crear una instancia en el primer proyecto, debido a que tu rol asignado es de lector básico. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud compute instances create lab-2 --zone {{{project_1.default_zone_1 | "Zone2"}}} --machine-type=e2-standard-2

Porque la segunda cuenta de usuario solo tiene acceso de lectura, no puede crear una instancia, así que este comando falla. Le toma un poco de tiempo fallar.

  1. Cambia la configuración de vuelta a la del primer usuario (predeterminada). Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud config configurations activate default

Ahora usas las credenciales de tu cuenta de usuario original. Luego, cambias entre las dos cuentas a medida que aprendes sobre los roles y permisos.

Tarea 3. Identifica y asigna permisos de IAM correctos

Se te brindaron dos cuentas de usuario para este proyecto. El primer usuario tiene el control total de ambos proyectos y se lo puede considerar la cuenta de administrador. El segundo usuario tiene acceso de solo lectura a ambos proyectos. Llama al segundo usuario un usuario de DevOps y esa identidad de usuario representa un usuario de nivel típico de DevOps.

Luego, usas gcloud para configurar el acceso a un proyecto para el usuario de DevOps con la creación de un rol personalizado para el proyecto que permita la creación de instancias y buckets.

Examina los roles y permisos

  1. Para ver todos los roles, ejecuta el código a continuación en la sesión de SSH:
gcloud iam roles list | grep "name:"

Se muestra la lista de roles. Agregar grep "name:" al comando reduce la cantidad de datos que se muestran a solo los nombres de roles.

Inspecciona uno de los roles para ver los permisos asignados al rol. Para ver los permisos, usa gcloud iam roles describe. Intenta mirar el rol simple roles/compute.instanceAdmin.

  1. Examina el rol predefinido compute.instanceAdmin. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud iam roles describe roles/compute.instanceAdmin

Puedes ver que roles/compute.instanceAdmin tiene muchos permisos, pero estos son los mínimos necesarios para más tarde:

  • compute.instances.create
  • compute.instances.delete
  • compute.instances.start
  • compute.instances.stop
  • compute.instances.update
  • compute.disks.create
  • compute.subnetworks.use
  • compute.subnetworks.useExternalIp
  • compute.instances.setMetadata
  • compute.instances.setServiceAccount

Para ver la lista completa de los roles y permisos asignados, consulta la Guía de referencia de permisos de IAM.

Otórgale acceso al segundo usuario al segundo proyecto

Ahora que sabes que los roles contienen permisos, ¿cómo asignas un rol (y todos los permisos asociados) a una cuenta de usuario?

Hay dos maneras de conectar un rol:

  • Al usuario y una organización
  • A un usuario y un proyecto

Luego, unes el rol básico de “lector” al segundo usuario en el segundo proyecto.

Prueba que el segundo usuario no tenga acceso al segundo proyecto.

  1. Cambia la configuración de gcloud de vuelta al segundo usuario (user2). Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud config configurations activate user2

Ahora estás de vuelta en user2.

  1. Configura PROJECTID2 al segundo proyecto. En la sesión de SSH, ejecuta el código a continuación:
echo "export PROJECTID2={{{project_1.project_id | "PROJECT_ID"}}}" >> ~/.bashrc . ~/.bashrc gcloud config set project $PROJECTID2 Nota: Este comando agrega el archivo bashrc, ten cuidado.

Verás una advertencia: ADVERTENCIA: No tienes acceso al proyecto [ID del segundo proyecto] o no existe.

  1. Cuando se te pregunte, ¿Quieres continuar (sí o no)?, ingresa N y presiona INTRO.

Esto significa que el usuario 2 no tiene acceso al proyecto PROJECTID2, lo cual arreglarás en la próxima sección.

Otórgale el rol de lectura al segundo usuario en el segundo proyecto

  1. Reestablece la configuración predeterminada de gcloud, que tiene el permiso para otorgar acceso al segundo usuario. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud config configurations activate default
  1. Instala jq:
sudo yum -y install epel-release sudo yum -y install jq

Luego, establece el valor de USERID2 al segundo nombre de usuario y vincula el rol de lectura al segundo usuario en el segundo proyecto.

  1. En la sesión de SSH, ejecuta el código a continuación:
echo "export USERID2={{{user_1.username | "username2"}}}" >> ~/.bashrc . ~/.bashrc gcloud projects add-iam-policy-binding $PROJECTID2 --member user:$USERID2 --role=roles/viewer

Cuando ejecutes el comando, el texto se leerá de manera similar a lo siguiente (tal vez tengas que desplazarte hacia arriba):

Updated IAM policy for project [{{{project_1.project_id | "PROJECT_ID"}}}]. bindings: ... - members: - serviceAccount:{{{project_1.project_id | "PROJECT_ID"}}}@{{{project_1.project_id | "PROJECT_ID"}}}.iam.gserviceaccount.com role: roles/storage.admin - members: - user:{{{user_0.username | "Username1"}}} - user:{{{user_1.username | "Username2"}}} role: roles/viewer Restringir el nombre de usuario 2 a roles/viewer en el Proyecto 2

Tarea 4. Prueba si el user2 tiene acceso

  1. Cambia tu configuración de gcloud a user2. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud config configurations activate user2
  1. Cambia la configuración de user2 en el segundo proyecto. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud config set project $PROJECTID2

Esta vez, no debería aparecer un mensaje de error.

  1. Verifica si tienes acceso de lectura. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud compute instances list

Ahora ves 0 instancias en este proyecto.

  1. Intenta crear una instancia en el segundo proyecto como el segundo usuario. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud compute instances create lab-2 --zone {{{project_1.default_zone_1 | "Zone2"}}} --machine-type=e2-standard-2

Este comando falla porque el user2 tiene acceso de solo lectura al proyecto.

  1. Cambia tu configuración de gcloud a predeterminada. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud config configurations activate default

Ahora usas las credenciales de tu cuenta de usuario original.

Crear un nuevo rol con permisos

Luego, crea el rol nuevo con el conjunto de permisos necesarios para el equipo de DevOps.

  • Crea un rol personalizado llamado devops que tiene los permisos para crear una instancia. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud iam roles create devops --project $PROJECTID2 --permissions "compute.instances.create,compute.instances.delete,compute.instances.start,compute.instances.stop,compute.instances.update,compute.disks.create,compute.subnetworks.use,compute.subnetworks.useExternalIp,compute.instances.setMetadata,compute.instances.setServiceAccount"

Este comando crea un rol personalizado en el proyecto, llamado devops, con los permisos para crear y administrar instancias.

Se enumera el rol completo del rol, ten en cuenta que el rol está en el proyecto, así que la ruta de acceso tiene el patrón de projects/PROJECT/roles/ROLENAME.

Crear un rol nuevo con permisos para el equipo de DevOps

Vincula el rol a la segunda cuenta a ambos proyectos

Ahora tienes el rol creado y debes vincular el usuario y el rol al proyecto. Usa gcloud projects add-iam-policy-binding para realizar la vinculación. Para que este comando sea más fácil de ejecutar, primero establece algunas variables de entorno, el ID del proyecto y la cuenta de usuario.

  1. Vincula el rol de iam.serviceAccountuser al segundo usuario en el segundo proyecto. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud projects add-iam-policy-binding $PROJECTID2 --member user:$USERID2 --role=roles/iam.serviceAccountuser

Necesitas permisos para crear una instancia con una cuenta de servicio adjuntada. El rol iam.serviceAccountuser tiene esos permisos, así que usa este rol predefinido.

Revisar que el user2 esté vinculado al project2 y al rol roles/iam.serviceAccountuser
  1. Vincula el rol personalizado devops al segundo usuario en el segundo proyecto. Puedes encontrar la segunda cuenta de usuario en la izquierda de esta página. Asegúrate de establecer userID en la segunda cuenta de usuario.

Dentro de la sesión de SSH, ejecuta lo siguiente:

gcloud projects add-iam-policy-binding $PROJECTID2 --member user:$USERID2 --role=projects/$PROJECTID2/roles/devops

Cuando ejecutes el comando, el texto se leerá de manera similar a lo siguiente (tal vez tengas que desplazarte hacia arriba):

Updated IAM policy for project [{{{project_1.project_id | "PROJECT_ID"}}}]. bindings: - members: - user:{{{user_1.username | "Username2"}}}@qwiklabs.net role: projects/{{{project_1.project_id | "PROJECT_ID"}}}/roles/devops Vincular el nombre de usuario 2 al rol de DevOps

Prueba los permisos recién asignados.

  1. Cambia tu configuración de gcloud a user2. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud config configurations activate user2

Ahora estás de vuelta en user2.

  1. Intenta crear una instancia llamada lab-2. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud compute instances create lab-2 --zone {{{project_1.default_zone_1 | "Zone2"}}} --machine-type=e2-standard-2

Ahora la creación de instancia funciona para user2.

Crear una instancia con el nombre lab-2 en el Proyecto 2
  1. Verifica si la instancia existe. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud compute instances list

Tu entorno

Luego de estos últimos cambios, tu entorno se ve así:

Ilustración del progreso del lab

Tarea 5: Usa una cuenta de servicio

Aprendiste cómo autenticar y usar gcloud para acceder a servicios de Google Cloud con roles. Ahora verás un enfoque típico.

Tienes una aplicación que usa las interfaces de programación de aplicaciones (APIs) para leer y escribir en bucket de Cloud Storage. No tendrás que autenticar cada vez que habilites un servidor nuevo, eso sería molesto y no es lo que queremos lograr con el uso de la nube. Así que usas cuentas de servicio.

Una cuenta de servicio es un tipo especial de cuenta de Google que pertenece a tu aplicación o una máquina virtual (VM) en lugar de a un usuario final individual. Tu aplicación usa la cuenta de servicio para llamar a la API de Google de un servicio, de modo que los usuarios no están involucrados de manera directa.

Obtén más información sobre las cuentas de servicio en la Guía sobre las cuentas de servicio.

Ahora creas una cuenta de servicio, usas esa cuenta de servicio con una instancia de procesamiento y pruebas que la cuenta de servicio te permita el acceso que necesitas.

Crear una cuenta de servicio

  1. Cambia tu configuración de gcloud a predeterminada, user2 no tiene los derechos para establecer y configurar cuentas de servicio. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud config configurations activate default
  1. Establece el proyecto como PROJECTID2 en tu configuración. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud config set project $PROJECTID2

Asegúrate de segmentar el proyecto correspondiente.

  1. Cree la cuenta de servicio. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud iam service-accounts create devops --display-name devops Comprobar la cuenta de servicio devops que se haya creado
  1. Obtén la dirección de correo electrónico de la cuenta de servicio. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud iam service-accounts list --filter "displayName=devops" Note: The filter shows only the line you are interested in. Ten en cuenta que la dirección de correo electrónico contiene el nombre del rol y el ID del proyecto.
  1. Pon la dirección de correo electrónico en una variable local llamada SA. Dentro de la sesión de SSH, ejecuta lo siguiente:
SA=$(gcloud iam service-accounts list --format="value(email)" --filter "displayName=devops")

Este comando establece la variable local SA en la dirección de correo electrónico de la cuenta de servicio. Muy útil, ¿no?

  1. Otórgale a la cuenta de servicio el rol de iam.serviceAccountuser. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud projects add-iam-policy-binding $PROJECTID2 --member serviceAccount:$SA --role=roles/iam.serviceAccountuser

Este rol permite que la cuenta de servicio asigne una cuenta de servicio a una instancia de procesamiento.

Comprobar que la cuenta de servicio devops esté vinculada a project2 y al rol roles/iam.serviceAccountuser

Tarea 6: Usa la cuenta de servicio con una instancia de procesamiento

  1. Otórgale a la cuenta de servicio el rol de compute.instanceAdmin. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud projects add-iam-policy-binding $PROJECTID2 --member serviceAccount:$SA --role=roles/compute.instanceAdmin

Este rol permite que la cuenta de servicio administre instancias de procesamiento.

Revisar que la cuenta de servicio de DevOps esté vinculada al project2 y al rol roles/compute.instanceAdmin
  1. Crea una instancia con la cuenta de servicio de DevOps adjunta. También tienes que especificar un permiso de acceso que defina las llamadas a la API que puede hacer la instancia. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud compute instances create lab-3 --zone {{{project_1.default_zone_1 | "Zone2"}}} --machine-type=e2-standard-2 --service-account $SA --scopes "https://www.googleapis.com/auth/compute"

Los permisos de acceso son el método heredado que permite especificar permisos para tu instancia. Los permisos de acceso no son un mecanismo de seguridad. En cambio, definen los alcances de OAuth predeterminados que se usan en las solicitudes de la herramienta de gcloud o las bibliotecas cliente. Ten en cuenta que no tienen ningún efecto cuando se realizan solicitudes que no se autenticaron con de OAuth, como gRPC o las APIs de SignBlob.

Debes configurar los permisos de acceso cuando estableces una instancia para que se ejecute como cuenta de servicio.

Una práctica recomendada es establecer el permiso de acceso completo de cloud-platform en la instancia, luego limitar de forma segura el acceso a la API de la cuenta de servicio con roles de IAM.

Los permisos de acceso se aplican por instancia. Los permisos de acceso se configuran cuando se crea una instancia y persisten solo durante la vida útil de la instancia.

Los permisos de acceso no tienen ningún efecto si no habilitaste la API relacionada en el proyecto al que pertenece la cuenta de servicio. Por ejemplo, si otorgas permisos de acceso para Cloud Storage en una instancia de máquina virtual, esto permite que la instancia realice una llamada a la API de Cloud Storage solo si habilitaste la API de Cloud Storage en el proyecto.

Revisar que el lab-3 tenga la cuenta de servicio adjunta

Tarea 7: Prueba la cuenta de servicio

  1. Conéctate a la instancia recién creada con gcloud compute ssh. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud compute ssh lab-3 --zone {{{project_1.default_zone_1 | "Zone2"}}}

Presiona INTRO cuando se te pregunte si quieres continuar.

Presiona INTRO dos veces para no crear una contraseña.

  1. La imagen predeterminada usada ya contiene la configuración de gcloud. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud config list

Ahora la configuración tiene la cuenta de servicio

  1. Crea una instancia. Esto prueba que tengas los necesarios permisos con la cuenta de servicio:
gcloud compute instances create lab-4 --zone {{{project_1.default_zone_1 | "Zone2"}}} --machine-type=e2-standard-2

Puedes presionar INTRO para aceptar la zona predeterminada para esta VM.

  1. Revisa que los roles adjuntos funcionen. Dentro de la sesión de SSH, ejecuta lo siguiente:
gcloud compute instances list

Como la cuenta de servicio tiene permisos, puedes ver las instancias enumeradas.

Tu entorno debería verse así

Ilustración del entorno del último lab

¡Felicitaciones!

Completaste las siguientes tareas con la herramienta de SDK de Cloud, gcloud:

  • Instalar y configurar el cliente de gcloud
  • Crear y cambiar entre varios parámetros de configuración de IAM
  • Identificar y otorgar permisos de IAM correctos
  • Crear y usar una cuenta de servicio

Próximos pasos y más información

Capacitación y certificación de Google Cloud

Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.

Última actualización del manual: 10 de abril de 2024

Prueba más reciente del lab: 10 de abril de 2024

Copyright 2024 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible