Compartir y colaborar

En este documento se describen situaciones habituales de uso compartido de datos y colaboración. Incluye cómo configurar las políticas de gestión de identidades y accesos (IAM) de tu proyecto y tu segmento para implementar los escenarios.

Almacenamiento y mantenimiento de datos privados

En este caso, el analista de marketing de una empresa quiere usar Cloud Storage para crear copias de seguridad de previsiones de ingresos confidenciales y datos de proyecciones de ventas. El analista de marketing debe ser el único que pueda acceder a los datos. El departamento de TI de la empresa supervisa y gestiona la cuenta de Cloud Storage de la empresa. Sus principales responsabilidades de gestión incluyen la creación y el uso compartido de contenedores para que varios departamentos de la empresa tengan acceso a Cloud Storage.

Para satisfacer las necesidades de confidencialidad y privacidad del analista de marketing, los permisos de los objetos y del contenedor deben permitir que el personal de TI mantenga el contenedor en el que se almacenan las hojas de cálculo, pero también asegurarse de que el personal de TI no pueda ver ni descargar los datos almacenados en el contenedor. Para ello, crea un segmento llamado finance-marketing y asigna los siguientes roles a los principales especificados para los recursos indicados:

Rol Recurso Principal Descripción
Propietario de segmentos heredados de Storage El segmento finance-marketing Personal de TI Si asignas al personal de TI el rol Propietario de segmento antiguo de Storage en el segmento, podrá realizar tareas habituales de gestión de segmentos, como eliminar objetos y cambiar la política de gestión de identidades y accesos del segmento. También permite al personal de TI enumerar el contenido del finance-marketing, pero no ver ni descargar ninguno de los elementos.
Usuario de objetos de Storage El segmento finance-marketing Analista de marketing Si le asignas el rol Usuario de objetos de almacenamiento al analista de marketing en el segmento, podrá subir, ver, actualizar y eliminar objetos en él.

Con estos roles, nadie excepto el analista de marketing puede ver ni descargar los objetos que hay en el contenedor. El personal de TI puede seguir viendo el contenido del segmento finance-marketing, así como eliminar y sustituir los archivos almacenados en él si es necesario.

Implementar esta situación

Tus acciones

Para implementar el escenario, debes seguir estos pasos:

  1. Crea un segmento llamado finance-marketing. Para ver instrucciones detalladas, consulta el artículo Crear un segmento.

  2. Asigna a cada miembro del equipo de TI el rol Propietario de segmentos heredados de Storage para el segmento. Para obtener instrucciones detalladas, consulta Añadir un principal a una política a nivel de contenedor.

Acciones del personal de TI

El personal de TI debe llevar a cabo las siguientes acciones para implementar el escenario:

  1. Asigna al analista de marketing el rol Usuario de objetos de Storage del segmento. Para obtener instrucciones detalladas, consulta Añadir un principal a una política a nivel de contenedor.

Buzón de proveedores

En este caso, una empresa constructora trabaja con varias empresas de diseño arquitectónico que entregan planos de edificios para diversos proyectos. La empresa de construcción quiere configurar un buzón para las empresas proveedoras, de forma que puedan subir planos arquitectónicos en diferentes fases del proyecto. El buzón debe garantizar la privacidad de los clientes de la empresa constructora, lo que significa que no puede permitir que los proveedores vean el trabajo de los demás. Para ello, debes crear un contenedor independiente para cada estudio de arquitectura y asignar los siguientes roles a los recursos indicados para los principales especificados:

