Можно ли изолировать приложения друг от друга в Service Fabric?

При запуске кластера Service Fabric было бы целесообразно запустить в нем несколько приложений, но эти приложения могут не зависеть друг от друга каким-либо образом. Например, у меня может быть CustomerApp и WikiApp.

Теперь, с точки зрения безопасности, было бы здорово, если бы WikiApp можно было изолировать от CustomerApp, поскольку Wiki явно не должна иметь возможность подключаться к службам из приложения, которое содержит данные о клиентах. Я мог бы поместить аутентификацию в службы самого CustomerApp, чтобы разрешать только вызовы из аутентифицированных служб, но, кроме того, было бы еще лучше, если бы WikiApp даже не смог бы подключиться или увидеть другое приложение и не смог бы разрешить конечную точку. адрес службы имен.

Итак, существует ли способ действительно изолировать приложения друг от друга в Service Fabric с помощью функции платформы? Я не смог найти ничего об этом в документации, и я также сомневаюсь, что это возможно, как работает Service Fabric, но это было бы очень полезно.

И чтобы было ясно, я действительно говорю об изоляции приложений (типов приложений) друг от друга, а не услуг в рамках одного приложения.


person Bernhard Koenig    schedule 11.05.2016    source источник


Ответы (1)


Есть несколько встроенных уровней изоляции:

  • Экземпляры приложений имеют изоляцию на уровне процесса, поскольку каждый экземпляр приложения работает в своем собственном процессе.
  • Изоляция узлов возможна с использованием ограничений размещения, чтобы «изолировать» службы друг от друга, ограничивая их выполнение на разных узлах.
  • Поддержка контейнеров будет доступна в будущем, когда приложения и службы смогут работать внутри контейнеров для дальнейшей изоляции среды и ресурсов.
  • Службы могут работать под уникальными учетными записями пользователей, которые вы можете использовать для самостоятельной аутентификации на уровне приложения.

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

person Vaclav Turecek    schedule 11.05.2016
comment
Спасибо, Вацлав, за очень полезную и интересную информацию! - person Bernhard Koenig; 12.05.2016