Projects

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:

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:

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:

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?