LDAP schema questions
Will Fiveash
William.Fiveash at sun.com
Tue Jun 13 20:22:37 EDT 2006
On Tue, Jun 13, 2006 at 05:44:30AM -0600, K.G. Gokulavasan wrote:
>
> >>> On 6/10/06 at 10:05 PM, in message <tslbqt1x93b.fsf at cz.mit.edu>,
> Sam Hartman
> <hartmans at MIT.EDU> wrote:
> >>>>>> "Jeffrey" == Jeffrey Altman <jaltman at columbia.edu> writes:
> >
> > Jeffrey> All of these principals must be associated with my user
> > Jeffrey> account since their usage specifies actions performed
> by
> > Jeffrey> me.
> >
> >
> > Sure, but it seems that perhaps one principal could live in the user
> > object and the rest could be linked to the user object.
> >
> If we like to use some common attribute across all identities, then it
> may involve more than one ldap search. For e.g., if we want to use "Last
> Password Change" attribute on the User object for kerberos principals
> also, then it will involve first ldap search to find the user object
> from the principal object(using the link) and then another search to
> find the value from the user object. So to get additional principal
> information from User object or to get any User information from the
> additional principal object will involve more than one ldap search.
> Moreover if we want to have a common password and synchronize it across
> other identities(kerberos keys), then whenever the user password is
> changed, all the principal object's kerberos keys have to be changed.
> This will end up in updating more than one object and we have to
> maintain atomicity here. Otherwise there will be inconsistency with
> respect to password.
Just as a refresher, the current Novell/MIT schema has this:
###### The principal data auxiliary class. Holds principal information
###### and is used to store principal information for Users and any services.
dn: cn=schema
changetype: modify
add: objectclasses
objectClasses: ( 2.16.840.1.113719.1.301.6.8
NAME 'krbPrincipalAux'
AUXILIARY
MAY ( krbPrincipalName $ krbUPEnabled $ krbSecretKey $
krbPolicyReference $ krbPrincipalExpiration $
krbPasswordExpiration ) )
###### This object is created to hold principals of type other than USER.
dn: cn=schema
changetype: modify
add: objectclasses
objectClasses: ( 2.16.840.1.113719.1.301.6.9
NAME 'krbPrincipal'
SUP ( top )
MUST ( krbPrincipalName )
MAY ( krbPrincipalType )
X-NDS_NAMING 'krbPrincipalName'
X-NDS_CONTAINMENT ( 'organization' 'organizationalUnit'
'domain' 'krbRealmContainer'
'country' 'locality' )
X-NDS_NOT_CONTAINER '1')
#######################################################################
All the principal attributes are in the aux. class krbPrincipalAux and
can be mixed with arbitrary structural object classes.
While krbSecretKey contains the principal name to associate it with a
principal, the other attributes do not. I'm assuming then that the only
way to associate more than 1 principal with a user requires use of a
krbPrincipal object if the krbPrincipalAux attributes differ between the
principals. Is this correct?
--
Will Fiveash
Sun Microsystems Inc.
Austin, TX, USA (TZ=CST6CDT)
More information about the krbdev
mailing list