Ldap grundlagen: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(4 dazwischenliegende Versionen desselben Benutzers 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
 
*Es handelt sich um eine leseoptimiert Datenbank
 
  
=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
*Am Anfang eine Baumes stehen die Domain Komponenten
+
* LDAP ist eine leseoptimierte Datenbank
*Darunter stehen oft Organisations-Einheiten  
+
* Ursprünglich nur Zugriffsprotokoll auf X.500 Server
*Darunter können oft schon Blattobjekte stehen.
+
 
*Alle Objekte werden durch einen eindeutigen Bezeichner gekennzeichnet.
+
= Baumhierarchie und Ebenen des LDAP-Verzeichnisses =
*Dieser nennt man Englisch Distinguish Name.
+
 
*Man unterscheidet zwischen  
+
* Am Anfang eine Baumes stehen die Domain Komponenten
;Containerobjekte
+
* Darunter stehen oft Organisations-Einheiten
Enthält untergeordneten Objekten.  
+
* Darunter können oft schon Blattobjekte stehen.
;Blattobjekte
+
* Alle Objekte werden durch einen eindeutigen Bezeichner gekennzeichnet.
Endpunkt
+
* Dieser nennt man Englisch Distinguish Name.
 +
* Man unterscheidet zwischen:
 +
** '''Containerobjekten''': Enthält untergeordneten Objekten.
 +
** '''Blattobjekten''': Endpunkte der Baumstruktur
 +
 
 +
= Struktur =
  
=Struktur=
 
 
{{#drawio:ldap-grundlagen1}}
 
{{#drawio:ldap-grundlagen1}}
=Blattobjekt Beispiel=
+
 
 +
= Blattobjekt Beispiel =
 +
 
 
{{#drawio:blattobjekt}}
 
{{#drawio:blattobjekt}}
<pre>
 
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 )
 
)
 
</pre>
 
  
=Aufbau=
+
objectclass (
*Informationen werden als Einträge in einem Baum,dem Directory Information Tree (DIT) dargestellt.
+
    1.3.6.1.1.1.2.0
*Jedes Objekt besitzt einen eindeutigen Distinguished Name  
+
    NAME 'posixAccount'
*Jeder Eintrag gehört zu (mindestens) einer Objektklasse  
+
    DESC 'Abstraction of an account with POSIX attributes'
*Objektklassen werden durch ihre Attribute definiert
+
    SUP top
*Ein Attribut besitzt einen Typ und einen oder mehrere Werte.
+
    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 =
  
=Objektklassen=
+
* Im Schema werden auch alle Attribute definiert.
*Eine Objektklasse stellt eine Kategorie von Objekten dar, wie z. B. Benutzer, Drucker oder Anwendungsprogramme, die gemeinsame Merkmale aufweisen.
+
* Die Definition jedes Attributs enthält eindeutige Bezeichner für das Attribut und die Syntax des Attributs
*Die Definition für jede Objektklasse enthält eine Liste der Attribute, mit denen Instanzen der Klasse beschrieben werden können.
+
* 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.
*Beispielsweise weist die Klasse Benutzer Attribute wie givenName, surname und streetAddress auf.
+
* Jedes Attribut wird im Verzeichnisschema genau einmal definiert
*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.
+
* 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
  
=Attribute=
+
= Schema =
*Im Schema werden auch alle Attribute definiert.
 
*Die Definition jedes Attributs enthält eindeutige Bezeichner für das Attribut und die Syntax des Attributs
 
*Desweiterenoptionale 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:
 
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