Как разместить частный статический веб-сайт в облачном хранилище Google?

#google-cloud-platform #google-cloud-storage

#google-облачная платформа #google-облачное хранилище

Вопрос:

Я хочу разместить статическое веб-приложение, содержащее только HTML / CSS / JS и некоторые ссылки между HTML-страницами.

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

Когда я делаю его приватным, CSS / JS перестает работать, потому что index.html не удается получить доступ к этим файлам из-за проблемы с разрешением.

Как этого добиться?

Комментарии:

1. AFAIK это невозможно. Функция статического веб-сайта требует, чтобы объекты были общедоступными. Любой объект, требующий авторизации, вернет ошибку 403.

Ответ №1:

Как сказал Джон, вы не можете достичь этого с помощью облачного хранилища. Однако вы можете использовать App Engine standard с IAP.

Для этого получите исходные тексты и создайте app.yaml файл с этим содержимым

 runtime: python3

handlers:
- url: /stylesheets
  static_dir: stylesheets

- url: /statics
  static_dir: statics

- url: /.*
  script: index.html
 

Затем разверните его gcloud app deploy

Затем перейдите identity aware proxy page и активируйте IAP для своей службы App Engine.

Наконец, вы можете выбрать свою службу App Engine, перейти на информационную панель справа и нажать «Добавить участника». Вы можете добавить одного пользователя, группу или компанию. (у всех должна быть учетная запись Google. Хорошо работает, например, с компанией Google Workspace); и добавьте роль пользователя веб-приложения, защищенного IAP

введите описание изображения здесь