Как запустить облачную функцию GCP (частную) из AWS SNS через HTTP-триггер - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть облачная функция в GCP, которая срабатывает при получении любого объекта в корзине s3 с использованием уведомления SNS. SNS был настроен таким образом, что когда какой-либо объект попадает в корзину s3, он уведомляет об этом функцию облака GCP с помощью http-триггера (https url). На данный момент конечная точка функции Cloud опубликована c, чтобы ее можно было запускать из любого места, даже из веб-браузера, если у кого-то есть URL-адрес, представляющий большую угрозу безопасности. Поэтому я хотел бы сделать его приватным и хотеть, чтобы к нему обращались только через AWS SNS, но не понимая, как это можно сделать.

1 Ответ

1 голос
/ 06 апреля 2020

Вы не можете запретить пользователям вызывать вашу конечную точку HTTP, так как вы должны сделать конечную точку опубликованной c, чтобы Amazon SNS мог вызывать вашу конечную точку. Вы можете проверять запросы и отклонять запросы (возвращать 401 Несанкционированный), которые вы не хотите обрабатывать.

Существует несколько способов проверки запросов. Я перечисляю методы от наименее безопасных до самых безопасных (также наиболее простых в реализации).

Проверьте значения x-amz-sns-topic-arn или x-amz-sns-subscription-arn, ожидаемые в заголовках HTTP-запроса POST.

Настройте SNS для использования аутентификации Basi c с использованием имени пользователя и пароля. Проверьте оба значения.

Проверьте подпись уведомления SNS. Этот метод требует загрузки сертификата Amazon и проверки подписи для каждого запроса.

Использование Amazon SNS для обмена сообщениями между системами с конечной точкой HTTP / s в качестве подписчика

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...