Uso compartido y colaboración

En este documento, se presentan situaciones comunes de colaboración y uso compartido de datos. Se incluye cómo configurar las políticas de administración de identidades y accesos (IAM) del depósito y tu proyecto y las listas de control de acceso (LCA) de tu objeto para implementar las situaciones.

Almacenamiento y mantenimiento de datos privados

En esta situación, una analista de mercado de una empresa quiere usar Cloud Storage para crear una copia de seguridad de las predicciones de ingresos y los datos de proyección de ventas confidenciales. Solo la analista de marketing debe poder acceder a los datos. El departamento de TI de la empresa supervisa y administra la cuenta de Cloud Storage de la empresa. Sus responsabilidades administrativas principales incluyen crear y compartir depósitos a fin de que varios departamentos de la empresa tengan acceso a Cloud Storage.

A fin de cumplir con las necesidades de confidencialidad y privacidad de la analista de mercado, los permisos del bucket y del objeto deben permitir al personal de TI mantener el bucket en el que se almacenan las hojas de cálculo. Sin embargo, también deben garantizar que estos no puedan ver o descargar los datos almacenados en el bucket. Para lograrlo, crea un bucket llamado finance-marketing y otorga las siguientes funciones para los recursos enumerados a las principales especificadas:

Función Recurso Principal Descripción
Propietario de depósitos heredados de almacenamiento El depósito finance-marketing Personal de TI Si otorgas al personal de TI la función de Propietario de depósitos heredados de almacenamiento para el depósito, podrá realizar tareas comunes de administración de depósitos, como borrar objetos y cambiar la política de IAM en el depósito. También podrá enumerar los contenidos del depósito finance-marketing, pero no podrá verlo o descargarlo.
Creador de objetos de almacenamiento El depósito finance-marketing Analista de mercado Si otorgas a la analista de mercado la función de Creador de objetos de almacenamiento del depósito, podrá subir objetos al depósito. Cuando lo hace, se vuelve propietaria del objeto subido y puede verlo, actualizarlo y borrarlo.

Con estas funciones, nadie puede ver o descargar los objetos que la analista de mercado agrega al bucket, a excepción de ella. Sin embargo, ella puede otorgar acceso a otros usuarios si cambia la LCA del objeto. El personal de TI aún puede enumerar los contenidos del bucket finance-marketing, y borrar y reemplazar los archivos almacenados en el bucket si fuera necesario.

Implementa esta situación

Tus acciones

A fin de implementar la situación, debes realizar las acciones siguientes:

  1. Crear un bucket llamado finance-marketing. Para obtener instrucciones paso a paso, consulta la sección sobre cómo crear un bucket.

  2. Otorga a cada miembro del personal de TI la función de Propietario de depósitos heredados de almacenamiento para el depósito. Para obtener instrucciones paso a paso, consulta Agrega una principal a una política a nivel de bucket .

Acciones del personal de TI

A fin de implementar la situación, el personal de TI debería realizar las siguientes acciones:

  1. Otorgar a la analista de mercado la función de Creador de objetos de almacenamiento para el depósito. Para obtener instrucciones paso a paso, consulta Agrega una principal a una política a nivel de bucket .

Buzón del proveedor

En esta situación, una empresa constructora trabaja con varias firmas de diseño arquitectónico a fin de entregar planos de construcción para varios proyectos. La empresa constructora quiere configurar un buzón para las firmas proveedoras a fin de que puedan subir los planos arquitectónicos en varios eventos importantes del proyecto. En el buzón, se debe garantizar la privacidad de los clientes de la empresa constructora, lo que significa que no se puede permitir que los proveedores vean los trabajos de otros. A fin de lograrlo, crea un bucket distinto para cada empresa de arquitectura y otorga las siguientes funciones para los recursos enumerados a las principales especificadas:

Función Recurso Principal Descripción
Propietario Proyecto general Administradora de la empresa constructora Si le otorgas a la administradora de la empresa constructora la función de Propietario a nivel de proyecto, podrá crear depósitos para cada proveedor.
Visualizador de objetos de almacenamiento Proyecto general Administradora de la empresa constructora La función de Visualizador de objetos de almacenamiento permite que la administradora de la empresa constructora descargue los objetos que suben los proveedores.
Propietario de depósitos heredados de almacenamiento Cada bucket del proveedor Administradora de la empresa constructora La función de Propietario de depósitos heredados de almacenamiento permite que la administradora de la empresa constructora enumere los contenidos de cada depósito y borre los objetos al final de cada evento importante del proyecto.
Administrador de objetos de almacenamiento Cada bucket del proveedor El proveedor asociado al bucket Otorgar a cada proveedor la función de Administrador de objetos de almacenamiento para su propio depósito les brinda control total sobre los objetos del depósito, incluida la capacidad de subir objetos, enumerarlos y controlar quién tiene acceso a cada uno. No pueden cambiar o ver los metadatos, como las funciones en el bucket, ni enumerar o ver otros bucket s en el proyecto, lo que mantiene la privacidad entre los proveedores.