Rol Recurso Principal Descripción
Propietario Proyecto general Gerente de una empresa constructora Si le asignas el rol Propietario a la responsable de la empresa constructora a nivel de proyecto, podrá crear contenedores para cada proveedor.
Lector de objetos de Storage Proyecto general Gerente de una empresa constructora El permiso Lector de objetos de Storage permite al responsable de la empresa de construcción descargar los objetos que suben los proveedores.
Propietario de segmentos heredados de Storage Cada segmento de proveedores Gerente de una empresa constructora El rol Propietario de contenedor de almacenamiento antiguo permite al gestor de la empresa de construcción enumerar el contenido de cada contenedor, así como eliminar objetos al final de cada fase del proyecto.
Administrador de objetos de Storage Cada segmento de proveedores El proveedor asociado al segmento Si asignas a cada proveedor el rol Administrador de objetos de almacenamiento de su propio segmento, tendrá un control total sobre los objetos de su segmento, incluida la capacidad de subir objetos, enumerar los objetos del segmento y controlar quién tiene acceso a cada objeto. No les permite cambiar ni ver metadatos, como los roles del segmento en su conjunto, ni tampoco les permite enumerar o ver otros segmentos del proyecto, lo que protege la privacidad entre los proveedores.

Implementar esta situación

Tus acciones

Para implementar el escenario, debes seguir estos pasos:

  1. Asigna al gestor de la empresa de construcción el rol Propietario en el proyecto y el rol Lector de objetos de almacenamiento en el proyecto. Para obtener instrucciones detalladas, consulta Asignar un solo rol.

Acciones de los administradores de empresas constructoras

El responsable de la empresa de construcción debe llevar a cabo las siguientes acciones para implementar el escenario:

  1. Crea un contenedor independiente para cada proveedor. Para ver instrucciones detalladas, consulta Crear un segmento.

    Como la jefa de obra tiene el rol Propietario, se le asigna automáticamente el rol Propietario de segmentos heredados de Storage para cada segmento que cree.

  2. Asigna a cada proveedor el rol Administrador de objetos de almacenamiento de su respectivo segmento. Para obtener instrucciones detalladas, consulta Añadir un principal a una política a nivel de contenedor.

  3. Si algún proveedor tiene intención de usar la consola Google Cloud , proporciónale un enlace a su cubo, que tiene el siguiente formato:

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

    donde BUCKET_NAME es el nombre del segmento del proveedor.

Acciones de los proveedores

Cada proveedor debe llevar a cabo las siguientes acciones para implementar el escenario:

  1. Sube los objetos al segmento asignado. La forma más sencilla de hacerlo es a través de la consola Google Cloud . Otros métodos, como la CLI de Google Cloud, requieren una configuración adicional antes de poder usarse. Para ver instrucciones detalladas, consulta Subir un objeto.

Descargas en el navegador con autenticación

En este caso, un cliente quiere que los archivos estén disponibles para personas concretas mediante descargas sencillas en el navegador. Para ello, puedes usar la autenticación basada en cookies de Cloud Storage. Para descargar objetos, los usuarios deben autenticarse iniciando sesión en una cuenta válida, como Google Workspace, Cloud Identity, Gmail y federación de identidades de empleados. Los siguientes usuarios autenticados pueden descargar el objeto:

El resto de los usuarios recibe un error 403 Forbidden (access denied).

Para usar esta función, concede permiso a un usuario para acceder a un objeto y, a continuación, dale una URL especial al objeto. Cuando el usuario hace clic en la URL, Cloud Storage le pide que inicie sesión en su cuenta (si aún no lo ha hecho) y el objeto se descarga en su ordenador.

Implementar esta situación

Puedes implementar la autenticación basada en cookies siguiendo cuatro pasos generales:

  1. Crea un segmento. Para ver instrucciones detalladas, consulta el artículo Crear un segmento.

    Si creas un contenedor en un proyecto de tu propiedad, obtendrás automáticamente permisos que te permitirán subir objetos al contenedor y cambiar quién tiene acceso a él.

  2. Sube el objeto que quieras compartir. Para ver instrucciones detalladas, consulta Subir un objeto.

  3. Da acceso al objeto a los usuarios. Una forma habitual de hacerlo es modificar la política de gestión de identidades y accesos del segmento para asignar a usuarios específicos el rol Lector de objetos de Storage, que se aplica a todos los objetos del segmento. Para ver instrucciones detalladas, consulta Añadir un principal a una política a nivel de cubo.

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

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

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

    Donde:

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

    Como solo pueden verla los usuarios con los permisos de acceso adecuados, no importa cómo proporciones esta URL. Puedes enviárselo directamente o publicarlo en una página web.

