Google Cloud ofrece la función de administración de identidades y accesos (IAM), que te permite brindar acceso más detallado a recursos específicos de Google Cloud y evita el acceso no deseado a otros recursos. IAM te permite adoptar el principio de seguridad de menor privilegio, de manera que solo otorgues el acceso necesario a tus recursos.
IAM te permite configurar políticas de IAM específicas que contengan ciertos permisos para controlar quién (usuarios) tiene qué acceso (funciones) a qué recursos.
En esta página, se explican los permisos y funciones de IAM que puedes usar para administrar el acceso a los proyectos. Para ver una descripción detallada de IAM, lee la documentación de IAM. En particular, consulta la sección sobre cómo otorgar, cambiar y revocar el acceso a los recursos.
Permisos y funciones
Para controlar el acceso a los recursos, Google Cloud requiere que las cuentas que realizan solicitudes a la API tengan las funciones de IAM adecuadas. Las funciones de IAM incluyen permisos que permiten a los usuarios realizar acciones específicas en los recursos de Google Cloud. Por ejemplo, el permiso resourcemanager.projects.delete
permite que un usuario borre un proyecto.
No se les otorgan permisos a los usuarios directamente, sino funciones, que incluyen uno o más permisos. Otorgas estas funciones en un recurso en particular, pero también se aplican a todos los descendientes de ese recurso en la jerarquía de recursos.
Permisos
Para administrar proyectos, el emisor debe tener un rol que incluya los siguientes permisos. El rol se otorga en el recurso de organización o la carpeta que contiene los proyectos:
Método | Permisos necesarios |
---|---|
resourcemanager.projects.create |
resourcemanager.projects.create |
resourcemanager.projects.delete |
resourcemanager.projects.delete |
resourcemanager.projects.get |
resourcemanager.projects.get Si otorgas este permiso, también se otorgará acceso para obtener el nombre de la cuenta de facturación asociada con el proyecto mediante el método de API de Billing billing.projects.getBillingInfo |
resourcemanager.projects.getIamPolicy |
resourcemanager.projects.getIamPolicy |
resourcemanager.projects.list |
resourcemanager.projects.list |
resourcemanager.projects.search |
resourcemanager.projects.get |
resourcemanager.projects.setIamPolicy |
resourcemanager.projects.setIamPolicy |
resourcemanager.projects.testIamPermissions |
No requiere ningún permiso. |
resourcemanager.projects.undelete |
resourcemanager.projects.undelete |
resourcemanager.projects.patch |
Se requiere el permiso resourcemanager.projects.update a fin de actualizar los metadatos de un proyecto. Se requiere el permiso resourcemanager.projects.create en el recurso de la organización para actualizar el elemento superior de un proyecto y trasladar el proyecto a un recurso de la organización. |
projects.move |
projects.move |
Usa funciones predefinidas
Los roles predefinidos de IAM te permiten administrar con cuidado el conjunto de permisos a los que tienen acceso tus usuarios. Para obtener una lista completa de los roles que se pueden otorgar a nivel del proyecto, consulta Información sobre las funciones.
En la siguiente tabla, se enumeran los roles predefinidos que puedes usar para otorgar acceso a un proyecto. Cada rol incluye una descripción de lo que hace y los permisos que incluye.
Rol | Permisos |
---|---|
Creador de proyectos( Proporciona acceso para crear proyectos nuevos. Una vez que un usuario crea un proyecto, se le otorga de forma automática la función de propietario para ese proyecto. Recursos de nivel más bajo en los que puedes otorgar esta función:
|
|
Eliminador de proyectos( Proporciona acceso para borrar proyectos de Google Cloud. Recursos de nivel más bajo en los que puedes otorgar esta función:
|
|
Migrador de proyectos( Proporciona acceso para actualizar y mover proyectos. Recursos de nivel más bajo en los que puedes otorgar esta función:
|
|
Administrador de IAM de proyecto( Proporciona permisos para administrar las políticas de permisos en los proyectos. Recursos de nivel más bajo en los que puedes otorgar este rol:
|
|
Navegador( Acceso de lectura para navegar en la jerarquía de un proyecto, incluida la carpeta, la organización y la política de permisos. esta función no incluye el permiso para ver los recursos del proyecto Recursos de nivel más bajo en los que puedes otorgar este rol:
|
|
Roles básicos
Evita usar funciones básicas, excepto cuando sea absolutamente necesario. Estos roles son muy potentes y cuentan con una gran cantidad de permisos en todos los servicios de Google Cloud. Para obtener más detalles sobre cuándo debes usar roles básicos, consulta Roles básicos.
Rol | Descripción | Permisos |
---|---|---|
roles/owner |
Acceso completo a todos los recursos. | Todos los permisos para todos los recursos. |
roles/editor |
Edita el acceso a la mayoría de los recursos. | Acceso para crear y actualizar la mayoría de los recursos. |
roles/viewer |
Acceso de lectura a la mayoría de los recursos. | Obtén y crea una lista de los accesos para la mayoría de los recursos. |
Crea funciones personalizadas
Además de los roles predefinidos que se describen en esta documentación, también puedes crear funciones personalizadas, que son colecciones de permisos que puedes adaptar a tus necesidades. Cuando crees un rol personalizado para usar con Resource Manager, ten en cuenta los siguientes puntos:- Los permisos list y get, como
resourcemanager.projects.get/list
, siempre se deben otorgar como un par. - Cuando tu función personalizada incluye los permisos
folders.list
yfolders.get
, también debe incluirprojects.list
yprojects.get
. - Ten en cuenta que el permiso
setIamPolicy
para recursos de organización, carpeta y proyecto permite al usuario otorgar todos los demás permisos, por lo que debe asignarse con cuidado.
Control de acceso a nivel de proyecto
Puedes otorgar roles a los usuarios a nivel del proyecto con la consola de Google Cloud, la API de Cloud Resource Manager y Google Cloud CLI. Para obtener instrucciones, consulta Otorga, cambia y revoca el acceso.
Funciones predeterminadas
Cuando creas un proyecto, se te otorga la función funciones/propietario para que el proyecto te proporcione control absoluto como creador. Esta función predeterminada se puede cambiar con normalidad en una política de IAM.
Controles del servicio de VPC
Los Controles del servicio de VPC pueden proporcionar seguridad adicional cuando se usa la API de Cloud Resource Manager. Para obtener más información sobre los Controles del servicio de VPC, consulta la Descripción general de los Controles del servicio de VPC.
Para obtener información sobre las limitaciones actuales del uso de Resource Manager con los Controles del servicio de VPC, consulta la página sobre los productos admitidos y las limitaciones.