Lesenden Zugriff auf AD-Struktur für CRM-Organisation beschränken

Wie auch in Dynamics CRM 4.0 ist es mit Hilfe der Funktion zum Anlegen von mehreren CRM-Benutzern über den Administrationsbereich im Frontend möglich, komfortabel durch die gesamte Struktur des Active Directories (AD) zu navigieren sowie ebenfalls die in den Organisationseinheiten (OUs) enthaltenen Benutzer aufzulisten.

In einer Umgebung, die mehrere CRM-Organisationen für verschieden Mandanten enthält, ist dieses Verhalten nicht immer gewünscht, da teils vertrauliche Informationen über Benutzer in Erfahrung gebracht werden könnten. Bereits in Dynamics CRM 4.0 wurde dieser Problematik mit einem auf die CRM-Organisation bezogenen Konfigurationsparameter UserRootPath sowie einer Anwendung (Dynamics CRM Deployment Configuration Tool) zum Setzten dieses Parameters Sorge getragen.
Eine detailliertere Beschreibung der Hintergründe findet sich im offiziellen MSCRM-Blog mit dem älteren Artikel „Customizing OU User Access in a Hosted Environment“ zu Dynamics CRM 4.0. 

In Dynamics CRM 2011 ist ist dieser Parameter ebenfalls verfügbar. Es existieren verschiedene Möglichkeiten (z.B. der CRM-Deployment Webservice), um den Konfigurationsparameter anzupassen – jedoch steht bislang noch nicht das Kommandozeilen-Konfigurationstool zur Verfügung. 

Um das Setzen des Parameters UserRootPath etwas zu vereinfachen und um die  Übersichtlichkeit zu verbessern, hilft die folgende kleine Anwendung dabei zu erkennen, welche Organisation auf einen AD-Knoten (OU; AD-Organisationseinheit für die Suche nach Benutzerkonten aus der jeweilgen CRM-Organisation) beschränkt ist. Es ist dabei möglich eine Beschränkung aufzuheben, umzustellen oder neu zu registrieren.

„RestrictUserBrowser2OU.zip“

QUELLE: Skydrive

GRÖßE: 264 KByte

DATUM: 30.03.2011

Über Thomas Roschinsky
Software Engineer | .NET | SharePoint | Dynamics CRM | BI | C# | C/C++

11 Responses to Lesenden Zugriff auf AD-Struktur für CRM-Organisation beschränken

  1. Peter Jakab sagt:

    Hi, Thomas
    is it free to use your utility for any purpuse (for example in a service provider environment, commercial use)?
    Thanks, best regards
    Peter

  2. Hi Peter,

    Yes – the usage of the utility is permitted for any purpose, also for commercial use. Although the software has been tested properly, you’ll have to be aware that you use it at your own risk. The software is provided „as is“ and without any express or implied warranties.

    Best regards,
    Thomas

    • Peter Jakab sagt:

      Thanks, Thomas!

      Could you provide the source code as well?

      Best regards

      Peter

      • Peter JAkab sagt:

        Thomas,
        in the meanwhile I further investigated this setting, and I found that the goal of setting the UserRootPath property for the organization can be achieved by using powershell script as well (Get-CrmAdvancedSetting and Set-CrmAdvancedSetting, using Organization as ConfigurationEntityName, Id of the organization, and the value for UserRootPath Attribute)

        But if you thimk you can share the code with us, that would be fine, and a more comfortable solution for the administrators🙂

        You can understand, that for security reasons there is no way using the executable itself in production environment, without knowing, what the code really does.

        Anyway, I think this tool is a must for a CRM hoster.

        Thanks, regards

        Peter

      • Hi Peter,

        Glad that you like the UI. To easily and visually manage a number of CRM organizations without having to use the Power Shell or even unsupported ways modifing the CRM database was indeed the main intention creating the tool.

        I had already considered creating a Codeplex project to publish the code but it was so little code, I decided to just publish the assembly ready to use. I’ll zip the code and send it to you.

        Best regards,
        Thomas

  3. Peter Jakab sagt:

    Thanks in advance!

    Best regards

    Peter

  4. Jordan sagt:

    Hello,

    Thanks for you amazing tool !!

    I was try on my infrastructure but the option „Restrict“ and „Unlocl“ appear in grey…
    Can you explain me why ?

    I have two organizations, A and B

    In the LDAP-Path i have specified the LDAP chain to one of the OU, like :
    LDAP://HV.LAN/OU=A,OU=Organisations,DC=HV,DC=lan

    And CRM host : http://mycrmserver/a

    In the left pannel i can see all my organizations (in green) and on the right i have only „OU=A“.
    Restrict and Unlock are grey…

    Can you help me ?
    Thanks !

    • Hey Jordan,
      sure – I’ll try…🙂

      First of all please try same LDAP-Path without explicitly referring to OU „A“. If this will not work as expected, please use the LDAP-Path to address your domain directly without specify a OU (e.g. LDAP://HV.LAN/DC=HV,DC=lan).
      The tool will list all available OUs below this root in the right treeview. Only the child elements will be available to be selected and will then activate the restrict-button.
      The unlock-button will only become active if the selceted CRM organization is already restricted – you’ll discern this by the red colored tree node of the CRM organization.

      Hope this helps,
      Thomas

  5. Solomon sagt:

    Hallo Thomas,

    das ist echt eine feine Sache … ’s funktioniert echt super. Danke!
    Leider kann ich nur auf eine OU einschränken – das ist schade.
    Gibt es eine Möglichkeit den LDAP direkt über Powershell oder so zu setzen, bzw. darf ich dich nach der UserRootPath Zeile fragen mit der ich den LDAP für eine Organisation setzen kann?

    Ich würde nämlich auf ein CxtAttr filtern, da ich dort eintrage wer zur Verfügung stehen soll und wer nicht – also sagen wir in der Form eines LDAP Filters – (&(!(blablaExtensionAttribute[Nr]=NONCRM))(!(Company=[Name])))

    lG Solo

    • Hallo Solo!
      1000 Dank für die netten Worte!

      Ich fürchte, dass Dein Vorhaben – auch mit dem Powershell Cmdlets Get-CrmAdvancedSetting bzw. Set-CrmAdvancedSetting (http://msdn.microsoft.com/en-us/library/gg328563.aspx) – zumindest auf „supported“tem Weg nicht so einfach in die Tat umzusetzen sein wird. Einer CRM-Organisation eine Auswahl an Root-OU’s aus dem AD vorzugeben, in denen nach Usern gesucht werden soll, ist eine gute Idee aber offenbar nicht vom System vorgesehen.

      Sowohl die Cmdlets als auch das von mir bereitgestellte Tool nutzen lediglich den Deployment Web Service um die Einstellung ‚UserRootPath‘ je Organisation in der Organization Table zu setzen; das Tool macht es dem Systemverwalter nur etwas einfacher der Überblick zu behalten, welche Orga auf welche OU festgelegt ist – speziell bei vielen Organisationen.

      Schöne Grüße,
      Thomas

      • Solomon sagt:

        Hallo Thomas,

        Danke für die schnelle Antwort – ich kenn‘ mich aus.
        ’s is natürlich schon problematisch … besonders wenn man ein Abnahme/TestSystem und ein Produktionssystem trennen soll und sich die User dazu im selben AD auf OUs aufgteilt befinden😥
        Naja, vielleicht finde ich ja eine andere Möglichkeit die Struktur für mich zu verwenden.
        Auf jeden Fall ist dein Restrict Tool super brauchbar, da ich zumndest schon auf eine OU beschränken kann. Danke dafür.

        lG Solo

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: