LDAP: LDIF & DSML Fall 2004 Rev. 2. LDIF Light-weight Data Interchange Format RFC 2849 Common format to exchange data entry schema.

Slides:



Advertisements
Similar presentations
PHP Modules LDAP and MySQL. External Functions In addition to the usual programming functions (arrays, date and time, typing, mathematical, etc), PHP.
Advertisements

LDAP Lightweight Directory Access Protocol LDAP.
Introduction to XLink Transparency No. 1 XML Information Set W3C Recommendation 24 October 2001 (1stEdition) 4 February 2004 (2ndEdition) Cheng-Chia Chen.
GGF2 -GIS WG \ GOS Grid Object Specification Presented by Gregor von Laszewski Developed under discussion by the whole working group and more July, 2001.
Peoplesoft: Building and Consuming Web Services
LDAP LIGHT WEIGHT DIRECTORY ACCESS PROTOCOL PRESENTATION BY ALAKESH APURVA DHAN AND ASH.
CIT 470: Advanced Network and System Administration
Configuration Management Supplement 67 Robert Horn, Agfa Healthcare.
ECA 228 Internet/Intranet Design I Intro to XML. ECA 228 Internet/Intranet Design I HTML markup language very loose standards browsers adjust for non-standard.
INFORMATION FOR NETWORK OPERATION. CONTENT Directory service Standard X.500 LDAP.
XP New Perspectives on XML Tutorial 4 1 XML Schema Tutorial – Carey ISBN Working with Namespaces and Schemas.
Chapter 9 Web Services Architecture and XML. Objectives By study in the chapter, you will be able to: Describe what is the goal of the Web services architecture.
LDAP: Information Model Part 2 CNS 4650 Fall 2004 Rev. 2.
1 Week 3 Secure and Efficient Administration of Act. Dir. Work with Active Directory Snap-Ins Custom Consoles and Least Privilege Find Objects in Active.
Chapter 5 Java Script And Forms JavaScript, Third Edition.
Netprog: LDAP1 Lightweight Directory Access Protocol (LDAP) Refs: –Netscape LDAP server docs – U. of Michigan LDAP docs – docs –RFCs:
LDAP Search Criteria Fall 2004 Rev. 2. LDAP Searches Can be performed on Single directory entry Contents of a single container Entire subtree Required.
Introduce LDAP 张海鹏 SOA Mult - Little system User Manager System (share between other systems) How to store user Information How to access.
SPARCS 10 이대근 (harry). Contents  Directory Service  What is LDAP?  Installation  Configuration  ldap-utils  User authentication with LDAP.
1 LDAP and Java Naming Services Murali. M.Nagendranath.
Processing of structured documents Spring 2002, Part 2 Helena Ahonen-Myka.
XML A web enabled data description language 4/22/2001 By Mark Lawson & Edward Ryan L’Herault.
CIS 451: XML DTDs Dr. Ralph D. Westfall February, 2009.
HPD Overview Carl Leitner IntraHealth OpenHIE Provider Registry Community Call March 6,
Implementing LDAP Client/Server System for Directory Service By Maochun Sun Project Advisor: Dr. Chung-E Wang Department of Computer Science California.
LDAP Items
Fall 2007cs4201 Advanced Java Programming Umar Kalim Dept. of Communication Systems Engineering
New Perspectives on XML, 2nd Edition
Introduction to Lightweight Directory Access Protocol Introduction Danny Conte Conte Consultants Inc. Jan 31 st 2002.
The LDAP Schema Registry and its requirements on Slapd development OpenLDAP Developers' Day San Francisco 21 March 2003 Peter Gietz, DAASI International.
LDAP (Lightweight Directory Access Protocol ) Speaker: Chang-Yu Wu Adviser: Quincy Wu Date:2007/08/22.
Identity Management Technical Training LDAP and Directory Services Joachim Andres Guillaume Andru Renaud Métrich Sun Microsystems, Inc.
Lecture 16 Introduction to XML Boriana Koleva Room: C54
1 COP 4343 Unix System Administration Unit 13: LDAP.
What it is and how it works
XML Introduction. Markup Language A markup language must specify What markup is allowed What markup is required How markup is to be distinguished from.
XML 2nd EDITION Tutorial 4 Working With Schemas. XP Schemas A schema is an XML document that defines the content and structure of one or more XML documents.
1 Tutorial 14 Validating Documents with Schemas Exploring the XML Schema Vocabulary.
Tutorial 13 Validating Documents with Schemas
LDAP: Accessing Operational Information CNS 4650 Fall 2004 Rev. 2.
Internet & World Wide Web How to Program, 5/e. © by Pearson Education, Inc. All Rights Reserved.2.
AACLS Documentation LDAP and releasing information issue ACL and ACI AACLS Model Physical Architecture Logical Architecture Example : a French university.
XP New Perspectives on XML, 2 nd Edition Tutorial 7 1 TUTORIAL 7 CREATING A COMPUTATIONAL STYLESHEET.
Paulo Repa Lightweight Directory Access Protocol Paulo Repa
XML CSC1310 Fall HTML (TIM BERNERS-LEE) HyperText Markup Language  HTML (HyperText Markup Language): December  Markup  Markup is a symbol.
LDAP (Lightweight Directory Access Protocol)
LDAP Namespace CNS 4650 Fall 2004 Rev. 2. What is a namespace? Different from XML, C++, Java, etc. Names permitted and used in a directory Can include.
Introduction to Directory Services CNS 4650 Fall 2004 Rev. 2.
The LDAP Protocol. Agenda Background and Motivation Understanding LDAP Information Structure Naming Functions/Operations Security Protocol Model Mapping.
XML Extensible Markup Language
Finding Information in an LDAP Directory Info. Tech. Svcs. University of Hawaii Russell Tokuyama 05/02/01 University of Hawaii © 2001.
IBM Tivoli Software © 2007 IBM Corporation Support Technical Exchange Web sitehttp://www-306.ibm.com/software/sysmgmt/products/support/supp_tech_exch.html.
LDAP: Creating Object Classes and Attributes CNS 4650 Fall 2004 Rev. 2.
LDAP: Synchronizing LDAP Information CNS 4650 Fall 2004 Rev. 2.
Migrating to LDAP What is LDAP? Fedora Directory Server LdapImport
of Various FOSS Services for Educational Institutes
Unix System Administration
Introduction to LDAP Frank A. Kuse.
LDAP
CONFIGURING LDAP Authentication (rsso 9.1)
Index Object Schema and Replication Infrastructure
Eugenia Fernandez IUPUI
Authentication Servers سرورهای تشخیص هویت
CEG 2400 Fall 2012 Directory Services - LDAP
LDAP – Light Weight Directory Access Protocol
Amrish Kaushik Graduate Student USC – Computer Science (CN)
Introduction to Active Directory Directory Services
Presentation transcript:

