En esta página, se describe la relación entre los proyectos de la consola de Google Cloud y los recursos de Cloud Storage. Para obtener más información sobre los proyectos de la consola de Google Cloud en general, lee sobre Proyectos en Google Cloud.
¿Qué es un proyecto?
Un proyecto organiza todos tus recursos de Google Cloud. Todos los datos en Cloud Storage están dentro de un proyecto. Un proyecto consiste en un conjunto de usuarios, un conjunto de API y configuración de facturación, autenticación y supervisión para las API. Por lo tanto, todos tus buckets y objetos de Cloud Storage, junto con los permisos del usuario para acceder a ellos, residen en un proyecto. Puedes tener un proyecto o puedes crear varios y usarlos para organizar tus recursos de Google Cloud, incluidos tus datos de Cloud Storage, en grupos lógicos.
Cuándo especificar un proyecto
La mayoría de las veces, no es necesario especificar un proyecto cuando realizas acciones en Cloud Storage; sin embargo, debes incluir el ID del proyecto o su número en los casos siguientes:
Console
Cuando usas Cloud Storage con la consola de Google Cloud, se te asocia automáticamente con un proyecto. Puedes cambiar los proyectos mediante el menú desplegable en la parte superior de la ventana de la consola de Google Cloud.
Cuando accedes por primera vez a un depósito que habilitó los Pagos del solicitante, se te solicita que selecciones un proyecto para facturar las solicitudes. Luego, puedes cambiar el proyecto de facturación mediante el botón Cambiar proyecto ubicado encima de la lista de objetos del bucket.
Línea de comandos
Los siguientes comandos usan la propiedad project
establecida en la configuración de Google Cloud CLI, a menos que uses la marca --project
global en el comando para especificar un proyecto diferente:
storage buckets create
storage ls
(cuando se muestra la lista de buckets) ystorage buckets list
storage service-agent
storage hmac create
ystorage hmac list
Usa la marca global --billing-project
, junto con un identificador de proyecto para indicar el proyecto al que se le cobrará por el acceso de bucket. Esto es necesario cuando se accede a un bucket que ha habilitado Pagos del solicitante y, de lo contrario, es opcional.
Bibliotecas cliente
Las bibliotecas cliente de Cloud Storage requieren que se especifique un proyecto en las mismas circunstancias que la API de JSON.
API de JSON
Los siguientes métodos requieren que especifiques un proyecto:
- Enumerar buckets
- Insertar bucket
- Obtener el agente de servicio del proyecto
- Todos los métodos asociados con el recurso de clave HMAC
El proyecto se envía como un parámetro en la URL de solicitud, como en el ejemplo siguiente:
GET https://storage.googleapis.com/storage/v1/b?project=PROJECT_IDENTIFIER
Para indicar a un proyecto que cobre por el acceso al bucket, usa el parámetro de consulta 'userProject' junto con un identificador del proyecto, como en el ejemplo siguiente:
GET https://storage.googleapis.com/storage/v1/b?userProject=PROJECT_IDENTIFIER
Este parámetro de consulta es necesario cuando se accede a un depósito que habilitó Pagos del solicitante y, de lo contrario, es opcional.
API de XML
Las siguientes solicitudes requieren que especifiques un proyecto, a menos que hayas configurado un proyecto predeterminado para el acceso interoperable:
El proyecto relacionado con las solicitudes a la API de XML se especifica en el encabezado HTTP x-goog-project-id
, como en el siguiente ejemplo:
x-goog-project-id: PROJECT_ID
El encabezado es opcional para otras solicitudes a la API de XML.
Si quieres indicar a un proyecto que cobre por el acceso al bucket, usa el encabezado 'x-goog-user-project' junto con un ID del proyecto, como en el ejemplo siguiente:
x-goog-user-project: PROJECT_ID
Este encabezado es obligatorio cuando se accede a un bucket que habilitó Pagos del solicitante y, de lo contrario, es opcional.
Proyectos y permisos
En cada proyecto, debes usar la administración de identidades y accesos (IAM) a fin de otorgar la capacidad de administrar el proyecto y trabajar en él. Cuando otorgas un rol de IAM a una principal, como una cuenta de usuario, esa principal obtiene ciertos permisos que le permiten realizar acciones. Cuando otorgas un rol a nivel de proyecto, el acceso proporcionado mediante la función se aplica a cada bucket y objeto dentro del proyecto. Como alternativa, cuando otorgas una función para un bucket individual, el acceso proporcionado mediante la función se limita solo a ese bucket y los objetos que contiene.
Para obtener una lista de las funciones disponibles que se aplican a Cloud Storage, además de un análisis sobre cómo un conjunto especial de funciones, llamado funciones básicas, se aplican a Cloud Storage, consulta Funciones de IAM de Cloud Storage.
Si deseas obtener instrucciones para ver, otorgar y revocar las funciones de un miembro a nivel de bucket y de proyecto, consulta Usa IAM con proyectos.
Cuentas de servicio
Las cuentas de servicio permiten que las aplicaciones se autentiquen y accedan a los recursos y servicios de Google Cloud. Por ejemplo, puedes crear una cuenta de servicio que usan tus instancias de Compute Engine para acceder a los objetos almacenados en los depósitos de Cloud Storage. Las cuentas de servicio se crean dentro de un proyecto y tienen una dirección de correo electrónico única que las identifica.
Los siguientes son ejemplos de acciones relacionadas con Cloud Storage que suelen tomar las cuentas de servicio que creas y administras:
- Realizar transferencias de Servicio de transferencia de almacenamiento
- Mover datos desde/hacia instancias de Cloud SQL
- Crear URL firmadas
Agentes de servicio
Un agente de servicio es un tipo especial de cuenta de servicio que actúa en nombre de un servicio de Google Cloud. Cloud Storage usa un agente de servicio para las siguientes características:
El agente de servicio de Cloud Storage no está disponible en primera instancia cuando creas un proyecto. En su lugar, se activa automáticamente la primera vez que se accede a él, ya sea por una de las características mencionadas antes o cuando solicitas el nombre del agente de servicio. El agente de servicio se debe activar antes de asignarle permisos.
La siguiente es una dirección de correo electrónico de ejemplo para el agente de servicio de Cloud Storage asociado con el número de proyecto 123456789876
:
service-123456789876@gs-project-accounts.iam.gserviceaccount.com
¿Qué sigue?
- Completa una de las guías de inicio rápido de Cloud Storage.
- Aprende a crear un proyecto nuevo y administrar los proyectos existentes.
- Descubre cómo usar la consola de Google Cloud para administrar tus datos.
- Administra las cuentas de servicio de tu proyecto.