Рейтинг:0

Ограничение на основе IP-адреса ключа Google API при использовании частных экземпляров и Cloud NAT в GCP

флаг ad

Я использую частный экземпляр виртуальной машины в GCP вместе с Cloud NAT, чтобы разрешить этому экземпляру доступ в Интернет. Недавно я пытался получить доступ к службе API Google Places через этот экземпляр, используя ключ API. В этом сценарии рекомендуется ограничить использование этого ключа API по IP-адресу. К сожалению, я получаю ЗАПРОС ОТКЛОНЕН ошибка с сообщением «Этот IP-адрес, сайт или мобильное приложение не авторизованы для использования этого ключа API. Запрос получен с IP-адреса {IPv6-адрес удален}, с пустым реферером», когда я пытаюсь это сделать, несмотря на то, что GCP не поддерживает IPv6-адреса в VPC .

Я подозреваю, что, поскольку включение Cloud NAT автоматически активирует Private Google Access, на самом деле происходит некоторый внутренний GCP частный IPv4 в IPv6 NAT до того, как запрос попадет в API, но, очевидно, я не могу это подтвердить.

Тогда мой вопрос: кто-нибудь знает способ включить ограничение на основе IP для ключей API Google Places в этой среде (частный экземпляр виртуальной машины + облачный NAT/частный доступ к Google)?

Спасибо!

Michael Hampton avatar
флаг cz
Вы удалили адрес IPv6 (возможно, без необходимости), поэтому невозможно сказать, что это может быть. По возможности следует избегать запутывания.
Рейтинг:0
флаг au
  • При установлении частного подключения к службам API Google определенные должны быть выполнены процедуры, включающие создание маршрута к ограниченный.googleapis.com. Соответствующие дополнительные сведения, которые могут быть направлено из документ.

  • Ваше наблюдение верно, что включение NAT приводит к активации PGA хоть он и не активируется вручную и Андромеда (предоставляет н/з виртуализация для GCP) выполняет инкапсуляцию IPv4 и IPv6.

  • Как упоминалось в документ, когда частная виртуальная машина отправляет пакет на адрес назначения (199.36.153.8/30 или 199.36.153.4/30), инкапсуляция Andromeda заключает пакет IPv4 в пакет Andromeda NAT64 IPv6. Это внутренняя маршрутизация. Биты с 0 по 31 — это внутренний IPv4-адрес виртуальной машины; биты с 32 по 63 представляют собой уникальный 32-битный идентификатор сети VPC (называемый VNID); биты с 64 по 127 являются общими 64 битами (8 байтами) для всех клиентов. Таким образом, каждая виртуальная машина GCP имеет глобально уникальный IPv6-адрес, маршрутизируемый в сетях Google.

  • Попробуйте выполнить приведенную ниже настройку в API и службах -> Реквизиты для входа.

    1. Выберите ключ.
    2. В разделе «Ограничение API» выберите тип API.
    3. Установите для параметра «Ограничение приложений» значение «Нет».
    4. Сохранять

Ответить или комментировать

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