Назад | Перейти на главную страницу

Ограничить доступ к облачным сегментам Google по имени домена

Я хочу размещать файлы, которые мои пользователи загружают в мое веб-приложение, в облачных сегментах Google ... проблема в том, что мне нужно, чтобы разрешения были открыты для общественности, потому что мне также нужно получать файлы, когда они переходят на определенные страницы.

Очевидно, что это большой риск для безопасности, потому что даже если я назову файлы с uid в пути к файлу (например, "attachments / user_id / some_other_id / индивидуальный_file_uid / NameOfFile"), злоумышленник может просто перейти к https://www.googleapis.com/storage/v1/b/my_bucket/o/attachments и он перечислит все каталоги и файлы, которые у меня есть в этой общедоступной корзине. Но чтобы включить эти файлы в свое веб-приложение через <img/> теги, я не знаю другого способа ограничить доступ к этим файлам, не мешая img src.

Единственное, что я мог придумать, - это ограничить получение этих файлов отдельным доменным именем. То есть ... если мои веб-приложения размещены на application.example.com, я бы ограничил доступ к файлам только для application.example.com. Я нашел кое-что здесь: https://cloud.google.com/resource-manager/docs/organization-policy/restricting-domains но я думаю, что речь идет не об ограничении доступа по имени домена, а по домену организации.

Итак, я предполагаю, что мой вопрос действительно двоякий:

  1. Я неправильно смотрю на это? Есть ли лучший способ безопасного хранения этих изображений, в то же время доступного для моего веб-приложения?
  2. Как я могу ограничить доступ к этим файлам по доменному имени?

Я неправильно смотрю на это? Есть ли лучший способ безопасного хранения этих изображений, в то же время доступного для моего веб-приложения?

Да, вы неправильно видите указанную вами ссылку на документ.

Вы не можете ограничить или предоставить доступ к облачному хранилищу по имени домена DNS. Вы можете сделать сегмент Cloud Storage общедоступным, использовать подписанные URL-адреса для разрешения доступа, использовать API Cloud SDK или использовать управление доступом на основе идентификации.

Подписанные URL

Как я могу ограничить доступ к этим файлам по доменному имени?

Ты не можешь. Эта функция не является частью облачного хранилища. См. Мои предыдущие комментарии для получения дополнительной информации.

Ваш единственный вариант (учитывая безопасность) - использовать подписанные URL-адреса.