Jerarquía de recursos

En esta página se describe la jerarquía de recursos de Google Cloud y los recursos que se pueden administrar con Resource Manager.

En el propósito de la jerarquía de recursos de Google Cloud, se incluyen los dos aspectos siguientes:

  • Proporciona una jerarquía de propiedad, con la que se vincula el ciclo de vida de un recurso a su superior inmediato en la jerarquía.
  • Proporciona puntos de conexión y herencia para el control de acceso y las políticas de la organización.

En términos metafóricos, la jerarquía de recursos de Google Cloud se asemeja al sistema de archivos que se encuentra en los sistemas operativos tradicionales como una forma de organizar y administrar las entidades jerárquicamente. En general, cada recurso tiene exactamente un elemento superior. Esta organización jerárquica de recursos te permite establecer políticas de control de acceso y parámetros de configuración en un recurso superior, y los recursos secundarios heredan las políticas y la configuración de Identity and Access Management (IAM).

Jerarquía de recursos de Google Cloud en detalle

Los recursos de Google Cloud están organizados jerárquicamente. Todos los recursos, excepto el recurso más alto de una jerarquía, tienen exactamente un elemento superior. En el nivel más bajo, los recursos de servicio son los componentes fundamentales que conforman todos los servicios de Google Cloud. Los ejemplos de recursos de servicio incluyen máquinas virtuales (VM) de Compute Engine, temas de Pub/Sub, instancias de App Engine y buckets de Cloud Storage. Todos estos recursos de nivel inferior tienen recursos de proyecto como sus superiores, que representan el primer mecanismo de agrupación de la jerarquía de recursos de Google Cloud.

Todos los usuarios, incluidos los usuarios de prueba gratuita, de nivel gratuito y los clientes de Google Workspace y Cloud Identity, pueden crear recursos de proyectos. Los usuarios del programa gratuito de Google Cloud solo pueden crear recursos de proyecto y de servicio dentro de proyectos. Los recursos del proyecto pueden ser la parte superior de su jerarquía, pero solo si los crea un usuario de prueba gratuita o un usuario de nivel gratuito. Los clientes de Google Workspace y Cloud Identity tienen acceso a funciones adicionales de la jerarquía de recursos de Google Cloud, como los recursos de organización y carpeta. Obtén más información en la descripción general de Cloud Identity. Los recursos del proyecto en la parte superior de su jerarquía no tienen recursos superiores, pero se pueden migrar a un recurso de la organización una vez que se han creado para el dominio. Para obtener más detalles sobre la migración de recursos del proyecto, consulta Cómo migrar recursos del proyecto.

Los clientes de Google Workspace y Cloud Identity pueden crear recursos de la organización. Cada cuenta de Google Workspace o Cloud Identity se asocia a un recurso de la organización. Cuando existe un recurso de organización, es el elemento superior de la jerarquía de recursos de Google Cloud, y todos los recursos que pertenecen a una organización se agrupan en el recurso de organización. Esto proporciona visibilidad central y control sobre cada recurso que pertenece a un recurso de organización.

Los recursos de carpetas son un mecanismo de agrupación opcional adicional entre los recursos de la organización y los recursos del proyecto. Se requiere un recurso de organización como requisito previo para usar carpetas. Los recursos de carpetas y los recursos de sus proyectos secundarios se asignan en el recurso de la organización.

La jerarquía de recursos de Google Cloud, en especial en su forma más completa que incluye un recurso de organización y recursos de carpeta, permite que las empresas asignen sus recursos de organización a Google Cloud y proporciona puntos de conexión lógicos para las políticas de administración de acceso (IAM) y políticas de organización. Las políticas de IAM y de la organización se heredan a través de la jerarquía. La política vigente para cada recurso en la jerarquía es el resultado de las políticas aplicadas directamente en el recurso y las heredadas de sus principales.

En el siguiente diagrama, se representa un ejemplo completo de la jerarquía de recursos de Google Cloud:

El recurso de organización

