Как сопоставить конечную точку на основе пользователя IAM в AWS API Gateway? - PullRequest
0 голосов
/ 28 декабря 2018

На сервере EC2 у нас разные экземпляры одного и того же API, размещенные на разных портах.Как и

http://localhost:9000/api/v1/customer
http://localhost:9001/api/v1/customer
http://localhost:9002/api/v1/customer

Эти конечные точки не предоставляются публично.Но каждая конечная точка уникальна для нашего клиента.

Теперь наши клиенты хотят получить доступ к информации customer с помощью REST API.Поэтому я пытаюсь использовать AWS API Gateway для создания публичного API REST.Идея состоит в том, чтобы как только аутентифицированный запрос был получен от клиента, затем просто выполнить запрос к соответствующей конечной точке.

Я создал IAM пользователя для каждого клиента, поэтому у каждого клиента есть свои access key и secret key,Затем в AWS API Gateway console я создал новый REST API, сконфигурировал Method Request для использования AWS_IAM авторизации.Теперь мне нужно настроить Integration Request.

Как выбрать правильную конечную точку на основе пользователя IAM в Integration Request?

1 Ответ

0 голосов
/ 28 декабря 2018

API-шлюз в настоящее время не поддерживает условную маршрутизацию на основе входных параметров.Это то, что мы можем поддержать в будущем, но у меня нет расписания, когда оно будет доступно.

Сколько клиентов вам нужно поддерживать?Если у вас не слишком много, вы, вероятно, можете справиться с этим с помощью отдельного этапа для каждого клиента и использовать переменные этапа .Переменной в этом случае будет порт сервера.

Затем вы предоставите каждому пользователю IAM разрешения только для этапа , настроенного для этого клиента.

Примечание.существует ограничение на количество этапов в покое api , и хотя оно может быть увеличено, оно не может увеличиваться бесконечно.Если вы ожидаете, что вам понадобится использовать этот метод для более чем ~ 50 клиентов, вам следует рассмотреть возможность использования отдельных ресурсов или использовать остальные apis для каждого клиента.

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