Я работаю над микросервисным приложением и сейчас думаю о том, как обращаться с безопасностью при обращении в службу.
Для простоты представьте, что у меня есть только две службы:
- Api-шлюз (для доступа к inte rnet)
- Служба A (в DMZ, доступна только через API gtw)
Служба A имеет конечную точку POST, скажем, POST /customers
для создания клиента.
У меня также есть конечная точка POST на Api Gateway POST /gtw/customers
. Это работает таким образом, что он выполняет некоторую проверку (вызывает другую службу), и если все в порядке, то он делегирует запрос в службу А.
Чего я хочу добиться, так это того, что конечная точка в службе А может быть вызывается только шлюзом API (поэтому проверка применяется). Я рассматриваю два подхода:
- Защитите конечную точку в Сервисе A токеном JWT, и шлюз API сгенерирует токен и затем может вызвать конечную точку в Сервисе A
- Оставьте это как это потому, что служба A работает в демилитаризованной зоне, поэтому ее нельзя вызывать напрямую (поэтому в основном она защищена на уровне «инфраструктуры»).
Является ли это хорошим подходом для обработки аутентификации между сервисами и сервисами? по токенам JWT?