Я запускаю приложение Django на Azure Kubernetes Service и в целях безопасности хотел бы сделать следующее:
- Полностью заблокировать портал администратора из общедоступной c (например, средний Джо не может достигнуть
mysite.com/admin
) - Разрешить доступ через некоторый бэкдор (например, частную сеть, хост перехода и т. Д. c.)
Один сценарий будет запускать две совершенно разные службы: 1) основную часть API приложения, которая является просто основной кодовой базой с отключенным администратором . Это подается публично. и 2) Частный сайт за каким-то брандмауэром, на котором включен администратор . Каждый из них может находиться в отдельном кластере с другим полным доменным именем, но все они подключены к одному и тому же хранилищу данных. Это определенно излишне - должен быть способ сохранить все в кластере.
Я думаю, что мог бы быть способ настроить сетевой уровень Azure, чтобы заблокировать / разрешить трафик c из указанных c IP-диапазоны, и делать это для каждой конечной точки (например, mysite.com/admin
против mysite.com/api/1/test
). В качестве альтернативы, возможно, это выполнимо на уровне отдельных поддоменов (например, api.mysite.com/anything
против admin.mysite.com/anything
).
Это также может быть выполнимо на входном уровне Kubernetes, но я не могу понять, как.
Какой самый простой способ удовлетворить 2 требования?