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. Por lo 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 opciones de configuración en un recurso superior, y en los recursos secundarios se heredan la configuración de las políticas y Identity and Access Management (IAM).
Jerarquía de recursos de Google Cloud en detalle
Los recursos de Google Cloud están organizados de forma jerárquica. 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. Entre los ejemplos de recursos de servicio, se incluyen las máquinas virtuales (VM) de Compute Engine, los temas de Pub/Sub, los buckets de Cloud Storage y las instancias de App Engine. Todos estos recursos de nivel inferior tienen recursos de proyecto como nivel superior, que representan el primer mecanismo de agrupación de la jerarquía de recursos de Google Cloud.
Todos los usuarios, incluidos los de la prueba gratuita, los del 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 recursos de servicio dentro de los proyectos. Los recursos del proyecto pueden ser la parte superior de su jerarquía, pero solo si los crea un usuario de la prueba gratuita o del 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 recursos de organización y carpetas. 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 organización una vez que se haya creado para el dominio. Para obtener más detalles sobre la migración de recursos de proyectos, consulta Cómo migrar recursos de proyectos.
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 con un recurso de organización. Cuando existe un recurso de organización, se encuentra en la parte 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 una organización.
Los recursos de carpetas son un mecanismo de agrupación adicional y opcional 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 carpeta y sus recursos de proyectos secundarios se asignan en el recurso de organización.
La jerarquía de recursos de Google Cloud, en especial en su forma más completa, que incluye recursos de organización y recursos de carpetas, permite a las empresas asignar su recurso 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 las políticas de la 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 de la jerarquía es el resultado de las políticas aplicadas directamente en el recurso y las políticas heredadas de sus recursos principales.
En el siguiente diagrama, se presenta un ejemplo de jerarquía de recursos de Google Cloud en su forma completa:
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 con respecto a los recursos y carpetas de 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 están obligados a tener un recurso de organización, pero algunas funciones de Resource Manager no se podrán utilizar 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 exactamente un recurso de organización aprovisionado. Una vez que se crea un recurso de organización para un dominio, todos los recursos de proyectos de Google Cloud nuevos que creen 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 esté en algún recurso de 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á de forma predeterminada el recurso de la organización con el que está asociado el usuario. 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.
Vincula con cuentas de Cloud Identity o Google Workspace
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 a una empresa y es un requisito previo para tener acceso al recurso de organización. En el contexto de Google Cloud, se utiliza para proporcionar 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 la función de IAM de administrador de la organización a los usuarios apropiados en 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 del 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 de los recursos 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 tu empresa. Esta aplicación significa que ya no pueden existir proyectos paralelos ni administradores deshonestos.
Además, puedes otorgar roles a nivel de la organización, que se heredan en todos los recursos de proyecto y carpeta del recurso de organización. Por ejemplo, puedes otorgar el rol de administrador de red a tu equipo de redes a nivel de la organización, lo que les permite administrar todas las redes en todos los recursos de proyecto de tu empresa, en lugar de otorgarles el rol para todos los recursos de proyecto individuales.
Un recurso de organización expuesto por la API de Cloud 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 hora de la última modificación del recurso de la organización
- El propietario del recurso de la organización. El propietario se especifica cuando se crea el recurso de 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 para todo el dominio de Google Workspace. Esto significa que los usuarios podrán crear recursos de proyectos y cuentas de facturación como lo hicieron 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 del recurso de la organización. Se pueden usar para diferenciar distintos departamentos, equipos y entidades legales dentro de una empresa. Por ejemplo, un primer nivel de recursos de carpetas podría usarse para representar los principales departamentos de tu recurso de organización. Dado que los recursos de carpetas pueden contener recursos de proyectos 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. Para obtener más información sobre cómo usar los recursos de carpetas, consulta Crea y administra recursos de carpetas.
Si existen recursos de carpeta en tu 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 la sección sobre cómo ver o enumerar recursos de carpetas y proyectos.
Los recursos de carpetas permiten la delegación de derechos de administración; así, por ejemplo, cada jefe de un departamento puede obtener 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 la organización y del proyecto, 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. Los roles de IAM otorgados en un recurso de carpeta se heredan automáticamente en todos los recursos de proyecto y carpeta incluidos en esa carpeta.
El recurso del proyecto
El recurso de proyecto es la entidad organizadora básica. Los recursos de organización y de carpetas pueden contener varios proyectos. Se requiere un recurso de proyecto para usar Google Cloud, y forma la base para crear, habilitar y usar todos los servicios de Google Cloud, administrar las APIs, habilitar la facturación, agregar y quitar colaboradores, y administrar permisos.
Todos los recursos del proyecto consisten en lo siguiente:
- Dos identificadores:
- El ID del recurso del proyecto, que es un identificador único del recurso del proyecto
- El número de recurso del proyecto, que se asigna automáticamente cuando creas el proyecto es de solo lectura
- Un nombre visible y 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
- Es 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"
}
Para 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 de proyecto o con un número de recurso de proyecto (projectId
y projectNumber
en el fragmento de código).
El ID de un recurso de proyecto es el nombre personalizado que elegiste cuando creaste el recurso del proyecto. Si activas una API que requiere un recurso de proyecto, se te indicará que crees un recurso de proyecto o que selecciones uno mediante su ID de recurso de proyecto. (Ten en cuenta que la cadena name
, que se muestra en la IU, no es la misma que el ID del recurso del proyecto).
Google Cloud genera automáticamente un número de recurso del proyecto. Tanto el ID como el número de recurso del proyecto se pueden encontrar en el panel del recurso del proyecto en la consola de Google Cloud. Para obtener información sobre cómo obtener identificadores de proyectos y otras tareas de administración para recursos de proyectos, consulta Cómo crear y administrar 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 estableces una política a nivel de la organización, esta se hereda en todos sus recursos de carpeta y proyecto secundarios y, si estableces una política a nivel del proyecto, esta se hereda en 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 a su vez heredan políticas del recurso de la organización. Por lo tanto, las políticas del nivel de recursos de la organización también se aplican al nivel de recursos.
Por ejemplo, en el diagrama de jerarquía de recursos anterior, si estableces una política en la carpeta "Departamento Y" por la que se otorga la función de Editor del proyecto a bob@example.com, Bob tendrá la función de editor en los proyectos "Proyecto de desarrollo", "Proyecto de prueba" y "Proyecto de producción". Por el contrario, si asignas a alice@example.com el rol de administrador 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 le quitaras a Bob la función Editor de proyecto en el “Proyecto de prueba”, él heredaría esa función de la carpeta “Departamento Y”, por lo que aún tendría los permisos de la función en el “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 la organización. Del mismo modo, si se mueve un recurso de proyecto de un recurso de carpeta a otro, se cambiarán los permisos heredados. Los permisos que el recurso del proyecto heredó del recurso superior original se perderán cuando el recurso del proyecto se mueva a un recurso de carpeta nuevo. 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