Google Cloud ofrece Gestión de Identidades y Accesos (IAM), que te permite dar un acceso más granular a recursos Google Cloud específicos y evitar el acceso no deseado a otros recursos. IAM te permite adoptar el principio de seguridad de mínimos accesos, de forma que solo concedas el acceso necesario a tus recursos.
La gestión de identidades y accesos te permite controlar quién (usuarios) tiene qué acceso (roles) a qué recursos configurando políticas de permiso. Las políticas de permitir conceden roles específicos a un usuario, lo que le otorga determinados permisos.
En esta página se explican los roles de gestión de identidades y accesos (IAM) disponibles a nivel de carpeta y cómo crear y gestionar políticas de permisos para carpetas mediante la API Cloud Resource Manager. Para obtener más información, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
.
Descripción general de los roles de gestión de identidades y accesos para carpetas
Para ayudarte a configurar tus roles de gestión de identidades y accesos, en la siguiente tabla se indican:
- El tipo de acciones que quieras habilitar
- Los roles necesarios para realizar esas acciones
- El nivel de recurso en el que debes aplicar esos roles
Tipos de acciones | Roles necesarios | Nivel de recurso |
---|---|---|
Administrar carpetas en el recurso de organización | Administrador de carpetas | Recurso de organización |
Administrar una carpeta y todos los proyectos y carpetas que contiene | Administrador de carpetas | Carpeta específica |
Acceder y administrar las políticas de permiso de una carpeta | Administrador de gestión de identidades y accesos de carpetas | Carpeta específica |
Crear carpetas | Creador de la carpeta | Recurso principal de la ubicación de las nuevas carpetas |
Mover carpetas y proyectos | Trasladador de carpetas | Recurso principal de la ubicación de la carpeta original y de la nueva ubicación de la carpeta. |
Mover un proyecto a una carpeta nueva | Editor del proyecto o propietario del proyecto | Recurso superior de la ubicación del proyecto original y de la nueva ubicación del proyecto |
Eliminar una carpeta | Editor de carpetas o Administrador de carpetas | Carpeta específica |
Prácticas recomendadas para usar roles y permisos de gestión de identidades y accesos con carpetas
Cuando asignes roles y permisos de gestión de identidades y accesos para usar con carpetas, ten en cuenta lo siguiente:
- Usa grupos siempre que sea posible para gestionar las entidades.
- Minimiza el uso de roles básicos, como propietario, editor y lector. En su lugar, intenta usar los roles predefinidos para aplicar el principio de privilegio mínimo.
- Para gestionar los permisos de toda una carpeta, asígnalos a nivel de carpeta y haz que los proyectos los hereden automáticamente. Por ejemplo, puedes asignar el rol Administrador de carpetas a un grupo de administradores de departamento en la carpeta. Los administradores de red que necesiten tener permisos en todo el departamento pueden tener el rol Administrador de red en la carpeta.
- Piensa detenidamente qué permisos pueden cambiar antes de sacar un recurso de una carpeta. De lo contrario, podrías correr el riesgo de que las aplicaciones o los flujos de trabajo que requieran esos permisos en ese recurso dejen de funcionar.
- Planifica y prueba cuidadosamente tu jerarquía de recursos antes de mover proyectos de producción a carpetas. Una forma de hacerlo es crear una carpeta de prueba en el recurso de tu organización y crear un prototipo de la jerarquía que quieres usar.
- Si asignas un rol a un usuario a nivel de carpeta, el usuario tendrá ese rol en todos los recursos de esa carpeta. Por ejemplo, si asignas el rol Administrador de Compute (
roles/compute.admin
) a un usuario en una carpeta, ese usuario tendrá control total sobre todos los recursos de Compute Engine de todos los proyectos de esa carpeta.
Información sobre los roles y permisos de las carpetas
Roles predeterminados
Cuando creas una carpeta, se te asignan los roles Administrador de la carpeta y Editor de la carpeta para que tengas control total como creador. A continuación, se indican los permisos que proporcionan estos roles. Estos roles predeterminados se pueden cambiar de forma habitual en una política de permiso.
Usar roles predefinidos
Rol | Permisos |
---|---|
Administrador de carpetas( Proporciona todos los permisos disponibles para trabajar con carpetas. Recursos de nivel más bajo en los que puedes asignar este rol:
|
|
Administrador de gestión de identidades y accesos de carpetas( Proporciona permisos para administrar las políticas de permiso en carpetas. Recursos de nivel más bajo en los que puedes asignar este rol:
|
|
Creador de la carpeta( Proporciona los permisos necesarios para explorar la jerarquía y crear carpetas. Recursos de nivel más bajo en los que puedes asignar este rol:
|
|
Editor de carpetas( Proporciona permiso para modificar carpetas, así como para ver la política de permisos de una carpeta. Recursos de nivel más bajo en los que puedes asignar este rol:
|
|
Trasladador de carpetas( Proporciona permiso para mover proyectos y carpetas a una organización o carpeta principal, y viceversa. Recursos de nivel más bajo en los que puedes asignar este rol:
|
|
Lector de carpetas( Proporciona permiso para obtener una carpeta y enumerar las carpetas y los proyectos que hay debajo de un recurso. Recursos de nivel más bajo en los que puedes asignar este rol:
|
|
Crear roles personalizados
Además de los roles predefinidos que se describen en este tema, también puedes crear roles personalizados, que son conjuntos de permisos que puedes adaptar a tus necesidades. Cuando crees un rol personalizado para usarlo con Resource Manager, ten en cuenta lo siguiente:- Los permisos de lista y de obtención, como
resourcemanager.projects.get/list
, siempre deben concederse como un par. - Si tu rol personalizado incluye los permisos
folders.list
yfolders.get
, también debe incluirprojects.list
yprojects.get
. - Ten en cuenta que el permiso
setIamPolicy
para los recursos de organización, carpeta y proyecto permite al usuario conceder todos los demás permisos, por lo que debe asignarse con cuidado.
Conceder roles para habilitar la exploración de carpetas
Los permisos de lista permiten explorar carpetas. Los dos tipos de permisos de lista que se suelen conceder son resourcemanager.folders.list
, que permite a los usuarios mostrar las carpetas de un recurso, y resourcemanager.projects.list
, que permite a los usuarios buscar proyectos en un recurso de organización o en una carpeta. El administrador de la organización se inicializa con ambos permisos. En el caso de los usuarios a los que no se les ha asignado el rol Administrador de la organización:
resourcemanager.folders.list
se puede conceder mediante los roles Lector de carpetas y Editor de carpetas.resourcemanager.projects.list
se puede conceder a través de los roles Lector o Navegador.
Para que las principales de recursos de la organización puedan consultar toda la jerarquía de recursos de la organización, se deben conceder permisos de lista a nivel de recurso de la organización.
Conceder roles para habilitar la creación de carpetas
Los usuarios que necesiten crear carpetas deben tener el rol Creador de carpetas en un recurso de la jerarquía superior al nivel en el que se creará la carpeta. Puede ser útil conceder permisos de navegación junto con los permisos de creación de carpetas para que los usuarios puedan desplazarse de forma eficaz a la ubicación de la jerarquía en la que se creará la carpeta. Consulta la sección anterior para obtener más información sobre los permisos de navegación.
El rol Creador de carpetas no concede permiso a un usuario para eliminar una carpeta. Sin embargo, cuando una persona crea una carpeta, se le asigna automáticamente el rol Editor de carpeta. El rol Editor de carpetas permite eliminar carpetas.
Conceder roles para habilitar el movimiento de carpetas
Para mover una carpeta de un recurso superior a otro, los usuarios deben tener el rol Mover carpetas en ambos recursos superiores (el antiguo y el nuevo) o en un ancestro común.
Conceder roles para habilitar el movimiento de proyectos
Para mover un proyecto a una carpeta, los usuarios deben tener los roles Editor de proyectos o Propietario del proyecto en el proyecto y el rol Trasladador de proyectos en los recursos principales de origen y de destino.
Estos requisitos son ligeramente diferentes de los necesarios para mover un proyecto que no es propiedad de una organización al recurso de organización, en el que los usuarios deben tener el rol Editor de proyectos o Propietario de proyectos en el proyecto y el rol Creador de proyectos en el recurso de organización.
Conceder roles específicos de carpetas para habilitar la creación de proyectos
Para crear proyectos, los usuarios deben tener el rol Creador del proyecto. Sin embargo, en lugar de conceder permiso para crear proyectos en toda la organización, puede ser útil restringir a los usuarios para que solo puedan ver y crear proyectos en una carpeta determinada.
Para conceder permisos específicos de una carpeta, sigue estos pasos:
- Asigna al usuario el rol Lector de la organización a nivel del nodo de organización (por ejemplo, dominio.com).
- Crea una carpeta.
- Añade el usuario a IAM a nivel de carpeta y concédele los roles Lector de carpetas y Creador de proyectos.
De esta forma, el usuario puede crear proyectos en su carpeta sin tener visibilidad de todos los proyectos del recurso de organización.