Получение 403 при подключении к службе Cloud Run при использовании бессерверного коннектора VPC

У меня есть служба в Cloud Run (Service A), которая пытается вызвать другую службу в Cloud Run (Service B ). Обе службы находятся в us-east1. Для Service B для Ingress задано значение «Разрешить только внутренний трафик», а для аутентификации установлено значение «Разрешить вызовы без аутентификации.

Я создал бессерверный соединитель VPC в том же регионе, что и службы, и установил диапазон IP-адресов 10.8.0.0/28.

Затем я подключил Service A к упомянутому выше коннектору и установил «Маршрутизировать только запросы к частным IP-адресам через коннектор VPC».

Кажется, я получаю 403 при попытке обратиться в сервис. У кого-нибудь была эта проблема? Если да, то как вы решили эту проблему?


person Plate of Momos    schedule 21.03.2021    source источник


Ответы (3)


Чтобы направить весь трафик на бессерверный соединитель VPC, необходимо установить для выходного сигнала значение «Все».

В самом деле, даже если вы настроили службу B на внутренний исходящий трафик, служба Cloud Run по-прежнему будет открыта для всех, но для входящих запросов выполняется дополнительная проверка для подтверждения происхождения трафика (исходит от вашего VPC или нет).

В вашем случае в службе A с выходом только частного диапазона вы маршрутизируете только трафик, идущий на частный IP, и это не относится к всегда общедоступной внутренней службе B.

person guillaume blaquiere    schedule 21.03.2021
comment
Привет, @guillaumeblaquiere, спасибо за все ответы, которые вы предоставили, я ищу немного больше по этому ответу, например, рекомендуемый метод, если service A требуется доступ в Интернет. Я задал вопрос здесь stackoverflow.com/questions/68319456/, не могли бы вы дать некоторое представление? - person Kevin Danikowski; 09.07.2021

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

person Robertocd_98    schedule 28.04.2021

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

  1. Если предполагается, что служба может быть вызвана кем-либо, обновите ее настройки IAM, чтобы сделать службу общедоступной.
  2. Если служба предназначена для вызова только с определенными идентификаторами, убедитесь, что вы вызываете ее.

Найдите ссылку, которая может помочь в устранении этой ошибки.

person Lavanya LNU    schedule 07.05.2021