the directory a distributed database distributed maintenance

32
The Directory A distributed database Distributed maintenance

Upload: clara-carson

Post on 11-Jan-2016

225 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: The Directory A distributed database Distributed maintenance

The Directory

A distributed database

Distributed maintenance

Page 2: The Directory A distributed database Distributed maintenance

Purpose of a Directory

A directory is a way to store data in an organized way for easy access

Primary operation on a directory is LOOKUP

This means that a directory is optimized for reading rather than for creation or updateNote the distinction from a database

Page 3: The Directory A distributed database Distributed maintenance

Why a directory? Tracking users' software configuration preferences in a directory can give them

the mobility they need to work from any location. Rather than being stored in a local registry or preferences file, accessible only from a single computer, this information can essentially travel around the network with the user.

Tracking access privileges in a directory enables network administrators to keep users out of parts of the network that are off limits to them. Storing access control rights in the directory enables multiple applications to have easy access to the same security settings.

Centralizing user account and password information can minimize password management and disparate sign-ons across applications.

Managing Web site configuration information in a centralized directory makes site administration simpler. One configuration change in the directory can easily be applied to all the servers at the site.

LDAP has the potential to do for directories what HTTP and HTML did for documents

Ref: http://developer.netscape.com/viewsource/rose_ldap.html

Page 4: The Directory A distributed database Distributed maintenance

Four ways to describe a directory Informational Model

what does the directory hold?How are the entries related?

Functional ModelHow does it operate?What services are available to serve a user?

Organizational ModelWho owns it and how do they manage it?

Security ModelWhat authorization and authentication?

Page 5: The Directory A distributed database Distributed maintenance

Four ways to describe a directory Informational Model

what does the directory hold?How are the entries related?

Functional ModelHow does it operate?What services are available to serve a user?

Organizational ModelWho owns it and how do they manage it?

Security ModelWhat authorization and authentication?

Page 6: The Directory A distributed database Distributed maintenance

Information Stored in the Directory Information Base (DIB) composed of entries

information about one objectpersonprintercompanystate or provincean application entity

… or anything else Entry composed of attributes

consists of a type and one or more values

Page 7: The Directory A distributed database Distributed maintenance

Object Classes Object class = identified family of objects

Some common set of characteristics ex. person is an object class

o common attributes commonName, surname

o optional attributes description, telephoneNumber, userPassword, seeAlso

Subclasso organizationalPerson

subclass of person must have all the required attributes may have the optional attributes may have additional attributes

• ex. title, organizationalUnitName, etc.

Page 8: The Directory A distributed database Distributed maintenance

Structure of the DIB Tree like Entries form the vertices of the tree Arcs define the relation between entries Distinguished name (DN)

Uniquely and unambiguously identifies each entry Constructed from the identities of ancestors in the tree specially designated set of attribute values from the entry

Page 9: The Directory A distributed database Distributed maintenance

Entry components

Type Values

Values DistinguishedAttribute Value

AttributeValue Value

Attribute AttributeValue

Page 10: The Directory A distributed database Distributed maintenance

Attribute

Attribute

Attribute

Surname Cassel Riley

commonName L. N. Cassel, Lillian N. Cassel, Boots

telephoneNumber +1 610 555 1234

One attribute/value pair is the Relative Distinguished Name for the entrySurname Cassel, for example, would identify this entry.

Attribute objectclass person

Objectclass is the type of the entry as a whole. It tells the directory what kinds of information can or should be included in the entry

An example entry

Page 11: The Directory A distributed database Distributed maintenance

Root

Country Organization Locality

resPerson grp ou org locality

org

A portion of the standard Directory Information Tree

Page 12: The Directory A distributed database Distributed maintenance

Sample section of a DITRoot

C = US

L=PA

Org=VU

OU=Computing Sciences

grp=Faculty grp=equipment

CN= Lillian N. CasselPN= +1 610 555 1234L=162A Mendel Hall

CN=m163psDesc=PostScript PrinterL=163 Mendel

L=Mendel Hall An Entry with 3 attributes

Page 13: The Directory A distributed database Distributed maintenance

The Directory Schema

Rules governing attribute types allowed for each class of object

form of values for each attribute typeclass of object that can be a child entry of a

given class object

Page 14: The Directory A distributed database Distributed maintenance

The Directory Service

Operations to interrogate and modify the content of the Directory

Control access to DIT entriesEnsure that any changes continue to obey

the rules of the schema

Page 15: The Directory A distributed database Distributed maintenance

