Ограничить доступ контроллера к внутренней конечной точке в Azure CloudService.

У меня есть Azure CloudService с двумя ролями. Одна из этих ролей предоставляет общедоступную конечную точку и внутреннюю конечную точку. Как я могу контролировать доступ к контроллеру MVC в зависимости от того, из какой конечной точки поступает запрос?

Есть ли лучший способ добиться этого?


person Niklas    schedule 11.03.2016    source источник
comment
Чего именно вы хотите добиться? И если у вас есть общедоступная конечная точка, вы на самом деле не внутренняя, так как общедоступная уже подключена к брандмауэру, а также к Azure LB, поэтому любой трафик, приходящий откуда угодно, в том числе из Azure, может достичь вашей конечной точки. Если вам нужен только внутренний доступ к конечной точке, просто не открывайте ее публично. Более того, вы всегда можете иметь общедоступную конечную точку на одном порту, внутреннюю на другом — тогда, проверяя порт сервера, вы получите, к какой конечной точке осуществляется доступ.   -  person astaykov    schedule 11.03.2016
comment
Хорошо, я объясню, чего я пытаюсь достичь, возможно, будет лучшее решение:   -  person Niklas    schedule 11.03.2016
comment
@astaykov 1) Концентратор SignalR, к которому клиенты могут подключаться из внешнего мира 2) Веб-сайт с авторизацией AD, где обслуживающий персонал может вызывать концентратор SignalR, инициируя вызовы методов для клиентов через веб-сокет. Оба они должны быть размещены в Azure, но не имеет значения, WebApp это или CloudService. Я знаю, что, вероятно, мог бы использовать для этого ServiceBus или Azure Queues, но мне нужен прямой ответ от концентратора для проверки вызова. Какие-либо предложения? Имеет ли это смысл?   -  person Niklas    schedule 11.03.2016
comment
1) вы можете обновить свой вопрос и не писать объяснения в комментарии. 2) до сих пор не получил ту часть, где вы хотите проверить, является ли это входной или внутренней конечной точкой. Если вы используете AD для защиты своего ресурса, имеет ли значение, откуда поступает запрос, поскольку он аутентифицирован и авторизован для использования ресурса?   -  person astaykov    schedule 11.03.2016


Ответы (1)


В облаке используются списки ACL, указанные в файле cscfg. Сначала вы указываете элемент правила управления доступом с разрешением или отказом. По сути, это белый список IP-адреса или диапазона. Затем вы указываете, к какой конечной точке добавить это...

<ServiceConfiguration>
  <NetworkConfiguration>
    <AccessControls>
      <AccessControl name="aclName1">
        <Rule order="<rule-order>" action="<rule-action>" remoteSubnet="<subnet-address>" description="rule-description"/>
      </AccessControl>
    </AccessControls>
    <EndpointAcls>
      <EndpointAcl role="<role-name>" endpoint="<endpoint-name>" accessControl="<acl-name>"/>
    </EndpointAcls>

ссылка: https://msdn.microsoft.com/en-us/library/azure/jj156091.aspx

ссылка: http://blogs.msdn.com/b/walterm/archive/2014/04/22/windows-azure-paas-acls-are-here.aspx

person tripdubroot    schedule 11.03.2016