LDAP: LDIF & DSML Fall 2004 Rev. 2

LDIF Light-weight Data Interchange Format RFC 2849 Common format to exchange data entry schema

LDIF Limitations Limited to printable text Binary values MUST be Base64 encoded Too closely tied to LDAP Either new records or changes (not both)

LDIF Benefits Manipulate directory information in a text file Easily change data sets (mass changing of object attributes) Very simple to learn

LDIF Format :

LDIF Format : This value is the attribute name in the directory. Examples would be dn, objectClass, phone, sn

LDIF Format : This value is the actual value of the attribute. This should be a text string with a few exceptions. Those exceptions usually require the value to be Base64 encoded. The exceptions are NULL, LF, CR, :, < Example of Base64: would need to be base64 encoded the base64 encoded value would be: PHhtbD48L3htbD4=

LDIF Operations changetype: modify modrdn add delete add delete replace

Example version: 1 # Add a new entry dn: cn=Fiona Jensen, ou=Marketing, dc=airius, dc=com changetype: add objectclass: top objectclass: person objectclass: organizationalPerson cn: Fiona Jensen sn: Jensen uid: fiona telephonenumber: jpegphoto:< file:///usr/local/directory/photos/fiona.jpg # Delete an existing entry dn: cn=Robert Jensen, ou=Marketing, dc=airius, dc=com changetype: delete # Modify an entry's relative distinguished name dn: cn=Paul Jensen, ou=Product Development, dc=airius, dc=com changetype: modrdn newrdn: cn=Paula Jensen deleteoldrdn: 1

# Modify an entry: add an additional value to the postaladdress # attribute, completely delete the description attribute, replace # the telephonenumber attribute with two values, and delete a specific # value from the facsimiletelephonenumber attribute dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com changetype: modify add: postaladdress postaladdress: 123 Anystreet $ Sunnyvale, CA $ delete: description - replace: telephonenumber telephonenumber: telephonenumber: delete: facsimiletelephonenumber facsimiletelephonenumber: # Modify an entry: replace the postaladdress attribute with an empty # set of values (which will cause the attribute to be removed), and # delete the entire description attribute. Note that the first will # always succeed, while the second will only succeed if at least # one value for the description attribute is present. dn: cn=Ingrid Jensen, ou=Product Support, dc=airius, dc=com changetype: modify replace: postaladdress - delete: description -

