Ldap grundlagen: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(35 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Zu was dient ein Verzeichnisdienst=
+
Ein Verzeichnisdienst dient der Verwaltung von Informationen zu Objekten wie Systeme, Netzkomponenten und Benutzer.
Ein Verzeichnisdienst dient der Verwaltung vonInformationen zu Objekten wie Systeme,Netzkomponenten und Benutzer.
 
  
=Wie ist er umgesetzt=
+
= LDAP, ein Verzeichnisdienst =
Ein LDAP-Verzeichnis ist durch eine einfache Baum-Hierarchie realisiert und enthält folgende Ebenen:
 
*Das Wurzel-Verzeichnis (Root Directory) ist der Start oder der Ursprung des Baums. Dieser verzweigt sich in
 
**Domain Komponenten die sich verzweigen in
 
***Organisationen, von wo aus die Zweige zu
 
****Organisations-Einheiten wie Sparten, Abteilungen etc. und schließlich zu
 
*****Individuen werden, wobei das nicht nur Personen, sondern auch Dateien und andere gemeinsam genutzte Ressourcen wie zum Beispiel Drucker sein können.
 
  
 +
* '''L'''ightweight '''D'''irectory '''A'''ccess '''P'''rotocol
 +
* Es wurde 1995 an der University of Michigan als Alternative zu X.500 DAP entwickelt
 +
* LDAP ist eine leseoptimierte Datenbank
 +
* Ursprünglich nur Zugriffsprotokoll auf X.500 Server
  
 +
= Baumhierarchie und Ebenen des LDAP-Verzeichnisses =
  
[[Datei:ldap-grundlagen1.jpg|500px]]
+
* Am Anfang eine Baumes stehen die Domain Komponenten
*https://www4.informatik.uni-erlangen.de/DE/Lehre/SS03/PS_KVBK/talks/Folien-LDAP.pdf
+
* Darunter stehen oft Organisations-Einheiten
*http://www.effinger.org/blog/wp-content/uploads/2008/12/ldap-grundlagen.pdf
+
* Darunter können oft schon Blattobjekte stehen.
 +
* Alle Objekte werden durch einen eindeutigen Bezeichner gekennzeichnet.
 +
* Dieser nennt man Englisch Distinguish Name.
 +
* Man unterscheidet zwischen:
 +
** '''Containerobjekten''': Enthält untergeordneten Objekten.
 +
** '''Blattobjekten''': Endpunkte der Baumstruktur
 +
 
 +
= Struktur =
 +
 
 +
{{#drawio:ldap-grundlagen1}}
 +
 
 +
= Blattobjekt Beispiel =
 +
 
 +
{{#drawio:blattobjekt}}
 +
 
 +
objectclass (
 +
    1.3.6.1.1.1.2.0
 +
    NAME 'posixAccount'
 +
    DESC 'Abstraction of an account with POSIX attributes'
 +
    SUP top
 +
    AUXILIARY
 +
    MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory )
 +
    MAY ( userPassword $ loginShell $ gecos $ description )
 +
)
 +
 
 +
= Aufbau =
 +
 
 +
* Informationen werden als Einträge in einem Baum, dem '''D'''irectory '''I'''nformation '''T'''ree (DIT) dargestellt.
 +
* Jedes Objekt besitzt einen eindeutigen Distinguished Name
 +
* Jeder Eintrag gehört zu (mindestens) einer Objektklasse
 +
* Objektklassen werden durch ihre Attribute definiert
 +
* Ein Attribut besitzt einen Typ und einen oder mehrere Werte
 +
 
 +
= Objektklassen =
 +
 
 +
* Eine Objektklasse stellt eine Kategorie von Objekten dar, wie z. B. Benutzer, Drucker oder Anwendungsprogramme, die gemeinsame Merkmale aufweisen.
 +
* Die Definition für jede Objektklasse enthält eine Liste der Attribute, mit denen Instanzen der Klasse beschrieben werden können.
 +
* Beispielsweise weist die Klasse Benutzer Attribute wie ''givenName'', ''surname'' und ''streetAddress'' auf.
 +
* Die Liste der Attribute für eine Klasse ist unterteilt in die Attribute, die ein Objekt der Klasse enthalten muss, und in weitere Attribute, die ein Objekt enthalten kann.
 +
 
 +
= Attribute =
 +
 
 +
* Im Schema werden auch alle Attribute definiert.
 +
* Die Definition jedes Attributs enthält eindeutige Bezeichner für das Attribut und die Syntax des Attributs
 +
* Desweiteren gibt es optionale Bereichsgrenzen für die Attributwerte: ob das Attribut nur einen oder mehrere Werte aufweisen kann sowie ob das Attribut indiziert ist.
 +
* Jedes Attribut wird im Verzeichnisschema genau einmal definiert
 +
* Anschließend kann von mehreren Objektklassen auf jedes Attribut verwiesen werden
 +
* So ist beispielsweise das description-Attribut einmal definiert
 +
* Anschließend wird von mehreren Objektklassen darauf verwiesen
 +
 
 +
= Schema =
 +
 
 +
Ein Schema definiert die folgenden Punkte:
 +
 
 +
* Attributstypen
 +
* Objektklassen
 +
* Filter- und Matching-Regeln bei Vergleichsoperationen
 +
* Rechte zum Anlegen oder Modifizieren von Datensätzen
 +
 
 +
= Quellen =
 +
 
 +
* https://www4.informatik.uni-erlangen.de/DE/Lehre/SS03/PS_KVBK/talks/Folien-LDAP.pdf
 +
* http://www.effinger.org/blog/wp-content/uploads/2008/12/ldap-grundlagen.pdf
 +
* https://technet.microsoft.com/de-de/library/cc753882(v=ws.11).aspx

Aktuelle Version vom 3. Mai 2023, 07:15 Uhr

Ein Verzeichnisdienst dient der Verwaltung von Informationen zu Objekten wie Systeme, Netzkomponenten und Benutzer.

LDAP, ein Verzeichnisdienst

  • Lightweight Directory Access Protocol
  • Es wurde 1995 an der University of Michigan als Alternative zu X.500 DAP entwickelt
  • LDAP ist eine leseoptimierte Datenbank
  • Ursprünglich nur Zugriffsprotokoll auf X.500 Server

Baumhierarchie und Ebenen des LDAP-Verzeichnisses

  • Am Anfang eine Baumes stehen die Domain Komponenten
  • Darunter stehen oft Organisations-Einheiten
  • Darunter können oft schon Blattobjekte stehen.
  • Alle Objekte werden durch einen eindeutigen Bezeichner gekennzeichnet.
  • Dieser nennt man Englisch Distinguish Name.
  • Man unterscheidet zwischen:
    • Containerobjekten: Enthält untergeordneten Objekten.
    • Blattobjekten: Endpunkte der Baumstruktur

Struktur

Blattobjekt Beispiel

objectclass (
    1.3.6.1.1.1.2.0
    NAME 'posixAccount'
    DESC 'Abstraction of an account with POSIX attributes'
    SUP top
    AUXILIARY
    MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory )
    MAY ( userPassword $ loginShell $ gecos $ description )
)

Aufbau

  • Informationen werden als Einträge in einem Baum, dem Directory Information Tree (DIT) dargestellt.
  • Jedes Objekt besitzt einen eindeutigen Distinguished Name
  • Jeder Eintrag gehört zu (mindestens) einer Objektklasse
  • Objektklassen werden durch ihre Attribute definiert
  • Ein Attribut besitzt einen Typ und einen oder mehrere Werte

Objektklassen

  • Eine Objektklasse stellt eine Kategorie von Objekten dar, wie z. B. Benutzer, Drucker oder Anwendungsprogramme, die gemeinsame Merkmale aufweisen.
  • Die Definition für jede Objektklasse enthält eine Liste der Attribute, mit denen Instanzen der Klasse beschrieben werden können.
  • Beispielsweise weist die Klasse Benutzer Attribute wie givenName, surname und streetAddress auf.
  • Die Liste der Attribute für eine Klasse ist unterteilt in die Attribute, die ein Objekt der Klasse enthalten muss, und in weitere Attribute, die ein Objekt enthalten kann.

Attribute

  • Im Schema werden auch alle Attribute definiert.
  • Die Definition jedes Attributs enthält eindeutige Bezeichner für das Attribut und die Syntax des Attributs
  • Desweiteren gibt es optionale Bereichsgrenzen für die Attributwerte: ob das Attribut nur einen oder mehrere Werte aufweisen kann sowie ob das Attribut indiziert ist.
  • Jedes Attribut wird im Verzeichnisschema genau einmal definiert
  • Anschließend kann von mehreren Objektklassen auf jedes Attribut verwiesen werden
  • So ist beispielsweise das description-Attribut einmal definiert
  • Anschließend wird von mehreren Objektklassen darauf verwiesen

Schema

Ein Schema definiert die folgenden Punkte:

  • Attributstypen
  • Objektklassen
  • Filter- und Matching-Regeln bei Vergleichsoperationen
  • Rechte zum Anlegen oder Modifizieren von Datensätzen

Quellen