Ваш прокси выполняет TLS Interception
.Это приводит к тому, что библиотеки Google не доверяют SSL-сертификату, который ваш прокси-сервер предоставляет при доступе к конечным точкам Google API.Это проблема посредника.
Решение состоит в том, чтобы обойти прокси для API Google.В вашей подсети VPC, где работает ваше приложение, включите частный доступ к Google.Для этого необходимо, чтобы правило маршрутизации VPC по умолчанию все еще существовало (или пересоздало его).
Частный доступ к Google
[ПРАВИТЬ после комментариев ниже]
Я добавляю этот комментарий, чтобы напугать пчелиный воск из-под управления.
Перехват TLS настолько опасен, что ни одна разумная компания не осуществит его, если прочтет следующее.
Сценарийв этом примере.Я айтишник, отвечающий за корпоративный прокси.В компании реализован TLS Interception, и я контролирую прокси.У меня нет доступа к ресурсам Google Cloud для моей компании.Я очень умен и хорошо понимаю Google Cloud IAM и OAuth.Я собираюсь взломать мою компанию, потому что, возможно, я не получил повышение (придумать собственную причину).
Я жду, пока один из менеджеров, у которого есть разрешения на уровне организации или владельца / редактора, пройдет аутентификацию в Google.Облако.Мой прокси-сервер регистрирует HTTPS-заголовки, тело и ответ для всего, что идет к https://www.googleapis.com/oauth2/v4/token
, и еще несколько URL.
Возможно, прокси хранит журналы в Google Cloud Bucket или в томе SAN без активной авторизации.Может быть, я всего лишь инженер-программист, который находит файлы журнала прокси-сервера, которые лежат или легко доступны.
Корпоративный администратор входит в свою учетную запись Google.Я получаю возвращенный токен доступа OAuth.Теперь я могу выдавать себя за администратора организации в течение следующих 3600 секунд.Кроме того, я получаю маркер обновления OAuth.Теперь я могу воссоздать токены доступа OAuth по своему желанию в любое время, пока не будет отменен токен обновления, который для большинства компаний никогда не отменяется.
Для сомневающихся изучите мой проект Golang, в котором показано, как сохранить токены доступа OAuth иОбновить токены в файл для любой учетной записи Google, используемой для аутентификации.Я могу взять этот файл домой и получить авторизацию без какой-либо аутентификации.Этот код воссоздает токен доступа по истечении срока его действия, предоставляя мне почти вечный доступ к любой учетной записи, для которой эти учетные данные авторизованы.Ваши внутренние ИТ-ресурсы никогда не узнают, что я делаю это за пределами вашей корпоративной сети.
Примечание. В журнале аудита Stackdriver Audit может регистрироваться IP-адрес, однако идентификационные данные будут теми учетными данными, которые я украл.Чтобы скрыть свой IP-адрес, я бы пошел в Starbucks или публичную библиотеку в нескольких часах езды от моего дома / работы и оттуда делал свои дела.Теперь выясните, где и кто для этого хакера.Это приведет к изжоге у судебного эксперта.
https://github.com/jhanley-com/google-cloud-shell-cli-go
Примечание. Эта проблема не связана с Google OAuth или Google Cloud.Это пример проблемы безопасности, развернутой компанией (перехват TLS).Этот стиль техники будет работать почти для всех известных мне систем аутентификации, которые не используют MFA.
[END EDIT]