У меня есть рабочая роль, в которой размещается ApiController
, и в настоящее время она взаимодействует с общедоступным Интернетом через входные конечные точки http и https, которые я определил в своем файле конфигурации службы.
Я хотел бы поставитьэтот API-интерфейс стоит за API-интерфейсом Azure APIM, и весь трафик проходит через него, а не напрямую попадает в рабочую роль.Я в основном там, но у меня проблемы с тем, чтобы рабочую роль нельзя было получить напрямую из общедоступного Интернета.
В настоящее время:
Я считаю,лучший способ для меняпредотвратить доступ к моей рабочей роли напрямую из общедоступного Интернета будет , определяющим правила списка контроля доступа в своем файле конфигурации , которые будут разрешать только вызовы, исходящие из моего API APIM.Это будет выглядеть примерно так:
<AccessControls>
<AccessControl name="APIM">
<Rule action="permit" description="OnlyPermitAPIM" order="100" remoteSubnet="?" />
</AccessControl>
</AccessControls>
<EndpointAcls>
<EndpointAcl role="RoleName" endPoint="httpsIn" accessControl="APIM"/>
<EndpointAcl role="RoleName" endPoint="httpIn" accessControl="APIM"/>
</EndpointAcls>
Я не уверен, какое будет правильное значение для свойства remoteSubnet
.Я попытался ввести значение адресного пространства моей виртуальной сети ARM (в которой находится мой API APIM), но, похоже, это не сработало, тестовые вызовы вернули статус 500.
Это правильный подход?Кроме того, есть ли способ гарантировать, что мой APIM API выполняет вызов напрямую через одноранговые виртуальные сети?Сейчас я верю, что он все еще проходит через общедоступный Интернет.