Introducción a IAM en Google Cloud Platform
Google Cloud Platform usa Google Cloud Identity and Access Management, también llamado IAM o IM para controlar quien hace qué. Y utiliza varias interfaces para conectarse.
La parte “quién” o “Who” de una política de IAM puede ser una cuenta de Google, un grupo de Google, una cuenta de servicio o un dominio de Cloud Identity.
Roles
Son una colección de permisos asignadas a usuarios, grupos, y cuentas de servicio.
Tipos de roles
- Roles primitivos o básicos: Legacy GCP. Tiene permisos de Editor, lector y administrador. Se recomienda tener solo uno o dos usuario con este rol por un tema de seguridad.
- Roles predefinidos : Es lo que recomienda Google. Esta basado en funciones.
- Roles personalizados: Son roles donde se tiene que elegir uno por uno. Se pueden combinar roles predefinidos. Solo se pueden aplicar a nivel proyecto y no a nivel carpeta.
Los proyectos son la forma principal de organizar los recursos de GCP. Aquí se debe de aplicar el principio de mínimo privilegio.
En la seguridad informática, se utiliza el principio del mínimo privilegio. Esto indica que en un usuario en particular de un entorno computacional, debe ser capaz de acceder solo a la información y recursos que son necesario para su legítimo propósito. — Wikipedia.
Hay cuatro maneras de interactuar con la capa de administración de GCP. A través de la consola basada en la web, con el SDK and Cloud Shell, a traves de API’s y en la aplicación CLoud Mobile App.
Cada proyecto se crea con un ID, un nombre del proyecto y un número de proyecto. Estos campos se eligen por uno mismo. El ID y el número es inmutable, solo se puede editar el nombre de proyecto.
Para la organización de proyectos en GCP, también se pueden crear en carpetas. Y estas pueden tener carpetas o proyectos bajo un nodo de organización. Esto ayuda a colocar la política no solo en los proyectos, si no, a un nivel superior. Ya que si dos proyectos, tienen la misma regla de acceso, se puede colocar esa regla en la carpeta y no en cada proyecto, así es más fácil su mantenimiento y se evita errores de duplicado de políticas.
Google administra la capa inferior de la pila de seguridad, como la seguridad física y te brinda herramientas(IAM) para administrar las capas superiores.
*Se puede definir una política de IAM desde una cuenta de Google, un dominio de G Suite o una cuenta de servicio.
Una política de IAM tiene dos partes de identificación:
- Acciones permitidas: Esto se define desde una función de IAM. Existen tres tipos de funciones: Propietario, Editor y Lector. GCP también ofrece funciones para determinados roles y más detalladas.
- Recursos permitidos.
Cuentas de servicio
Imagínate que se tiene una aplicación en una máquina virtual y requiere guardar datos en Cloud Storage pero no quiere que cualquier persona tenga acceso a esos datos, solo la máquina virtual; es ahí donde se usan las cuentas de servicio; cuando se quiera dar permisos a una máquina virtual y no a una persona.
Esas cuentas tienen un correo electrónico pero no usan contraseña, en su lugar usan claves criptográficas para acceder a gestionar los recursos. Por ello, si un cuenta de servicio tiene el rol de administrar instancias, puede crear, modificar y eliminar máquinas virtuales.
Además de ser una identidad, una cuenta de servicio también es un recurso así que puede tener propias políticas de IAM.