Imitieren von "RBAC AuthZ" von Exchange Server in meiner eigenen Anwendung ... (gibt es etwas Ähnliches?)

9

Exchange 2010 verfügt über ein Delegierungsmodell, bei dem Gruppen von WinRM- Cmdlets im Wesentlichen in Rollen gruppiert und die Rollen einem Benutzer zugewiesen werden.

Bild austauschen ( Bildquelle )

Dies ist ein großartiges und flexibles Modell, wenn man bedenkt, wie ich alle Vorteile von PowerShell nutzen kann, während ich die richtigen Low-Level-Technologien (WCF, SOAP usw.) verwende und keine zusätzliche Software auf der Clientseite benötige.

Bild der Funktionsweise von Exchange 2010 Remote Admin ( Bildquelle )

Fragen)

  1. Gibt es eine Möglichkeit für mich, das Delegierungsmodell von Exchange in meiner .NET-Anwendung zu nutzen?

  2. Hat jemand versucht, dieses Modell nachzuahmen?

  3. Wenn ich von vorne anfangen muss, wie würde ich diesen Ansatz nachahmen?

goodguys_activate
quelle
Haben Sie damit Fortschritte gemacht? Ich bin besonders gespannt, wie der Teil "Empfänger / Konfiguration mit Bereich" des Modells implementiert werden kann.
Jacco

Antworten:

1

Exchange stellt einen eingeschränkten Runspace bereit, und in diesem Runspace sind keine Cmdlets verfügbar. Was als Cmdlets erscheint, sind eigentlich Proxy-Funktionen. Ihre Funktionen im Runspace werden gesteuert, indem Sie einschränken, welche Proxy-Funktionen bereitgestellt werden und welche Funktionen jedes Cmdlets von der Proxy-Funktion bereitgestellt werden.

Das Duplizieren würde das Entwickeln von Routinen beinhalten, die den Runspace mit Proxy-Funktionen füllen, die auf den Benutzer zugeschnitten sind, der den Runspace anfordert, basierend auf den Rollengruppen, zu denen sie gehören. Ich sehe keinen Grund, warum AD-Gruppen nicht Ihre Rollengruppen sein könnten.

Implementierungsdetails wären anwendungsspezifisch, aber im Grunde bedeutet dies, dass Sie einschränken, wer welche Parameter der Cmdlets verwenden kann, indem Sie auswählen, welche Parameter die diesem Benutzer bereitgestellten Proxy-Funktionen haben und / oder welche Werte die Funktion für bestimmte Parameter akzeptiert.


quelle
Das macht Sinn; Haben Sie weitere Informationen darüber, wie ich eine solche Proxy-Funktion erstellen kann? Ich kann das AD / AzMan-Stück herausfinden.
goodguys_activate