Control de acceso de proyectos con gestión de identidades y accesos

Google Cloud ofrece Gestión de Identidades y Accesos (IAM), que te permite dar un acceso más granular a recursos específicos Google Cloud 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 permisos y roles de gestión de identidades y accesos que puede usar para gestionar el acceso a los proyectos. Para obtener más información, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

.

Permisos y roles

Para controlar el acceso a los recursos, Google Cloud requiere que las cuentas que realicen solicitudes de API tengan los roles de gestión de identidades y accesos adecuados. Los roles de gestión de identidades y accesos incluyen permisos que permiten a los usuarios realizar acciones específicas enGoogle Cloud recursos. Por ejemplo, el permiso resourcemanager.projects.delete permite a un usuario eliminar un proyecto.

No se conceden permisos directamente a los usuarios, sino que se les asignan roles, que incluyen uno o varios permisos. Estos roles se asignan a un recurso concreto, pero también se aplican a todos los elementos descendientes de ese recurso en la jerarquía de recursos.

Permisos

Para gestionar proyectos, la persona que llama debe tener un rol que incluya los siguientes permisos. El rol se concede en el recurso de organización o en 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 concedes este permiso, también se concederá acceso para obtener el nombre de la cuenta de facturación asociada al proyecto mediante el método billing.projects.getBillingInfo de la API Billing.
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 Para actualizar los metadatos de un proyecto, se necesita el permiso resourcemanager.projects.update. Para actualizar el elemento superior de un proyecto y moverlo a un recurso de organización, se necesita el permiso resourcemanager.projects.create en el recurso de organización.
projects.move projects.move

Usar roles predefinidos

Los roles predefinidos de gestión de identidades y accesos te permiten gestionar cuidadosamente el conjunto de permisos a los que tienen acceso tus usuarios. Para ver una lista completa de los roles que se pueden conceder a nivel de proyecto, consulta el artículo Descripción de los roles.

En la siguiente tabla se enumeran los roles predefinidos que puede usar para conceder acceso a un proyecto. Cada rol incluye una descripción de lo que hace y los permisos que tiene.

Rol Permisos

(roles/resourcemanager.projectCreator)

Brinda acceso para crear nuevos proyectos. Cuando un usuario crea un proyecto, se le asigna automáticamente el rol de propietario de ese proyecto.

Recursos de nivel más bajo en los que puedes asignar este rol:

  • Carpeta

resourcemanager.organizations.get

resourcemanager.projects.create

(roles/resourcemanager.projectDeleter)

Proporciona acceso para eliminar Google Cloud proyectos.

Recursos de nivel más bajo en los que puedes asignar este rol:

  • Proyecto

resourcemanager.projects.delete

(roles/resourcemanager.projectMover)

Proporciona acceso para actualizar y mover proyectos.

Recursos de nivel más bajo en los que puedes asignar este rol:

  • Proyecto

resourcemanager.projects.get

resourcemanager.projects.move

resourcemanager.projects.update

(roles/resourcemanager.projectIamAdmin)

Proporciona permisos para administrar políticas de permitidas en proyectos.

Recursos de nivel más bajo en los que puedes asignar este rol:

  • Proyecto

iam.policybindings.*

  • iam.policybindings.get
  • iam.policybindings.list

resourcemanager.projects.createPolicyBinding

resourcemanager.projects.deletePolicyBinding

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.searchPolicyBindings

resourcemanager.projects.setIamPolicy

resourcemanager.projects.updatePolicyBinding

(roles/browser)

Acceso de lectura para consultar la jerarquía de un proyecto, incluida la carpeta, la organización y la política de permisos. Este rol no incluye el permiso para ver los recursos del proyecto.

Recursos de nivel más bajo en los que puedes asignar este rol:

  • Proyecto

resourcemanager.folders.get

resourcemanager.folders.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.list

Roles básicos

Evita usar roles básicos, excepto cuando sea absolutamente necesario. Estos roles son muy potentes e incluyen un gran número de permisos en todos losGoogle Cloud servicios. Para obtener más información sobre cuándo debes usar los roles básicos, consulta el artículo Roles básicos.

Rol Descripción Permisos