Ldap grundlagen: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(22 dazwischenliegende Versionen von 2 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 von Informationen zu Objekten wie Systeme,Netzkomponenten und Benutzer.
 
  
=LDAP ein Verzeichnisdienst=
+
= LDAP, ein Verzeichnisdienst =
*Lightweight Directory Access Protocol
 
*1995 an der University of Michigan als
 
*Alternative zu X.500 DAP entwickelt
 
*Ursprünglich nur Zugriffsprotokoll auf X.500 Server
 
  
=Wie ist er umgesetzt=
+
* '''L'''ightweight '''D'''irectory '''A'''ccess '''P'''rotocol
Ein LDAP-Verzeichnis ist durch eine einfache Baum-Hierarchie realisiert und enthält folgende Ebenen:
+
* Es wurde 1995 an der University of Michigan als Alternative zu X.500 DAP entwickelt
*Das Wurzel-Verzeichnis (Root Directory) ist der Start oder der Ursprung des Baums. Dieser verzweigt sich in
+
* LDAP ist eine leseoptimierte Datenbank
**Domain Komponenten die sich verzweigen in
+
* Ursprünglich nur Zugriffsprotokoll auf X.500 Server
***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.
 
=Struktur=
 
[[Datei:ldap-grundlagen1.jpg|500px]]
 
  
*Containerobjekte
+
= Baumhierarchie und Ebenen des LDAP-Verzeichnisses =
Enthält untergeordneten Objekten.
 
*Blattobjekte
 
Endpunkt
 
*Distinguished Names
 
Wenn auf Verzeichnisobjekte zugegriffen werden soll, dann muss dabei ein spezieller LDAP-Name für jedes Objekt verwendet werden - dies gilt sowohl für einzelne Objekte wie auch für ganze Container.
 
  
=Aufbau=
+
* Am Anfang eine Baumes stehen die Domain Komponenten
*Informationen werden als Einträge in einem Baum,dem Directory Information Tree (DIT) dargestellt.
+
* Darunter stehen oft Organisations-Einheiten
*Jeder Eintrag besitzt einen eindeutigen Distinguished Name  
+
* Darunter können oft schon Blattobjekte stehen.
*Jeder Eintrag gehört zu (mindestens) einer Objektklasse
+
* Alle Objekte werden durch einen eindeutigen Bezeichner gekennzeichnet.
*Objektklassen werden durch ihre Attributedefiniert
+
* Dieser nennt man Englisch Distinguish Name.
*Ein Attribut besitzt einen Typ und einen oder mehrere Werte.
+
* Man unterscheidet zwischen:
 +
** '''Containerobjekten''': Enthält untergeordneten Objekten.
 +
** '''Blattobjekten''': Endpunkte der Baumstruktur
  
 +
= Struktur =
  
=Objektklassen=
+
{{#drawio:ldap-grundlagen1}}
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. Ferner sind in der Definition jeder Klasse die Klassen aufgelistet, deren Objekte übergeordnete Objekte der Objekte einer bestimmten Klasse sein können.
+
 
=Attribute=
+
= Blattobjekt Beispiel =
Im Schema werden auch alle Attribute definiert. Die Definition jedes Attributs enthält eindeutige Bezeichner für das Attribut, die Syntax des Attributs, 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.
+
 
 +
{{#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 =
  
=Schema=
 
 
Ein Schema definiert die folgenden Punkte:
 
Ein Schema definiert die folgenden Punkte:
*Attributstypen.
 
*Objektklassen.
 
*Filter- und Matching- Regeln bei Vergleichsoperationen.
 
*Rechte zum Anlegen oder Modifizieren von Datensätzen
 
  
=Quellen=
+
* Attributstypen
*https://www4.informatik.uni-erlangen.de/DE/Lehre/SS03/PS_KVBK/talks/Folien-LDAP.pdf
+
* Objektklassen
*http://www.effinger.org/blog/wp-content/uploads/2008/12/ldap-grundlagen.pdf
+
* Filter- und Matching-Regeln bei Vergleichsoperationen
*https://technet.microsoft.com/de-de/library/cc753882(v=ws.11).aspx
+
* 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