Imitando el "RBAC AuthZ" de Exchange Server en mi propia aplicación ... (¿hay algo similar?)

9

Exchange 2010 tiene un modelo de delegación donde grupos de WinRM cmdlets se essentally agrupan en funciones y los roles asignados a un usuario.

Imagen de Roles de Intercambio ( Fuente de la imagen )

Este es un modelo excelente y flexible, considerando cómo puedo aprovechar todos los beneficios de PowerShell, mientras uso las tecnologías adecuadas de bajo nivel (WCF, SOAP, etc.) y no requiere software adicional en el lado del cliente.

imagen de cómo funciona el administrador remoto de Exchange 2010 ( Fuente de la imagen )

Pregunta (s)

  1. ¿Hay alguna manera de aprovechar el modelo de delegación de Exchange en mi aplicación .NET?

  2. ¿Alguien ha intentado imitar este modelo?

  3. Si debo comenzar desde cero, ¿cómo haría para imitar este enfoque?

goodguys_activate
fuente
¿Has hecho algún progreso con esto? Tengo especial curiosidad acerca de cómo implementar la parte 'destinatario / configuración con alcance' del modelo.
Jacco

Respuestas:

1

Exchange proporciona un espacio de ejecución constante, y en realidad no hay cmdlets disponibles en ese espacio de ejecución. Lo que parecen ser cmdlets son en realidad funciones proxy. Sus capacidades en el espacio de ejecución se controlan limitando qué funciones de proxy se proporcionan y qué capacidades de cada cmdlet quedan expuestas por la función de proxy.

Duplicar eso implicaría desarrollar rutinas que llenen el espacio de ejecución con funciones proxy adaptadas al usuario que solicita el espacio de ejecución, en función de los grupos de roles a los que pertenecen. No veo ninguna razón por la que los grupos de AD no puedan ser sus grupos de roles.

Los detalles de implementación serían específicos de la aplicación, pero básicamente significa que usted limita quién puede usar qué parámetros de los cmdlets eligiendo qué parámetros tendrán las funciones proxy proporcionadas a ese usuario y / o limitando qué valores aceptará la función para parámetros particulares.


fuente
Eso tiene sentido; ¿Tienes más información sobre cómo puedo crear una función de proxy? Puedo entender la pieza AD / AzMan.
goodguys_activate