Usar un grupo para controlar el acceso

En este caso, quieres que los objetos estén disponibles para usuarios específicos, como los usuarios invitados a probar un nuevo software. Además, quieres invitar a muchos usuarios, pero no quieres definir los permisos de cada uno de ellos de forma individual. Al mismo tiempo, no quieres que los objetos sean legibles públicamente y enviar enlaces a los clientes invitados para que accedan a ellos, ya que existe el riesgo de que los enlaces se envíen a usuarios que no estén invitados.

Una forma de gestionar esta situación es mediante Grupos de Google. Puedes crear un grupo y añadir solo a los usuarios que invites. Después, puedes dar acceso a los objetos a todo el grupo:

Rol Recurso Principal Descripción
Lector de objetos de Storage Tu segmento Grupo de Google Si asignas al grupo de Google el rol Lector de objetos de Storage del segmento, cualquier cliente que forme parte del grupo podrá ver los objetos del segmento. Ningún usuario ajeno al grupo tiene acceso a los objetos.

Implementar esta situación

  1. Crea un grupo de Google y añade clientes. Para obtener instrucciones detalladas, consulta el artículo Crear un grupo.

  2. Permite crear un depósito. Para ver instrucciones detalladas, consulta Crear un segmento.

  3. Sube objetos a tu segmento. Para ver instrucciones detalladas, consulta Subir un objeto.

  4. Da acceso al grupo de Google a los objetos.

    • Puedes usar el rol de gestión de identidades y accesos storage.objectViewer para dar acceso de lectura a todos los objetos de tu segmento. Para obtener instrucciones detalladas, consulta Añadir un principal a una política a nivel de contenedor.

    • Si solo quieres dar acceso a algunos de los objetos del segmento, define la LCA Reader en esos objetos concretos. Para ver instrucciones detalladas, consulta Configurar ACLs.

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

    Por ejemplo, al usar la consola Google Cloud , la URL https://console.cloud.google.com/storage/browser/BUCKET_NAME te lleva a la lista de objetos del contenedor BUCKET_NAME.

Usar carpetas gestionadas para controlar el acceso

En este caso, tienes varios clientes, cada uno de los cuales tiene un sitio web único que contiene imágenes personalizadas. Quieres que los clientes solo puedan subir imágenes a su sitio web, pero no a otros. Cuando un cliente cancele su cuenta, querrás inhabilitar el acceso público a las imágenes de su sitio web, pero no eliminar las imágenes por si el cliente quiere reactivar su cuenta.

Una forma de gestionar esta situación es mediante el uso de carpetas gestionadas. Puedes crear varias carpetas gestionadas en un contenedor y usar IAM para controlar el acceso a carpetas gestionadas concretas tanto para tus clientes como para sus usuarios finales.

Implementar esta situación

  1. crear un depósito,

  2. Cree una carpeta gestionada en el segmento para cada sitio web del cliente.

  3. En cada carpeta gestionada, define una política de gestión de identidades y accesos que conceda a un cliente el rol de usuario de objetos de Storage (roles/storage.objectUser) para que pueda subir objetos a la carpeta gestionada y eliminarlos de ella.

  4. En todas las carpetas gestionadas, define una política de gestión de identidades y accesos que asigne el rol de lector de objetos de Storage (roles/storage.objectViewer) a la entidad principal allUsers para que los objetos de imagen de las carpetas gestionadas puedan ser visibles públicamente.

    También puedes asignar un rol personalizado que conceda a allUsers el permiso de gestión de identidades y accesos storage.objects.get.

  5. Cuando un cliente cancele su cuenta, elimina la política de gestión de identidades y accesos que le otorga el rol de usuario de objetos de almacenamiento (roles/storage.objectUser) en la carpeta gestionada asociada. Para inhabilitar el acceso público a los objetos de esa carpeta gestionada, elimina la política de gestión de identidades y accesos que concede el rol Lector de objetos de Storage (roles/storage.objectViewer) a allUsers.