Ошибка авторизации Google Cloud OAuth: доступ к этому клиенту ограничен пользователями внутри его организации

#google-cloud-platform

#google-cloud-platform

Вопрос:

До реструктуризации Google доступа к облачному API у меня была учетная запись gmail, которая имела доступ к нескольким учетным записям Google Analytics, через которые я установил доступ к API с помощью учетных данных OAuth для большого количества сайтов. Они изменили свои политики и начали требовать проверки доменов, прежде чем они смогут получить доступ к учетным данным. Это имело место для «общедоступных» приложений, но если вы переключили его на «частное», проверка домена больше не имела значения. Мне пришлось это сделать, потому что обнародование проекта было нарушением TOS. Однако это совпало с введением настройки разрешений IAM в GCP, что вынудило меня создать «организацию» и «проект», а также вынудило меня создать идентификатор Google Cloud.

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

Итак, я здесь: я настраиваю новые учетные данные OAuth для нового сайта, затем пытаюсь получить доступ к API с помощью этих учетных данных. На начальном экране авторизации он просит меня выбрать соответствующую учетную запись Google, а затем должен попросить разрешить доступ. Вместо этого я получаю эту ошибку:

 Authorization Error
Error 403: org_internal
This client is restricted to users within its organization.
  

НО выбранная мной учетная запись была установлена в качестве администратора организации, в которой находится проект API! Я перепробовал миллиард разных вещей, и, похоже, единственный способ предоставить доступ к ЧЕМУ-либо — это создать учетные данные в другом проекте и войти в систему с учетной записью GCI. ОДНАКО это не та учетная запись, которая имеет доступ к Google Analytics, поэтому мне это ничуть не помогает.

В довершение всего, Google абсолютно не поддерживает это. Они отправляют меня сюда, в Stack Overflow, за поддержкой. Кто-нибудь может помочь?

Ответ №1:

Принятый ответ не помог. Помогли следующие шаги:

  1. Перейдите в консоль разработчика Google (https://console.cloud.google.com/apis/credentials/consent?project=XXX )
  2. Измените тип пользователя на External

Примечание: Это не делает ваш сайт общедоступным. Это позволяет пользователям за пределами вашей организации получать доступ обычным способом через IAM.

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

1. Это отражается на всех приложениях. Есть ли какой-либо способ ограничить использование приложений, а не всех приложений для этого проекта

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

3. @Tofandel, нам не нужно проверять приложение, мы можем добавить этих внешних пользователей вручную, и они смогут продолжить и использовать приложение. Конечно, это не масштабируемо, но, по крайней мере, выполнимо

Ответ №2:

Привязка внешнего адреса электронной почты не делает это удостоверение частью организации. Создайте новое удостоверение, основанное внутри организации. Если ваша организация example.com создайте идентификатор, такой как john@example.com и используйте это удостоверение. Другой вариант — снять ограничение.

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

1. Забыл упомянуть, что я снял ограничение, насколько я могу судить. Для ограничения домена установлено значение «Разрешить всем». Итак, вы хотите сказать, что я должен перенести доступ к учетной записи Google Analytics для каждой из моих учетных записей GA на эту новую учетную запись организации? Нет способа включить мою существующую учетную запись gmail в организацию?

2. Как давно вы внесли изменения? Иногда приходится ждать. — Организация основана на доменном имени. Является ли адрес электронной почты частью вашего домена? Пример john@gmail.com НЕ является частью организации example.com , и вы не можете сделать его таким.

3. То есть, хотя учетная запись gmail имеет права администратора организации, она не считается ее частью?

4. Предоставление привилегий учетной записи участника не изменяет личность этого участника.

5. есть идеи о том, как с этим можно справиться изящно? не показывая это огромное сообщение об ошибке моим клиентам