El recurso de organización representa una organización (por ejemplo, una empresa) y es el nodo raíz en la jerarquía de recursos de Google Cloud cuando está presente. El recurso de organización es el elemento principal en la jerarquía de los recursos de carpetas y proyectos. Las políticas de control de acceso de IAM aplicadas en el recurso de organización se aplican en la jerarquía de todos los recursos de la organización.

Los usuarios de Google Cloud no necesitan tener un recurso de organización, pero algunas funciones de Resource Manager no se podrán usar sin uno. El recurso de organización está estrechamente asociado con una cuenta de Google Workspace o Cloud Identity. Cuando un usuario con una cuenta de Google Workspace o Cloud Identity crea un recurso de proyecto de Google Cloud, se le aprovisiona automáticamente un recurso de organización.

Una cuenta de Google Workspace o Cloud Identity puede tener solo un recurso de organización aprovisionado. Una vez que se crea un recurso de organización para un dominio, todos los recursos de proyecto de Google Cloud nuevos creados por los miembros del dominio de la cuenta pertenecerán al recurso de organización de forma predeterminada. Cuando un usuario administrado crea un recurso de proyecto, el requisito es que debe estar en algún recurso de la organización. Si un usuario especifica un recurso de organización y tiene los permisos adecuados, el proyecto se asigna a esa organización. De lo contrario, se usará el recurso de organización asociado con el usuario de forma predeterminada. Es imposible que las cuentas asociadas con un recurso de organización creen recursos de proyecto que no están asociados con un recurso de organización.

Por simplicidad, con Google Workspace haremos referencia a los usuarios de Google Workspace y Cloud Identity.

La cuenta de Google Workspace o Cloud Identity representa una empresa y es un requisito para tener acceso al recurso de la organización. En el contexto de Google Cloud, se proporciona administración de identidades, mecanismo de recuperación, propiedad y administración del ciclo de vida. En la siguiente imagen, se muestra el vínculo entre la cuenta de Google Workspace, Cloud Identity y la jerarquía de recursos de Google Cloud.


El administrador avanzado de Google Workspace es la persona responsable de la verificación de la propiedad del dominio y el contacto en casos de recuperación. Por esta razón, el administrador avanzado de Google Workspace tiene la capacidad de asignar funciones de IAM de forma predeterminada. El deber principal del administrador avanzado de Google Workspace con respecto a Google Cloud es asignar el rol de IAM Administrador de la organización a los usuarios adecuados de su dominio. Esto creará la separación entre las responsabilidades de administración de Google Workspace y Google Cloud que los usuarios suelen buscar.

Beneficios del recurso de organización

Con un recurso de organización, los recursos del proyecto pertenecen a tu organización en lugar de al empleado que creó el proyecto. Esto significa que los recursos del proyecto ya no se borran cuando un empleado abandona la empresa, sino que seguirán el ciclo de vida del recurso de la organización en Google Cloud.

Además, los administradores de la organización tienen el control central de todos los recursos. Pueden ver y administrar todos los recursos de los proyectos de su empresa. Esta aplicación de código significa que ya no pueden existir proyectos paralelos ni administradores deshonestos.

Además, puedes otorgar funciones a nivel de organización, que heredan todos los recursos de proyecto y carpeta del recurso de organización. Por ejemplo, puedes otorgar la función de administrador de red a tu equipo de red a nivel de organización, lo que les permite administrar todas las redes en todos los recursos del proyecto en tu empresa, en lugar de otorgarles la función para todos los recursos del proyecto individuales.

Un recurso de organización expuesto por la API de Resource Manager consta de lo siguiente:

  • Un ID de recurso de organización, que es un identificador único para una organización.
  • Un nombre para mostrar, que se genera a partir del nombre de dominio principal en el lugar de trabajo de Google Workspace o Cloud Identity.
  • La hora de creación del recurso de la organización.
  • La última hora de modificación del recurso de la organización.
  • El propietario del recurso de organización. El propietario se especifica cuando se crea el recurso de la organización. No se puede cambiar una vez configurado. Es el ID de cliente de Google Workspace que se especifica en la API de Directory

En el siguiente fragmento de código, se muestra la estructura de un recurso de organización:

