2017-01-30 8 views
4

Некоторое время назад настройки Google Apps (которые теперь назывались G Suite), связанные с App Engine, были перенесены в Google Cloud Console.Ограничить доступ App Engine к учетным записям G Suite на пользовательском домене

В настоящее время, документированный способ ограничить доступ к экземпляру App Engine для пользователей ассоциированного G Suite, через эту страницу Google Cloud Console:

enter image description here

При нажатии на кнопку [Изменить] на этой странице в разделе «Аутентификация Google» вы можете переключаться между «API учетных записей Google» и «Домен Google Apps» (который на самом деле должен называться «G Suite domain»).

enter image description here

Существует поле ввода ниже этого выпадающего списка, но не объяснение того, что должно быть введено здесь. Через пробную ошибку я обнаружил, что это должно быть доменное имя связанного G Suite.

В минимальном Hello World приложения развернуты в App Engine, мы устанавливаем параметр аутентификации:

login: required 

Пожалуйста, обратите внимание, что некоторые услуги нашего приложения написаны на Python, другие в Java.

Доступ к экземпляру экземпляра приложения с помощью имени [project-id] .appspot.com работает очень хорошо, Google запрашивает учетные данные в соответствующем G Suite и перенаправляет соответствующим образом через процесс аутентификации на целевой путь.

Проблема заключается в том, что при доступе к экземпляру App Engine через собственный домен аутентификация вообще не работает. Это покажет 500, и журнал сервер читает:

аутентификация для домена example.com Служба Google может быть выполнена только тогда, когда запросы обслуживаются из поддомена этого домена, или он был утвержден через Google Apps Панель управления. См. https://developers.google.com/appengine/articles/auth

Связанная страница в этом сообщении об ошибке больше не существует, т. Е. Она была заменена страницей, которая описывает аутентификацию в целом. Подняв эту старую страницу из онлайн-кэшей, я вижу, что она описала старый способ Google Apps добавления проекта App Engine на страницу служб Google Apps, но теперь эта функция была удалена или перенесена в Google Cloud Console.

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

Есть ли здесь кто-нибудь, кому удалось ограничить доступ App Engine к учетным записям G Suite через собственный домен? Или эта функция просто сломана?

В частности, я ищу ответы, которые решают эту проблему в контексте приложений Python и/или Java GAE, а также для кода, который демонстрирует, как решить эту проблему программно, если это необходимо.

+0

Был ли сервис, создающий эту конкретную 500 ошибку, написанную на языке python или java? –

+0

Конкретная услуга, в которой мы столкнулись с ошибкой, была написана на Python, но если выяснится, что ограничение доступа к учетным записям G Suite возможно только для приложений Java, мы будем мигрировать. Отсюда и широкий круг вопросов. – nikola

+0

Это не ясно из скриншотов, но у вас также есть домен G Suite, указанный в разделе «Пользовательские домены», и вы делаете запрос в приложение через пользовательский домен, а не домен appspot.com? – Adam

ответ

3

Похоже, что это известная проблема с проверкой подлинности домена Google Apps, если аутентификация не работает, если вы включили аутентификацию домена Google Apps после домен добавлен в раздел «Пользовательские домены» консоли.

Обходной путь заключается в удалении пользовательского сопоставления доменов из «Пользовательских доменов», а затем повторного добавления его после включения проверки подлинности домена Google Apps для домена. Страница документации Using Custom Domains and SSL будет обновлена, чтобы отразить это.

+0

Спасибо, кажется, что это исправлено! Просто протестированный с нашим экземпляром dev, ошибка сервера исчезла, и ограничение на хостинг домена работает. Остальная косметологическая проблема заключается в том, что авторизация Google будет запрашивать учетные данные против нашего домена, но будет принимать имя пользователя/пароль для учетной записи, отличной от hd, и только после завершения аутентификации она перенаправит запрос на имя пользователя. Наверное, это потому, что Google не может определить, где находится учетная запись, до тех пор, пока не начнется танец, верно? – nikola

+0

Я не совсем понимаю, что происходит на основе вашего описания. Это может быть лучше опубликовано как новый вопрос, поэтому вы можете предоставить скриншоты для контекста. – Adam

 Смежные вопросы

  • Нет связанных вопросов^_^