LDIF Entry Example version: 1 # # Extend user objects # dn: cn=testuser,ou=utah,o=apple changetype: modify add: objectClass objectClass: posixAccount uidNumber: 1010 gidNumber: 20 homeDirectory: /Network/Servers/engserver2.apple.com/ENG2.DATA/USERS/testuser - add: objectClass objectClass: apple-user apple-user-homeurl:: PGhvbWVfZGlyPjx1cmw+YWZwOi8vYmlncmVkLmV4YW1wbGUubmV0L0VORzIuREFUQTwvdXJsPjxwYXRoPl VTRVJTL3Rlc3R1c2VyPC9wYXRoPjwvaG9tZV9kaXI+ # apple-user-homeurl:: afp://bigred.example.net/ENG2.DATA USERS/testuser

LDIF Schema Representation Similar to the schema files we have made “dn” is cn=schema Add or delete object classes or attributes

LDIF Schema Example dn: cn=schema changetype: modify add: attributeTypes attributeTypes: ( NAME 'apple-user-authenticationhint' DESC 'password hint' EQUALITY caseExactMatch SUBSTR caseExactSubstringsMatch SYNTAX SINGLE-VALUE ) # # User auxiliary object class. # dn: cn=schema changetype: modify add: objectclasses objectclasses: ( NAME 'apple-user' SUP top AUXILIARY DESC 'user account' MAY ( apple-user-homeurl $ apple-user-class $ apple-user-homequota $ apple-user-mailattribute $ apple-user- printattribute $ apple-mcxflags $ apple-mcxsettings $ apple-user-adminlimits $ apple-user-picture $ apple-user- authenticationhint ) )

DSML Dan Sinema CNS 4650

Why XML? Common representation of data Easy to transfer of data Easy to manipulate data

DSML v1 Represent directory entries Represent schema Defined in dsml.dtd, dsml.xdr, dsml.xsd Namespace

DSML Document Types Type 1 contains only directory entries does not reference schema Type 2 contains only directory entries references schema in external doc Type 3 contains only directory schema Type 4 contains directory entries and schema

DSML Document Format... This may also contain a XML attribute named “complete” The value can either be “true” or “false” true - if the document contains all the schema for the entries in the document false - the schema is referenced in an other document

DSML Entries Elements Object Classes This may also contain a XML attribute named “ref”, this points to the definition of the objectclass

DSML Entries Example person top organizationalPerson Object Classes

DSML Entries Example person top organizationalPerson Object Classes

DSML Entries Elements Attributes This may also contain a XML attribute named “ref”, this points to the definition of the objectclass

DSML Entries Example Attributes

DSML Entries Example XZKiASLiWNDAL92jJ= Binary values must still be encoded. At this point still in Base64, this limitation is because of LDAP. NOTE: that values in LDIF that were not binary that had to be base64 encoded DO NOT need to be encoded (example is a string starting with a : or <) Attributes

DSML Entries Elements Schema

DSML Entries Elements Schema - ObjectClass can have one more attribute “obsolete” the value is either true or false the default is false

DSML Entries Elements Schema - Attributes can have a couple more attributes “obsolete”, “single-value”, “user-modification”

Schema Example Attribute ObjectClass ( NAME 'cartoon-character' SUP top STRUCTURAL DESC 'Cartoon character and all his/her attributes' MUST ( cartoon-catchPhrase $ cartoon-homeNetwork ) MAY ( cartoon-biography ) ) ( NAME 'cartoon-catchPhrase' DESC 'Each cartoon character MUST have a catch phrase, an example would be D'oh' EQUALITY caseIgnoreMatch SYNTAX ) ( NAME 'cartoon-homeNetwork' DESC 'Each cartoon character must have a home network, and example would be Fox Channel, Disney Channel' EQUALITY caseIgnoreMatch SYNTAX SINGLE-VALUE ) ( NAME 'cartoon-biography' DESC 'This is a URL that should point to a web page that contains this characters biography' EQUALITY caseIgnoreMatch SYNTAX )

cartoon-character Cartoon character and all his/her attributes cartoon-catchPhrase Each cartoon character MUST have a catch phrase, an example would be D'oh cartoon-homeNetwork Each cartoon character must have a home network example Fox Channel cartoon-biography This is a URL DSML Schema