Скрыть выполнение облачных функций за конечными точками облака - PullRequest
0 голосов
/ 06 мая 2019

Мне было интересно, можно ли ограничить / скрыть прямой доступ к моей облачной функции с помощью конечных точек облака.

Я следовал этому учебнику от Google.

На ссылке написано, что:

С этой настройкой ESP перехватывает все запросы к вашим функциям и выполняет любые необходимые проверки (например, аутентификацию) перед вызовом функции

Мне удалось завершить обучение, добавив механизм проверки подлинности JWT на конечную точку. Но даже если я могу получить доступ с URL-адреса из CloudRun / ESP (с включенной защитой), я все же могу получить доступ с прямого URL-адреса функции (защита не применяется на этом уровне, поэтому она небезопасна). Как я могу избежать этого?

Заранее спасибо!

1 Ответ

2 голосов
/ 07 мая 2019

GCF PM здесь,

Вам нужно будет включить GCF IAM, как упоминалось во второй половине шага 5: «предоставьте ESP разрешение Cloud Identity and Access Management (Cloud IAM) для вызова ваших функций."

Это требует шага 7" Прежде чем вы начнете ", который присоединяется к альфа-белому списку

После этого вы можете защитить функцию, как указано:

gcloud alpha functions add-iam-policy-binding FUNCTION_NAME \
    --member "serviceAccount:ESP_PROJECT_NUMBER-compute@developer.gserviceaccount.com" \
    --role "roles/cloudfunctions.invoker" \
    --project FUNCTIONS_PROJECT_ID

Извинения за странное совпадение продуктов на альфа-стадии - GCF IAM должен скоро стать публичным!

...