Restringir el acceso a los depósitos de la nube de Google por nombre de dominio

Restringir el acceso a los depósitos de la nube de Google por nombre de dominio

Quiero alojar los archivos que mis usuarios cargan en mi aplicación web en depósitos de la nube de Google... el problema es que necesito tener los permisos abiertos al público porque también necesito recuperar los archivos cuando van a ciertas páginas.

Obviamente, esto es un gran riesgo de seguridad, porque incluso si nombro los archivos con un uid en la ruta del archivo (es decir..."attachments/user_id/some_other_id/individual_file_uid/NameOfFile"), un atacante podría simplemente navegar https://www.googleapis.com/storage/v1/b/my_bucket/o/attachmentsy enumeraría Saco todos los directorios y archivos que tengo en ese depósito de acceso público. Pero para incluir estos archivos en mi aplicación web mediante <img/>etiquetas, no conozco otra forma de restringir el acceso a esos archivos sin interferir con el archivo img src.

Lo único que se me ocurrió es restringir la OBTENER estos archivos por nombre de dominio individual. Es decir... si mis aplicaciones web están alojadas en application.example.com, restringiría el acceso a los archivos para que solo sean accesibles desde application.example.com. Encontré algunas cosas aquí:https://cloud.google.com/resource-manager/docs/organization-policy/restricting-domainspero creo que no se trata de restringir el acceso por nombre de dominio, sino por dominio organizacional.

Entonces supongo que mi pregunta es realmente doble:

  1. ¿Estoy viendo esto mal? ¿Existe una mejor manera de almacenar estas imágenes de forma segura y al mismo tiempo ser accesibles desde mi aplicación web?
  2. ¿Cómo puedo restringir el acceso a estos archivos por nombre de dominio?

Respuesta1

¿Estoy viendo esto mal? ¿Existe una mejor manera de almacenar estas imágenes de forma segura y al mismo tiempo ser accesibles desde mi aplicación web?

Sí, está viendo esto mal con respecto al enlace del documento que proporcionó.

No puede restringir ni otorgar acceso a Cloud Storage mediante el nombre de dominio DNS. Puede hacer público un depósito de Cloud Storage, usar URL firmadas para permitir el acceso, usar las API del SDK de Cloud o usar el control de acceso basado en identidad.

URL firmadas

¿Cómo puedo restringir el acceso a estos archivos por nombre de dominio?

No puedes. Esta función no forma parte de Cloud Storage. Vea mis comentarios anteriores para más información.

Su única opción (teniendo en cuenta la seguridad) es utilizar URL firmadas.

información relacionada