Подражая Exchange Server «RBAC AuthZ» в моем собственном приложении… (есть что-то подобное?)

9

Exchange 2010 имеет модель делегирования, в которой группы командлетов winrm по существу группируются в роли, а роли назначаются пользователю.

Обмен ролями ( Источник изображения )

Это отличная и гибкая модель, учитывающая, как я могу использовать все преимущества PowerShell, используя правильные технологии низкого уровня (WCF, SOAP и т. Д.) И не требуя дополнительного программного обеспечения на стороне клиента.

изображение того, как работает удаленный администратор Exchange 2010 ( Источник изображения )

Вопросов)

  1. Есть ли способ использовать модель делегирования Exchange в моем приложении .NET?

  2. Кто-нибудь пытался подражать этой модели?

  3. Если я должен начать с нуля, как бы я подражал этому подходу?

goodguys_activate
источник
Вы продвинулись в этом? Мне особенно любопытно, как реализовать часть модели «получатель / конфигурация с областью действия».
Жако

Ответы:

1

Двумя крупнейшими RBAC для .NET являются NetSqlAzMan http://netsqlazman.codeplex.com/ и RhinoSecurity https://github.com/ayende/rhino-security

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

Джаред Бритва
источник
1

Exchange предоставляет ограниченное пространство выполнения, и на самом деле в этом пространстве нет доступных командлетов. То, что кажется командлетами, на самом деле является прокси-функциями. Ваши возможности в пространстве выполнения управляются путем ограничения того, какие прокси-функции предоставляются и какие возможности каждого командлета предоставляются прокси-функцией.

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

Детали реализации будут зависеть от приложения, но в основном это означает, что вы ограничиваете, кто может использовать какие параметры командлетов, выбирая, какие параметры будут иметь прокси-функции, предоставленные этому пользователю, и / или ограничивая значения, которые функция примет для конкретных параметров.


источник
В этом есть смысл; У вас есть больше информации о том, как я могу создать такую ​​функцию прокси? Я могу понять кусок AD / AzMan.
goodguys_activate
Посмотрите, поможет ли это: blogs.msdn.com/b/powershell/archive/2009/01/04/…