Proyectos

En esta página, se describe la relación entre los Google Cloud proyectos y los recursos de Cloud Storage. Para obtener más información sobre los Google Cloud proyectos de la consola en general, lee Proyectos en Google Cloud.

¿Qué es un proyecto?

Un proyecto organiza todos tus Google Cloud recursos. 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 Google Cloud recursos, 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 Google Cloud consola, se te asocia automáticamente con un proyecto. Puedes cambiar los proyectos mediante el menú desplegable en la parte superior de la Google Cloud ventana de la consola.

  • Cuando accedes por primera vez a un bucket 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./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./storage/v1/b?userProject=PROJECT_IDENTIFIER

    Este parámetro de consulta es necesario cuando se accede a un bucket en el que se habilitó Pagos del solicitante; de lo contrario, es opcional.

API de XML

Las siguientes solicitudes requieren que especifiques un proyecto:

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 Google Cloud recursos y servicios. Por ejemplo, puedes crear una cuenta de servicio que usan tus instancias de Compute Engine para acceder a los objetos almacenados en los buckets 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:

  • 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 Google Cloud servicio. 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.

    Eliminaciones de proyectos

    Cuando borras (cierras) un proyecto, también se borran tus buckets de Cloud Storage y los objetos que contienen, a menos que estén protegidos por la eliminación no definitiva. Para proteger tus datos en caso de que un proyecto se borre de forma accidental o maliciosa, te recomendamos que habilite la eliminación no definitiva en tus buckets:

    • Si borras tu proyecto, se retendrá cualquier bucket que tenga habilitada la eliminación no definitiva durante la duración de retención de eliminación no definitiva o el Google Cloud período de recuperación del proyecto, lo que sea más corto. Después de este período, el bucket se borra de forma permanente.

    • Si restableces un proyecto borrado, los buckets se restablecen al estado en el que se encontraban cuando se borró el proyecto. Por ejemplo, los buckets que estaban activos cuando se borró el proyecto se restablecen como buckets activos.

    • Es posible que los buckets que no están protegidos por la eliminación no definitiva se borren de inmediato cuando se borra un proyecto y que no se puedan restablecer.

    También recomendamos las siguientes estrategias para proteger tus datos de las eliminaciones de proyectos:

    • Coloca una retención en tus proyectos para limitar el acceso a la eliminación a nivel de proyecto.

    • Crea una copia de seguridad de los datos fundamentales de la empresa en buckets en un proyecto diferente.

    Para obtener más información sobre las opciones que te ayudan a proteger y recuperar tus datos, consulta Opciones de protección, copia de seguridad y recuperación de datos.

    ¿Qué sigue?