Как лучше защитить мой веб-API, вызываемый функцией Azure? - PullRequest
0 голосов
/ 04 октября 2018

Мне было поручено создать функцию Azure, которая будет запускаться из раздела служебной шины.Затем функции потребуется записать данные в нашу базу данных, которая размещена внутри нашей сети.У меня проблема в том, что сервер, на котором находится база данных, не имеет внешнего IP-адреса.

Чтобы решить эту проблему, я создам веб-API, который будет находиться в нашей внутренней сети и размещен на IIS.сервер, который имеет внешний IP.Функция вызовет API, и API запишет данные обратно в базу данных, без проблем.

Большая проблема, которую я сейчас имею, заключается в том, как надлежащим образом защитить API.Я хотел бы получить некоторые указания относительно того, как лучше всего это сделать, поскольку не будет никаких клиентских приложений, фронтальных порталов или списка учетных данных, которые необходимо сохранить.Я ознакомился с проверкой подлинности Azure AD, которая хороша для функции Azure, но поскольку веб-API находится за пределами Azure и во внутренней сети, я не уверен, что это решение.Я знаю о JWT и использовал его в другом API, который я разработал для стороннего клиента, где были созданы секретные ключи и учетная запись, но есть ли необходимость в создании учетной записи для внутреннего использования, я нетак уверен.

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

Заранее спасибо всем, у кого есть какие-либо предложения :)

1 Ответ

0 голосов
/ 04 октября 2018

Если обстоятельства позволяют это, подход, который я использовал много раз, состоит в том, чтобы просто проверить значение настройки.Это похоже на то, что функции Azure предлагают из коробки.В зависимости от этого, вы можете либо сохранить его непосредственно как настройку (открытый текст) в настройках функции, либо использовать KeyVault для безопасного хранения.

Это очень просто реализовать и обычно отлично работает для такого типаточечные интеграции, которые более или менее постоянны.

В качестве альтернативы, напишите программу, которая делает то же, что и функция, но запускает ее сразу и избегает всей необходимости интеграции.Добавление принципалов jwt / service кажется чрезмерным.

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