Puntos de control
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
Roles personalizados de IAM
- GSP190
- Descripción general
- Configuración y requisitos
- Introducción a los roles personalizados de IAM
- Tarea 1. Visualiza los permisos disponibles para un recurso
- Tarea 2. Obtén los metadatos del rol
- Tarea 3. Visualiza los roles que se pueden otorgar en los recursos
- Tarea 4. Crea un rol personalizado
- Tarea 5. Haz una lista de los roles personalizados
- Tarea 6. Actualiza un rol personalizado existente
- Tarea 7. Inhabilita un rol personalizado
- Tarea 8. Borra un rol personalizado
- Tarea 9. Restablece un rol personalizado
- ¡Felicitaciones!
GSP190
Descripción general
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:
- Roles predefinidos
- Roles personalizados
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.
Aprendizajes esperados
En este lab, crearás, actualizarás, borrarás y restablecerás roles personalizados.
Requisitos previos
Se recomienda que conozcas los roles de IAM para optimizar tu aprendizaje.
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)
- Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
-
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
-
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. -
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.
-
Haz clic en Siguiente.
-
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.
-
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. -
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.
Activa Cloud Shell
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.
- Haz clic en Activar Cloud Shell en la parte superior de la consola 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.
- Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
-
Haz clic en Autorizar.
-
Ahora, el resultado debería verse de la siguiente manera:
Resultado:
- Puedes solicitar el ID del proyecto con este comando (opcional):
Resultado:
Resultado de ejemplo:
gcloud
, consulta la guía con la descripción general de gcloud CLI en Google Cloud.
Establece la región para tu proyecto
Ejecuta el siguiente comando para establecer la región de tu proyecto:
Introducción a los roles personalizados de IAM
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.
Roles y permisos obligatorios
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.
Prepárate para crear un rol personalizado
Antes de crear un rol personalizado, debes saber lo siguiente:
- Qué permisos se pueden aplicar a un recurso
- Qué roles se pueden otorgar a un recurso
- Cuáles son los metadatos de un rol
Tarea 1. Visualiza los permisos disponibles para un recurso
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.
- Ejecuta el siguiente comando para obtener la lista de permisos disponibles para tu proyecto:
Resultado:
Tarea 2. Obtén los metadatos del rol
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.
- Para ver los metadatos del rol, usa el siguiente comando y reemplaza
[ROLE_NAME]
con el rol. Por ejemplo,roles/viewer
oroles/editor
:
Resultado de ejemplo (para roles/viewer):
Tarea 3. Visualiza los roles que se pueden otorgar en los recursos
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.
- Ejecuta el siguiente comando de
gcloud
para obtener una lista de los roles otorgables de tu proyecto:
Deberías obtener un resultado similar al siguiente:
Tarea 4. Crea un rol personalizado
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:
- Proporcionando un archivo YAML que contenga la definición del rol
- Especificando la definición del rol con marcas
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 rol personalizado con un archivo YAML
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.
- Ahora, comencemos. Para crear tu archivo YAML de definición del rol, ejecuta el siguiente comando:
- Agrega esta definición para el rol personalizado al archivo YAML:
-
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.
Crea un rol personalizado usando marcas
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.
- Ejecuta el siguiente comando de
gcloud
para crear un nuevo rol usando marcas:
Resultado de ejemplo:
Haz clic en Revisar mi progreso para verificar el objetivo.
Tarea 5. Haz una lista de los roles personalizados
- Ejecuta el siguiente comando de
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
.
- Ejecuta el siguiente comando de
gcloud
para enumerar los roles predefinidos:
Tarea 6. Actualiza un rol personalizado existente
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:
- Con un archivo YAML que contenga la definición del rol actualizado
- Con marcas que especifiquen la definición del rol actualizado
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.
Actualiza un rol personalizado con un archivo YAML
- Obtén la definición actual del rol ejecutando el siguiente comando
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:
- Pega el resultado del último comando y agrega estos dos permisos en
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 comandogcloud
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.
Actualiza un rol personalizado usando marcas
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.
- Ejecuta el siguiente comando de
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.
Tarea 7. Inhabilita un rol personalizado
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.
- Ejecuta el siguiente comando de
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.
Tarea 8. Borra un rol personalizado
- Usa el comando
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.
Tarea 9. Restablece un rol personalizado
- Un rol se puede restablecer antes de que se cumpla el plazo de 7 días. El estado de los roles borrados es INHABILITADO. Para que un rol vuelva a estar disponible, actualiza la marca
--stage
:
Haz clic en Revisar mi progreso para verificar el objetivo.
¡Felicitaciones!
En este lab, creaste y administraste roles personalizados en IAM.
Próximos pasos y más información
Obtén más información sobre IAM en el artículo de IAM Cloud Identity and Access Management.
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: 15 de abril de 2024
Prueba más reciente del lab: 13 de julio de 2023
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.