#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