Four ways to describe a directory Informational Model

what does the directory hold?How are the entries related?

Functional ModelHow does it operate?What services are available to serve a user?

Organizational ModelWho owns it and how do they manage it?

Security ModelWhat authorization and authentication?

Page 16: The Directory A distributed database Distributed maintenance

Functional Model players

Directory User Agent (DUA)participates in the Directory protocol on behalf

of a user

Directory Service Agent (DSA)responds to requests for information from the

directoryrequests come from DUAs or other DSAs

Page 17: The Directory A distributed database Distributed maintenance

Functional Model Describes the Directory in terms of operations

performed by a DUA and one or more DSAs serving the request of the DUA.

DUA gains access binds to an access point represented by a particular

DSADSA has direct access to a portion of the Directory (the

data)DSA has knowledge about the rest of the Directory

o can get information it does not have

Page 18: The Directory A distributed database Distributed maintenance

DSA - DUA interaction

DSA

DSA

DSA

DSA

DUA

The user sees the directory as one collection accessible through one interface. Directory servers interact with each other to provide the response.

Page 19: The Directory A distributed database Distributed maintenance

X.500 and LDAP

X.500 is the ITU specification of a global directory intended to run over a full ISO protocol stack

LDAP is a lightweight version of X.500 that runs directly over TCP/IP

LDAP was originally intended as a frontend to the X.500 Directory, but now runs standalone as well.

Page 20: The Directory A distributed database Distributed maintenance

Four ways to describe a directory Informational Model

what does the directory hold?How are the entries related?

Functional ModelHow does it operate?What services are available to serve a user?

Organizational ModelWho owns it and how do they manage it?

Security ModelWhat authorization and authentication?

Page 21: The Directory A distributed database Distributed maintenance

Security Model

Authorization given tosubtreeentryattribute type

Authorization allowed by individualgroupsowner

Page 22: The Directory A distributed database Distributed maintenance

Access

Give authority to Owner – to update phone number, address, etc.Project managers – to update project

informationDepartment to update goal statementsetc.

Page 23: The Directory A distributed database Distributed maintenance

Security issues

AuthenticationWho are you and how do I know that?

ConfidentialityWho is entitled to this unit of information?

Integrity Is the data uncorrupted?

AuthorizationYou are entitled to authorize some resources, but not

others.

Page 24: The Directory A distributed database Distributed maintenance

Directory Security Examples

Anonymous Requesters? Identified Requesters?

Read/Write?

Read/Write?

1 N N Y RO N None2 N N N N/A Y RO Secure Authentication

3 N Y N/A N/A N/A N/A

Mutual authentication, Connection Integrity-Protection

4 N N Y RO Y RW Secure Authentication

5 Y Y N/A N/A N/A N/A

Mutual authentication, Connection Integrity- and Confidentiality- Protection

Required Directory-Specific Security Mechanisms or

Functions

Connection Hijacking or IP

Spoofing Threats?sc

enar

ios Contains

Sesitive Data?

Ref: Jeff Hodges; [email protected]; http://www.oblix.com/

Page 25: The Directory A distributed database Distributed maintenance

Data Integrity: Replication There are world-wide directories

Performance issueso Data distributed over the whole worldo Multiple copies of sections of the DITo Local copy may not be completely up to date

DUA always knows when it receives information from a copy

Local directories may be copies of remote directories or stand-alone directoriesperformance issues are different

Page 26: The Directory A distributed database Distributed maintenance

Cache and Shadow copies

Cache copies not covered in the specificationUnofficial copies, no guarantee of accuracy

Shadow copiesObtained in accordance with procedures in Directory

specificationOfficial, controlled copy.Not necessarily up to date at all timesLimit to the time before it will be updated.

Page 27: The Directory A distributed database Distributed maintenance

LDAP in use

Page 28: The Directory A distributed database Distributed maintenance

Address access to LDAP

Page 29: The Directory A distributed database Distributed maintenance

LDAP related RFCs

Page 30: The Directory A distributed database Distributed maintenance

Find more

http

://w

ww

.ope

nlda

p.or

g/

Page 31: The Directory A distributed database Distributed maintenance

More information on LDAP

http://www.kingsmountain.com/ldapRoadmap.shtml

Pointers to recent articles

Pointers to downloadable copies of the software

Updates on status

etc.

Page 32: The Directory A distributed database Distributed maintenance

Directory summary

Distributed informationperformance issuessecurity issues

Consistent structure of information makes distributed access easier

Local use has many applications in coordinated access and security within an organization