{
  "creationTime": "2020-01-07T21:59:43.314Z",
  "displayName": "my-organization",
  "lifecycleState": "ACTIVE",
  "name": "organizations/34739118321",
  "owner": {
    "directoryCustomerId": "C012ba234"
  }
}

La política inicial de IAM para un recurso de organización recién creado otorga las funciones de creador de proyectos y de creador de cuentas de facturación a todo el dominio de Google Workspace. Esto significa que los usuarios podrán seguir creando recursos de proyectos y cuentas de facturación como antes de que existiera el recurso de la organización. No se crean otros recursos cuando se crea un recurso de organización.

El recurso de carpeta

De manera opcional, los recursos de carpetas proporcionan un mecanismo de agrupación adicional y límites de aislamiento entre proyectos. Estos se consideran suborganizaciones dentro de los recursos de la organización. Los recursos de carpetas se pueden usar para modelar diferentes entidades, departamentos y equipos legales dentro de una empresa. Por ejemplo, se podría usar un primer nivel de recursos de carpetas para representar los departamentos principales en el recurso de la organización. Dado que los recursos de carpeta pueden contener recursos de proyecto y otras carpetas, cada recurso de carpeta podría incluir otras subcarpetas para representar diferentes equipos. Cada carpeta del equipo puede contener subcarpetas adicionales para representar diferentes aplicaciones. Si quieres obtener más información sobre el uso de recursos de carpetas, consulta Cómo crear y administrar recursos de carpetas.

Si hay recursos de carpeta en el recurso de la organización y tienes los permisos de visualización adecuados, puedes verlos desde la consola de Google Cloud. Para obtener instrucciones más detalladas, consulta Visualiza o enumera carpetas y recursos de proyectos.

Los recursos de carpetas permiten la delegación de derechos de administración; así, por ejemplo, a cada jefe de un departamento se le puede otorgar la propiedad total de todos los recursos de Google Cloud que pertenecen a sus departamentos. Del mismo modo, el acceso a los recursos puede estar limitado por recurso de carpeta, por lo que los usuarios de un departamento solo pueden acceder y crear recursos de Google Cloud dentro de ese recurso de carpeta.

En el siguiente fragmento de código, se muestra la estructura de un recurso de carpeta:

{
  "createTime": "2030-01-07T21:59:43.314Z",
  "displayName": "Engineering",
  "lifecycleState": "ACTIVE",
  "name": "folders/634792535758",
  "parent": "organizations/34739118321"
}

Al igual que los recursos de organizaciones y proyectos, los recursos de carpetas actúan como un punto de herencia de políticas para las políticas de IAM y de la organización. Todos los recursos del proyecto y la carpeta incluidos en esa carpeta heredan automáticamente las funciones de IAM otorgadas en un recurso de carpeta.

El recurso de proyecto

El recurso de proyecto es la entidad organizadora básica. Los recursos de organización y carpeta pueden contener varios proyectos. Se requiere un recurso de proyecto a fin de usar Google Cloud, y forma la base para crear, habilitar y usar todos los servicios de Google Cloud, administrar API, habilitar la facturación, agregar y quitar colaboradores y administrar permisos.

Todos los recursos del proyecto constan de lo siguiente:

  • Dos identificadores:
    1. El ID de recurso del proyecto, que es un identificador único del recurso del proyecto.
    2. El número de recurso del proyecto, que se asigna automáticamente cuando creas el proyecto. es de solo lectura
  • Un nombre para mostrar mutable
  • El estado del ciclo de vida del recurso del proyecto; por ejemplo, ACTIVE o DELETE_REQUESTED
  • Un conjunto de etiquetas que se pueden usar para filtrar proyectos
  • La hora en la que se creó el recurso del proyecto.

En el siguiente fragmento de código, se muestra la estructura de un recurso de proyecto:

{
  "createTime": "2020-01-07T21:59:43.314Z",
  "lifecycleState": "ACTIVE",
  "name": "my-project",
  "parent": {
    "id": "634792535758",
    "type": "folder"
  },
  "projectId": "my-project",
  "labels": {
     "my-label": "prod"
  },
  "projectNumber": "464036093014"
}

