Как запретить прямой доступ к API, размещенному в службе приложений Azure - PullRequest
0 голосов
/ 04 сентября 2018

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

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Я лично использовал ограничения IP для большого успеха. APIM имеет статический IP-адрес, поэтому вы можете установить ограничение IP-адреса в «корневом API», который разрешает только вызовы APIM. Это приводит к 403, если вы вызываете корневой API напрямую.

Если вы не хотите, чтобы 403 исходил от корневого API, вы можете использовать политики, чтобы изменить это, или вы можете настроить аутентификацию на уровне APIM, и вы получите 401, прежде чем даже доберетесь до 403.

0 голосов
/ 05 сентября 2018

Существует несколько вариантов различных уровней безопасности:

  1. Общий секрет - установите определенный заголовок с определенным значением в APIM и проверьте это значение в своем бэкэнде.
  2. IP-фильтр - проверьте наличие APIM IP в качестве источника на сервере.
  3. Проверка подлинности сертификата клиента - загрузите проверку подлинности сертификата клиента в APIM и прикрепите его к каждому запросу к бэкэнду. Проверьте наличие этого сертификата на сервере.
  4. VNET - поместите APIM и ваш бэкэнд в один и тот же VNET и заблокируйте доступ извне к бэкенду.
...