Implementa esta situación

Tus acciones

A fin de implementar la situación, debes realizar las acciones siguientes:

  1. Otorgar a la administradora de la empresa constructora la función de Propietario del proyecto y la función de Visualizador de objetos de almacenamiento del proyecto. Para obtener instrucciones paso a paso, consulta Otorga un solo rol.

Acciones de la administradora de la empresa constructora

A fin de implementar la situación, la administradora de la empresa constructora debería realizar las acciones siguientes:

  1. Crear un bucket diferente para cada proveedor. Para obtener instrucciones paso a paso, consulta Crea un depósito.

    Dado que la administradora de la construcción tiene la función de Propietario, obtiene de forma automática la función de Propietario de buckets heredados de almacenamiento para cada bucket que crea.

  2. Asigna a cada proveedor la función de Administrador de objetos de almacenamiento para su respectivo depósito. Para obtener instrucciones paso a paso, consulta Agrega una principal a una política a nivel de bucket .

  3. Si algún proveedor desea usar la consola de Google Cloud, proporciónale un vínculo a su bucket, que tiene el siguiente formato:

    https://console.cloud.google.com/storage/browser/BUCKET_NAME

    en el que BUCKET_NAME es el nombre del depósito del proveedor.

Acciones del proveedor

A fin de implementar la situación, cada proveedor debería realizar las acciones siguientes:

  1. Subir objetos al bucket asignado. La forma más fácil de lograr esto es a través de la consola de Google Cloud Otros métodos, como Google Cloud CLI, requieren una configuración adicional previa. Para obtener instrucciones paso a paso, consulta Sube objetos.

Descargas autenticadas del navegador

En esta situación, un cliente quiere que ciertos archivos estén disponibles para ciertas personas a través de descargas del navegador. Puedes hacerlo con la autenticación basada en cookies de Cloud Storage. Para descargar objetos, los usuarios deben autenticarse mediante una cuenta válida, que incluye Google Workspace, Cloud Identity, Gmail y la federación de Workforce Identity. Los siguientes usuarios autenticados pueden descargar el objeto:

Todos los demás usuarios reciben un error 403 Forbidden (access denied).

Para usar la función, otorga permiso a un usuario para acceder a un objeto y, luego, proporciónale una URL especial al objeto. Cuando el usuario haga clic en la URL, Cloud Storage le solicitará que acceda a su cuenta (si aún no lo ha hecho) y el objeto se descarga a su computadora.

Implementa esta situación

Puedes implementar la autenticación basada en cookies con los siguientes cuatro pasos generales:

  1. Crea un bucket. Para obtener instrucciones paso a paso, consulta la sección sobre cómo crear un depósito.

    Si creas un bucket en un proyecto del que eres propietario, obtienes permisos de forma automática que te permiten subir objetos al bucket y cambiar quién puede acceder a este.

  2. Sube el objeto que deseas compartir. Para obtener instrucciones paso a paso, consulta Sube objetos.

    Cuando subes un objeto, te conviertes en su propietario. Esto significa que puedes modificar todas sus LCA.

  3. Permite que los usuarios accedan al objeto. Para esto, puedes usar uno de estos métodos:

    1. Modifica la política de IAM del depósito para otorgar a cada usuario deseado la función de Visualizador de objetos de almacenamiento, que se aplica a todos los objetos en el depósito. Para obtener instrucciones paso a paso, consulta Agrega una principal a una política a nivel de bucket .

    2. Modifica las LCA del objeto para otorgar a cada usuario deseado el permiso READ en cada objeto individual. Para obtener instrucciones paso a paso, consulta Establece las LCA.

  4. Proporciona a los usuarios una URL especial al objeto.

    Las descargas autenticadas del navegador acceden a Cloud Storage a través de un extremo URL específico. Usa la siguiente URL:

    https://storage.cloud.google.com/BUCKET_NAME/OBJECT_NAME

    Donde:

    • BUCKET_NAME es el nombre del depósito que contiene el objeto deseado. Por ejemplo, my-bucket.
    • OBJECT_NAME es el nombre del objeto deseado. Por ejemplo, pets/dog.png.

    Ya que solo los usuarios con permisos LCA o IAM apropiados pueden verla, no importa cómo establezcas la disponibilidad de esta URL. Puedes enviársela directamente o publicarla en una página web.