A fin de interactuar con la mayoría de los recursos de Google Cloud, debes proporcionar la información de identificación del recurso del proyecto para cada solicitud. Puedes identificar un recurso de proyecto de dos maneras: con un ID de recurso del proyecto o con un número de recurso del proyecto (projectId y projectNumber en el fragmento de código).

Un ID de recurso del proyecto es el nombre personalizado que elegiste cuando creaste el recurso del proyecto. Si activas una API para la que se requiere un recurso de proyecto, se te indicará que crees un recurso del proyecto o que selecciones un recurso del proyecto mediante su ID de recurso del proyecto. (Ten en cuenta que la string name, que se muestra en la IU, no es lo mismo que el ID de recurso del proyecto).

Google Cloud genera de forma automática un número de recurso del proyecto. El ID del recurso del proyecto y el número de recurso del proyecto se pueden encontrar en el panel del recurso del proyecto en la consola de Google Cloud. A fin de obtener información sobre cómo obtener identificadores de proyecto y otras tareas de administración para recursos de proyectos, consulta Crea y administra recursos de proyectos.

Mediante la política inicial de IAM para el recurso del proyecto recién creado, se otorga la función de propietario al creador del proyecto.

Herencia de políticas de IAM

Google Cloud ofrece IAM, que te permite otorgar acceso detallado a recursos específicos de Google Cloud y evita el acceso no deseado a otros recursos. Con IAM, puedes controlar quién ( usuarios) posee qué acceso (funciones ) a cuáles recursos a partir del establecimiento de políticas de IAM en los recursos.

Puedes establecer una política de IAM en el nivel de organización, el nivel de carpeta, el nivel de proyecto. (en algunos casos) el nivel de recurso. Los recursos heredan las políticas del recurso superior. Si configuras una política a nivel de la organización, la heredarán todos sus recursos de carpeta y proyecto secundarios. Si estableces una política a nivel de proyecto, la heredarán todos sus recursos secundarios.

La política vigente para un recurso es la unión de la política establecida en el recurso y la política heredada de sus recursos principales. Esta herencia es transitiva. En otras palabras, los recursos heredan políticas del proyecto, que heredan políticas del recurso de la organización. Por lo tanto, las políticas a nivel de recursos de la organización también se aplican a nivel de recursos.

Por ejemplo, en el diagrama de jerarquía de recursos anterior, si estableces una política en la carpeta "Departamento Y" que otorga el rol de Editor del proyecto a bob@example.com, Bob tendrá la función de editor en los proyectos "Desarrollo", "Proyecto de prueba" y "Proyecto de producción". Por el contrario, si asignas a alice@example.com la función de administradora de instancias en el proyecto “Proyecto de prueba”, solo podrá administrar instancias de Compute Engine en ese proyecto.

Las funciones siempre se heredan y no se puede quitar de forma explícita el permiso para un recurso de nivel inferior que se otorga en un nivel superior de la jerarquía de recursos. Según el ejemplo anterior, incluso si quitaras la función de editor de proyecto en Bob en el “Proyecto de prueba”, aún heredaría esa función de la carpeta “Departamento Y”, por lo que aún tendría los permisos para esa función en “Proyecto de prueba”.

En la jerarquía de políticas de IAM, se sigue la misma ruta que la jerarquía de recursos de Google Cloud. Si cambias la jerarquía de recursos, también cambia la jerarquía de políticas. Por ejemplo, si se mueve un proyecto a un recurso de la organización, se actualizará su política de IAM para heredar la de IAM del recurso de la organización. De manera similar, si mueves un recurso del proyecto de un recurso de carpeta a otro, se cambiarán los permisos heredados. Los permisos heredados por el recurso del proyecto del recurso superior original se perderán cuando el recurso del proyecto se mueva a un nuevo recurso de carpeta. El recurso del proyecto heredará los permisos establecidos en el recurso de la carpeta de destino a medida que se mueva.

Pruébalo tú mismo

Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.

Comenzar gratis