Я следил за конечными точками облака Google с помощью учебника движка Google Kubernetes здесь: https://cloud.google.com/endpoints/docs/openapi/get-started-kubernetes-engine, используя мое собственное docker изображение. Часть Kubernetes работает нормально, и я могу получить доступ к своим услугам через IP-адрес loadbalancer.
Однако, когда я пытаюсь разместить свой сервис за облачными конечными точками, чтобы защитить его, конечная точка остается общедоступной c, и к ней можно получить доступ без ключа API. Вот мой openapi.yaml
, развернутый с gcloud endpoints services deploy openapi.yaml
:
swagger: "2.0"
info:
description: "A test."
title: "API test"
version: "1.0.0"
host: "<test-api.endpoints.MY-PROJECT-ID.cloud.goog>"
x-google-endpoints:
- name: "<test-api.endpoints.MY-PROJECT-ID.cloud.goog>"
target: "<MY LOADBALANCER IP>"
#require an API key to access project
security:
- api_key: []
paths:
/:
get:
summary: Return django REST default page
description: test
operationId: test
responses:
"200":
description: OK
securityDefinitions:
# This section configures basic authentication with an API key.
api_key:
type: "apiKey"
name: "key"
in: "query"
Когда я пытаюсь получить доступ к своему сервису через значение для host
(скрыто, потому что оно все еще открыто), оно все еще открыто и не требует ключа API. В журналах оконечных точек облака тоже ничего не отображается. Насколько я понимаю, одной конфигурации openapi.yaml
должно быть достаточно для ограничения доступа?