
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Create a custom role using a YAML file
/ 20
Create a custom role using flags
/ 20
Update a custom role using a YAML file
/ 15
Update a custom role using flags
/ 15
Disabling a custom role
/ 15
Undeleting a custom role
/ 15
Cloud IAM ofrece las herramientas indicadas para administrar permisos de recursos, con un mínimo de complicaciones y un alto grado de automatización. No otorgas permisos a los usuarios de forma directa. En su lugar, les otorgas roles, que agrupan uno o más permisos. Esto te permite asignar las funciones de trabajo dentro de tu empresa a grupos y roles. Los usuarios obtienen acceso solo a lo que necesitan para hacer un trabajo, y los administradores pueden otorgar permisos predeterminados fácilmente a grupos completos de usuarios.
En Cloud IAM, existen dos tipos de roles:
Google crea y mantiene los roles predefinidos. Tus permisos se actualizan automáticamente según sea necesario, por ejemplo, cuando se agregan funciones o servicios nuevos a Google Cloud.
Los roles personalizados están definidos por el usuario y te permiten agrupar uno o más permisos compatibles para satisfacer tus necesidades específicas. Google no mantiene los roles personalizados; cuando se agregan nuevos permisos, funciones o servicios a Google Cloud, tus roles personalizados no se actualizan automáticamente. Puedes crear un rol personalizado combinando uno o más de los permisos de Cloud IAM disponibles. Los permisos permiten a los usuarios realizar acciones específicas en los recursos de Google Cloud.
En este lab, crearás, actualizarás, borrarás y restablecerás roles personalizados.
Se recomienda que conozcas los roles de IAM para optimizar tu aprendizaje.
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:
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:
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.
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
También puedes encontrar el nombre de usuario en el panel Detalles del lab.
Haz clic en Siguiente.
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
También puedes encontrar la contraseña en el panel Detalles del lab.
Haz clic en Siguiente.
Haga clic para avanzar por las páginas siguientes:
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. El resultado contiene una línea que declara el PROJECT_ID para esta sesión:
gcloud
es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.
Haz clic en Autorizar.
Ahora, el resultado debería verse de la siguiente manera:
Resultado:
Resultado:
Resultado de ejemplo:
gcloud
, consulta la guía con la descripción general de gcloud CLI en Google Cloud.
Ejecuta el siguiente comando para establecer la región de tu proyecto:
Cloud IAM también proporciona la capacidad de crear roles personalizados. Puedes crear un rol personalizado de Cloud IAM con uno o más permisos y, luego, otorgarlo a los usuarios. Cloud IAM proporciona una IU y una API para crear y administrar roles personalizados.
Punto clave: Los roles personalizados te permiten aplicar el principio de privilegio mínimo para garantizar que los usuarios y las cuentas de servicio de tu organización solo tengan los permisos necesarios para ejercer las funciones previstas.
Puedes crear un rol personalizado combinando uno o más de los permisos de Cloud IAM disponibles. Los permisos permiten a los usuarios realizar acciones específicas en los recursos de Google Cloud.
En el mundo de Cloud IAM, los permisos se representan de la siguiente forma:
Por ejemplo, el permiso compute.instances.list
le permite a un usuario obtener una lista de las instancias de Compute Engine que posee, mientras que compute.instances.stop
le permite a un usuario detener una VM.
En general, los permisos se corresponden 1:1 con los métodos REST. Es decir, cada servicio de Google Cloud cuenta con un permiso asociado a cada método de REST que tenga. Para llamar a un método, el llamador necesita ese permiso. Por ejemplo, el llamador de topic.publish()
necesita el permiso pubsub.topics.publish
.
Las roles personalizados se pueden usar solo para otorgar permisos en políticas de la misma organización o proyecto que posee los roles o los recursos. No puedes otorgar roles personalizados de una organización o proyecto en un recurso que es propiedad de una organización o proyecto diferente.
Para crear un rol personalizado, un llamador debe tener el permiso iam.roles.create
.
A los usuarios que no son propietarios, incluidos los administradores de la organización, se les debe asignar el rol de administrador de roles de la organización (roles/iam.organizationRoleAdmin) o el rol de administrador de roles de IAM (roles/iam.roleAdmin). El rol de revisor de seguridad de IAM (roles/iam.securityReviewer) permite ver los roles personalizados, pero no administrarlos.
La interfaz de usuario de los roles personalizados se encuentra en Roles de IAM, dentro de la consola de Cloud. Solo está disponible para los usuarios que tienen permisos para crear o administrar roles personalizados. Según la configuración predeterminada, solo los propietarios de los proyectos pueden crear roles nuevos. Los propietarios de los proyectos pueden controlar el acceso a esta función cuando les otorgan el rol de administrador de roles de IAM a otros usuarios en el mismo proyecto; para las organizaciones, solo los administradores de la organización pueden otorgar el rol de administrador de roles de la organización.
Antes de crear un rol personalizado, debes saber lo siguiente:
Antes de crear un rol personalizado, debes saber qué permisos se pueden aplicar a un recurso. Puedes obtener todos los permisos que se pueden aplicar a un recurso y los recursos inferiores en esa jerarquía a través de la herramienta de línea de comandos de gcloud, la consola de Cloud o la API de IAM. Por ejemplo, puedes obtener todos los permisos que puedes aplicar en una organización y en los proyectos de esa organización.
Resultado:
Antes de crear un rol personalizado, debes obtener los metadatos de los roles predefinidos y personalizados. Los metadatos de un rol incluyen el ID del rol y los permisos contenidos en el rol. Puedes ver los metadatos con la consola de Cloud o la API de IAM.
[ROLE_NAME]
con el rol. Por ejemplo, roles/viewer
o roles/editor
:Resultado de ejemplo (para roles/viewer):
Usa el comando gcloud iam list-grantable-roles
para que se devuelva una lista de todos los roles que se pueden aplicar a un recurso determinado.
gcloud
para obtener una lista de los roles otorgables de tu proyecto:Deberías obtener un resultado similar al siguiente:
Para crear un rol personalizado, un llamador debe poseer el permiso iam.roles.create
. De forma predeterminada, el propietario de un proyecto o una organización tiene este permiso y puede crear y administrar roles personalizados.
A los usuarios que no son propietarios, incluidos los administradores de la organización, se les debe asignar el rol de administrador de roles de la organización o el rol de administrador de roles de IAM.
Usa el comando gcloud iam roles create
para crear nuevos roles personalizados de dos formas:
Cuando crees un rol personalizado, debes especificar si se aplica a nivel de la organización o a nivel del proyecto con las marcas --organization [ORGANIZATION-ID]
o --project [PROJECT-ID]
. En cada uno de los siguientes ejemplos, se crea un rol personalizado a nivel del proyecto.
En las siguientes secciones, crearás roles personalizados a nivel del proyecto.
Crea un archivo YAML que contenga la definición de tu rol personalizado. El archivo debe estar estructurado de la siguiente manera:
Cada uno de los valores de marcador de posición se describe a continuación:
[ROLE-TITLE]
es un título descriptivo para el rol, como Visualizador de roles.[ROLE-DESCRIPTION]
es una descripción corta sobre el rol, como Descripción de mi rol personalizado.[LAUNCH_STAGE]
indica la etapa de un rol en el ciclo de vida del lanzamiento, como ALFA, BETA o DG.includedPermissions
especifica la lista de uno o más permisos para incluir en el rol personalizado, como iam.roles.get.Luego, guarda y cierra el archivo presionando CTRL + X, Y y, luego, INTRO.
Ejecuta el siguiente comando de gcloud
:
Si el rol se creó correctamente, se devuelve la siguiente respuesta:
Haz clic en Revisar mi progreso para verificar el objetivo.
Ahora, usarás el método de marcas para crear un nuevo rol personalizado. Las marcas tienen una forma similar al archivo YAML, por lo que reconocerás cómo se crea el comando.
gcloud
para crear un nuevo rol usando marcas:Resultado de ejemplo:
Haz clic en Revisar mi progreso para verificar el objetivo.
gcloud
para enumerar los roles personalizados y especifica si son a nivel del proyecto o a nivel de la organización:Resultado de ejemplo:
Para enumerar los roles borrados, también puedes especificar la marca --show-deleted
.
gcloud
para enumerar los roles predefinidos:Un patrón común para actualizar los metadatos de un recurso, como un rol personalizado, es leer su estado actual, actualizar los datos de forma local y, luego, enviar los datos modificados para su escritura. Este patrón podría causar un conflicto si dos o más procesos independientes intentan la secuencia en simultáneo.
Por ejemplo, si dos propietarios de un proyecto intentan hacer cambios conflictivos en un rol al mismo tiempo, algunos cambios podrían fallar.
Cloud IAM resuelve este problema usando una propiedad etag
en los roles personalizados. Esta propiedad se usa para verificar si el rol personalizado cambió desde la última solicitud. Cuando realizas una solicitud a Cloud IAM con un valor de ETag, Cloud IAM compara este valor en la solicitud con el valor de ETag existente asociado al rol personalizado y solo escribe el cambio si los valores de ETag coinciden.
Usa el comando gcloud iam roles update
para actualizar los roles personalizados de una de estas dos maneras:
Cuando actualices un rol personalizado, debes especificar si se aplica a nivel de la organización o a nivel del proyecto usando las marcas --organization [ORGANIZATION_ID]
o --project [PROJECT_ID]
. En cada uno de los siguientes ejemplos, se crea un rol personalizado a nivel del proyecto.
El comando describe
muestra la definición del rol y, además, incluye un valor ETag que identifica de forma única la versión actual del rol. El valor ETag debe proporcionarse en la definición del rol actualizado para garantizar que no se reemplace ningún cambio de rol simultáneo.
gcloud
y reemplazando [ROLE_ID]
con editor.El comando describe
devuelve el siguiente resultado:
Copia el resultado para crear un nuevo archivo YAML en los próximos pasos.
Crea un archivo new-role-definition.yaml
con tu editor:
includedPermissions
:Tu archivo YAML se verá así cuando termines:
Para guardar y cerrar el archivo, presiona CTRL + X, Y y, luego, INTRO.
Ahora usa el comando update
para actualizar el rol. Ejecuta el siguiente comando gcloud
y reemplaza [ROLE_ID]
con editor:
Si el rol se actualizó con éxito, se devuelve la siguiente respuesta:
Haz clic en Revisar mi progreso para verificar el objetivo.
Cada parte de la definición de un rol se puede actualizar usando la marca correspondiente. Para obtener una lista de todas las marcas posibles de la documentación de referencia del SDK, consulta el tema Actualización de los roles de IAM de gcloud.
Usa las siguientes marcas para agregar o quitar permisos:
--add-permissions
: agrega uno o más permisos separados por comas al rol.--remove-permissions
: quita uno o más permisos separados por comas del rol.De manera alternativa, puedes simplemente especificar los permisos nuevos con la marca --permissions [PERMISSIONS]
y proporcionar una lista de permisos separados por comas para reemplazar la lista de permisos existente.
gcloud
para agregar permisos al rol de visualizador a través del uso de marcas:Si el rol se actualizó con éxito, se devuelve la siguiente respuesta:
Haz clic en Revisar mi progreso para verificar el objetivo.
Cuando se inhabilita un rol, todas las vinculaciones de políticas relacionadas con él se desactivan, lo que significa que no se concederán los permisos del rol, incluso si lo asignas a un usuario.
La forma más fácil de inhabilitar un rol personalizado existente es usar la marca --stage
y establecerla como DISABLED.
gcloud
para inhabilitar el rol de visualizador:Si el rol se actualizó con éxito, se devuelve la siguiente respuesta:
Haz clic en Revisar mi progreso para verificar el objetivo.
gcloud iam roles delete
para borrar un rol personalizado. Cuando lo borres, el rol estará inactivo y no se podrá usar para crear nuevas vinculaciones de políticas de IAM:Resultado de ejemplo:
Después de que hayas borrado el rol, las vinculaciones existentes permanecen, pero están inactivas. El rol se puede recuperar antes de los 7 días. Después de este plazo, se inicia un proceso de 30 días de duración para borrar el rol de manera permanente. Después de 37 días, el ID del rol pasa a estar disponible para volver a usarlo.
--stage
:Haz clic en Revisar mi progreso para verificar el objetivo.
En este lab, creaste y administraste roles personalizados en IAM.
Obtén más información sobre IAM en el artículo de IAM Cloud Identity and Access Management.
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: 15 de abril de 2024
Prueba más reciente del lab: 13 de julio de 2023
Copyright 2025 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
One lab at a time
Confirm to end all existing labs and start this one