LDAP: Creating Object Classes and Attributes CNS 4650 Fall 2004 Rev. 2
Creation of object class Start by creating attributes Decide which attributes will be necessary and which will be optional Create object class
Attributes Decide on naming convention Good idea to prepend with some name that is unique to your organization Decide on syntax for attribute Decide on single value or multi value Assign OID
Object Class All classes should have a SUP of top Decide if you are going to be Structural or Auxiliary Add attributes Assign OIDs Naming should be similar to attributes
Example Object class for cartoon characters Object is structural Only MUST attribute is “cn”
Attributes ( 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 ) ( NAME 'cartoon-tvShow' DESC 'The name of the show in which this cartoon character stars in' EQUALITY caseIgnoreMatch SYNTAX ) ( NAME 'cartoon-showTime' DESC 'The time the show airs' EQUALITY generalizedTimeMatch SYNTAX SINGLE-VALUE ) ( NAME 'cartoon-showDay' DESC 'The time the show airs' EQUALITY caseIgnoreMatch SYNTAX SINGLE-VALUE ) ( NAME 'cartoon-tvSeasons' DESC 'The number of seasons that this character has been on TV' EQUALITY integerMatch SYNTAX SINGLE-VALUE )
Object Class ( NAME 'cartoon-character' SUP top STRUCTURAL DESC 'Cartoon character and all his/her attributes' MUST ( cn $ cartoon-catchPhrase $ cartoon-homeNetwork ) MAY ( cartoon-biography $ cartoon-tvShow $ cartoon-showTime $ cartoon-showDay $cartoon-tvSeasons ) )
Syntax OIDs (rfc 2252) ACI Item N Access Point Y Attribute Type Description Y Audio N Binary N Bit String Y Boolean Y Certificate N Certificate List N Certificate Pair N Country String Y DN Y Data Quality Syntax Y Delivery Method Y Directory String Y DIT Content Rule Description Y DIT Structure Rule Description Y DL Submit Permission Y DSA Quality Syntax Y DSE Type Y Enhanced Guide Y Facsimile Telephone Number Y Fax N Generalized Time Y Guide Y IA5 String Y INTEGER Y JPEG N
Syntax OIDs cont. LDAP Syntax Description Y LDAP Schema Definition Y LDAP Schema Description Y Master And Shadow Access Points Y Matching Rule Description Y Matching Rule Use Description Y Mail Preference Y MHS OR Address Y Modify Rights Y Name And Optional UID Y Name Form Description Y Numeric String Y Object Class Description Y Octet String Y OID Y Other Mailbox Y Postal Address Y Protocol Information Y Presentation Address Y Printable String Y Substring Assertion Y Subtree Specification Y Supplier Information Y Supplier Or Consumer Y Supplier And Consumer Y Supported Algorithm N Telephone Number Y Teletex Terminal Identifier Y Telex Number Y UTC Time Y
Matching Rules (rfc 2252) NAME 'distinguishedNameMatch' SYNTAX ) ( NAME 'caseIgnoreMatch' SYNTAX ) ( NAME 'numericStringMatch' SYNTAX ) ( NAME 'caseIgnoreListMatch' SYNTAX ) ( NAME 'integerMatch' SYNTAX )
Matching Rules cont. ( NAME 'bitStringMatch' SYNTAX ) ( NAME 'telephoneNumberMatch' SYNTAX ) ( NAME 'presentationAddressMatch' SYNTAX ) ( NAME 'uniqueMemberMatch' SYNTAX ) ( NAME 'protocolInformationMatch' SYNTAX ) ( NAME 'generalizedTimeMatch' SYNTAX ) ( NAME 'caseExactIA5Match' SYNTAX ) ( NAME 'caseIgnoreIA5Match' SYNTAX )