Usa un grupo para controlar el acceso

En esta situación, deseas que los objetos estén disponibles para usuarios específicos, como los usuarios invitados a probar un software nuevo. Además, quieres invitar muchos usuarios, pero no quieres configurar los permisos para cada uno de forma individual. Al mismo tiempo, no quieres que los objetos sean legibles de forma pública y enviar vínculos a los clientes invitados para acceder a los objetos, ya que existe el riesgo de que los vínculos se envíen a usuarios no invitados.

Una forma de resolver esta situación es con el uso de los Grupos de Google. Puedes crear un grupo y agregar solo a los usuarios invitados. Luego, al grupo puedes otorgarle acceso a los objetos.

Función Recurso Principal Descripción
Visualizador de objetos de almacenamiento Tu bucket Grupo de Google Si otorgas al Grupo de Google la función de Visualizador de objetos de almacenamiento del depósito, cualquier cliente que forme parte del Grupo de Google podrá ver objetos en el depósito. Nadie por fuera del grupo tiene acceso a los objetos.

Implementa esta situación

  1. Crea un Grupo de Google y agrega clientes. Para obtener instrucciones paso a paso, consulta Crea un grupo.

  2. Crea un bucket. Para obtener instrucciones paso a paso, consulta Crea un depósito.

  3. Sube objetos a tu bucket. Para obtener instrucciones paso a paso, consulta Sube objetos.

  4. Al Grupo de Google, otorga acceso a los objetos.

    • Puedes usar la función de IAM storage.objectViewer para dar acceso de visualización a todos los objetos en tu depósito. Para obtener instrucciones paso a paso, consulta Agrega una principal a una política a nivel de bucket .

    • Si solo quieres otorgar acceso a algunos de los objetos en el depósito, establece la LCA de Lector en esos objetos individuales. Para obtener instrucciones paso a paso, consulta Establece las LCA.

  5. Comparte el extremo de solicitud adecuado con el grupo a fin de que sepa a dónde dirigirse para acceder a los objetos.

    Por ejemplo, cuando usas la consola de Google Cloud, la URL https://console.cloud.google.com/storage/browser/BUCKET_NAME te lleva a la lista de objetos en el bucket BUCKET_NAME.

Usa carpetas administradas para controlar el acceso

En esta situación, tienes varios clientes, cada uno de los cuales tiene un sitio web único que contiene imágenes personalizadas. Quieres que los clientes puedan subir imágenes solo a su sitio web, pero no a otros sitios web. Cuando un cliente cancela su cuenta, quieres inhabilitar el acceso público a las imágenes de su sitio web, pero evita borrar las imágenes en caso de que el cliente quiera volver a activar su cuenta.

Una forma de resolver esta situación es con el uso de carpetas administradas. Puedes crear varias carpetas administradas dentro de un bucket y usar IAM para controlar el acceso a las carpetas administradas individuales para tus clientes y sus usuarios finales.

Implementa esta situación

  1. Crear un buket.

  2. Crea una carpeta administrada en el bucket para cada sitio web del cliente.

  3. Para cada carpeta administrada, establece una política de IAM que otorgue a un cliente el rol de usuario de objetos de almacenamiento (roles/storage.objectUser) para que el cliente pueda subir objetos a la carpeta administrada y quitar objetos de la carpeta administrada.

  4. Para todas las carpetas administradas, establece una política de IAM que otorgue el rol Storage Object Viewer (roles/storage.objectViewer) al principal allUsers, de modo que los objetos de imagen en el administrado las carpetas pueden ser visibles para el público.

    Como alternativa, puedes otorgar un rol personalizado que otorgue a allUsers el permiso de IAM storage.objects.get.

  5. Cuando un cliente cancele su cuenta, quita la política de IAM que le otorga al cliente el rol de usuario de objeto de Storage (roles/storage.objectUser) para la carpeta administrada asociada. Para inhabilitar el acceso público a los objetos dentro de esa carpeta administrada, quita la política de IAM que otorga el rol de visualizador de objetos de almacenamiento (roles/storage.objectViewer) a allUsers.