\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{lun. juin 15 11:40:32 CEST 2015}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={draft-bannister-dbis-mapping-06},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Directory-Based Information Services},
CreationDate={D:20150615114032},
ModDate={D:20150615114032},
Keywords={LDAP;Lightweight Directory Access Protocol}
}}
\begin{document}
 
\begin{center}
{\Huge draft-bannister-dbis-mapping-06 }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Directory-Based Information Services}
 
\vspace{10mm}
 
\hspace{1mm}  Ce document fait partie de la série de documents qui décrivent les composants dans DBIS (Directory-Based Information Services). DBIS fournis un framework pour la représentation des données lié à TCP/IP et le système UNIX dans des entrées X.500 qui ont été précédemment stockés dans NIS; pour qu'ils puissent être résolus avec le protocole LDAP.
\vspace{5mm} \\
 
 
\hspace{1mm}  Le but de DBIS est d'étendre, et remplacer le protocole NIS et expérimental pour utiliser LDAP comme service d'information réseaux,.
\vspace{5mm} \\
 
 
\hspace{1mm}  DBIS consiste d'un schéma LDAP, de conventions de nommage et de protocoles pour décrire son utilisation par les DUA nécessitant des informations de service réseaux. La communication client/serveur et les opérations côté serveur sont entièrement contenus dans le domaine de LDAP.
\vspace{5mm} \\
 
 
\hspace{1mm}  Les aspects clé de DBIS et des amélioration par rapport à RFC2307 sont:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} -]{le schéma est compatible avec NIS, incluant la sensibilité à la casse des noms clé.}
\item[\hspace{1mm} -]{Standardisation des information de mappage pour augmenter la portabilité des implémentation DUA et pour réduire la duplication des informations de configuration du client.}
\item[\hspace{1mm} -]{Fonctionnalités ajoutées pour augmenter la flexibilité dans de grands environnements:}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{6mm} -]{les maps peuvent être jointes depuis les données localisée dans différents endroits du DIT.}
\item[\hspace{6mm} -]{Les groupes de DUA peuvent avoir de variations dans leur données en fonction de leur appartenance aux netgroup d'hôte.}
\end{description}
 
\begin{description} \normalsize
\item[\hspace{1mm} -]{Conception modulaire pour permettre de séparer les parties du système à remplacer, améliorer et augmenter séparément dans le future.}
\item[\hspace{1mm} -]{Support ajouté pour les maps d'automontage}
\end{description}
 
\hspace{1mm}  Ce document décris le mappage d'objets utilisés par DBIS pour localiser et transformer les informations de service stockés dans le DIT.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Databases }
 
\
 
\hspace{1mm}  Le rôle de DBIS est de fournir un framework qui fournis des informations de configuration, principalement des services de nom tel que les comptes, groupes et hôtes/réseaux, et toutes les informations traditionnellement fournies par NIS. Chaque type d'information est appelée une base de donnée, vu que c'est une collection d'entrées liées dans le DIT. Le format des entrées est spécifique à chaque type de base et n'est pas définis dans ce document. Chaque base est configurée séparément en utilisant des maps de configuration qui décrivent où localiser les entrées concernées dans le DIT. Le format des map de configuration est définie dans ce document, bien qu'il peut être étendus par d'autres documents.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Alias }
 
\
 
\hspace{1mm}  Quand une base supporte les entrées alias, ils doivent être configuré comme décris dans la rfc4512. Un DUA devrait effectuer le déréférencement d'alias dans ces bases.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Domaine: définition }
 
\
 
\hspace{1mm}  Le mappage d'objets définis les composants qui font un domaine DBIS. Un domain DBIS, est un groupement logique de services d'informations requis par une collection commune de DUA, de la même manière qui domaine NIS contient toutes les maps NIS requises pour les opérations d'un groupe de machines. Un domaine DBIS devrait être identifiié par une entrée LDAP avec l'objectClass dbisDomainObject. Les maps de configuration pour le domaine sont contenus dans les entrées qui devraient être localisés sous l'entrée dbisDomainObjet dans le DIT.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge dbisDomainObject }
 
\
 
\hspace{1mm} Cette classe est définie comme suit:
 
{\ttfamily
objectclass ( 1.3.6.1.4.1.23780.219.1.1 NAME 'dbisDomainObject' DESC 'Defines a top-level mapping object for a DBIS domain' SUP top STRUCTURAL MUST en MAY ( profileTTL \$ negativeTTL \$ description \$ manager ) )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Attributs de domaine }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} en]{Le nom du domain, identique au format dans un domaine NIS, qui doit être associé avec une entrée dbisDomainObject et devrait former le RDN.}
\item[\hspace{1mm} profileTTL]{Valeur TTL par défaut pour la pertinence des données de configuration (définis dans la rfc4876) qui peut être associé avec une entrée dbisDomainObject. Les DUA devraient conserver une copie locale des données obtenues. Si profileTTL vaut 0, les DUA peuvent conserver les copies locales indéfiniment. Si profileTTL n'est pas présent, les DUA devraient se comporter comme s'il était définis à 0.}
\item[\hspace{1mm} negativeTTL]{Identique à profileTTL, excepté pour les entrées qui n'existent pas. Les DUA devraient conserver une copie local des recherches qui n'existent pas mais ne doivent pas utiliser cette donnée après le nombre de secondes spécifiée.}
\end{description}
 
{\ttfamily
attributetype ( 1.3.6.1.4.1.23780.219.2.36 NAME 'negativeTTL' DESC 'Time to live, in seconds, for missing entries' EQUALITY integerMatch ORDERING integerOrderingMatch SINGLE-VALUE SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )\\
}
\vspace{8mm}
 
\begin{description} \normalsize
\item[\hspace{1mm} description]{L'attribut description peut être associé avec une entrée dbisDomainObject pour fournir une description arbitraire de l'entrée.}
\item[\hspace{1mm} manager]{L'attribut manager peut être associé avec une entrée dbisDomainObject pour fournir un ou plusieurs DN d'individus, groupes ou systèmes qui sont responsable de la maintenance de l'entrée.}
\end{description}
 
\vspace{1cm}{\huge Alias de domaine }
 
\
 
\hspace{1mm}  Si les alias noms de domaine sont requis ils doivent être configurés comme décris dans la rfc4512. Un DUA doit déréférencer les alias.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Exemple d'entrée de domaine }
 
\
 
\hspace{1mm} L'exemple suivant est une entrée dbisDomainObject:
 
{\ttfamily
dn: en=sales.corp,ou=domain-mappings,o=infra\\ objectClass: top\\ objectClass: dbisDomainObject\\ en: sales.corp\\ profileTTL: 900\\ negativeTTL: 300\\ description: Sales Workforce\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Maps de configuration }
 
\
 
\hspace{1mm}  Une map de configuration DBIS instruit un DUA sur l'emplacement des entrées dans le DIT pour une base particulière. Elle décris comment trouver les entrées et optionnellement quel sous-jeu de DUA devraient utiliser ces entrées (basé sur l'appartenance de netgroup). Ce document ne définis aucune map de configuration spécifique, mais un framework qui doit être suivi pour la spécification de tels maps. Les maps de configuration devraient être évaluées par un DUA dans l'ordre lexicographique de leur attribut cn. L'ordre d'évaluation de ces entrées de configuration déterminent également l'ordre dans lequel les entrées de base apparaissent si plusieurs emplacements sont trouvés. L'ordre est également important pour s'assurer que les netgroups corrects sont disponibles pou tester si la configuration est restreinte par l'appartenance à un netgroup en utilisant soit l'attribut exactNetgroup ou notNetgroup.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge dbisMapConfig }
 
\
 
\hspace{1mm} Une map pour une base est optionnelle et devrait être identifiée par une ou plusieurs entrées LDAP localisées sous l'entrée dbisDomainObject dans le DIT. Le comportement du DUA si une entrée depuis une base est demandée et n'a pas de map de configuration correspondant est indéfinie. Les entrées de map de configuration assignées, ou une sous-classe:
 
{\ttfamily
objectclass ( 1.3.6.1.4.1.23780.219.1.2 NAME 'dbisMapConfig' DESC 'DBIS configuration map for a specific database' SUP top STRUCTURAL MUST ( cn \$ dbisMapDN ) MAY ( dbisMapFilter \$ dbisMapClass \$ dbisMapAttr \$ dbisTransAttr \$ exactNetgroup \$ notNetgroup \$ profileTTL \$ negativeTTL \$ description \$ manager \$ disableObject ) )\\
}
\vspace{8mm}
 
\hspace{1mm}  Un DUA devrait supporter plusieurs entrées de map de configuration pour une simple base. Une base devrait nécessiter au moins un objectClass additionnel assigné à sa configuration, qui est utilisé pour identifier de manière unique le type de base pour lequel les entrées appartiennent.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge cn }
 
\
 
\hspace{1mm}  L'attribut cn doit être utilisé pour former le RDN d'une entrée dbisMapConfig. C'est un nom arbitraire qui n'a pas de signification spéciale dans DBIS, mais qui identifie de manière unique l'entrée dbisMapConfig. Comme vu plus haut, les entrées sont évaluées dans l'ordre lexicographique de leur attribut cn.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge dbisMapDN }
 
\
 
\hspace{1mm} Un ou plusieurs DNs localisant la base de recherche des entrées de la base dans le DIT sont donnés dans l'attribut dbisMapDN qui doit être assigné à une entrée dbisMapConfig:
 
{\ttfamily
attributetype ( 1.3.6.1.4.1.23780.219.2.1 NAME 'dbisMapDN' DESC 'DN of search base for DBIS database entries' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge dbisMapFilter }
 
\
 
\hspace{1mm} Un filtre de recherche LDAP utilisé pour localiser les entrées de la base sous lequel chaque dbisMapDN est donné dans l'attribut dbisMapFilter qui peut être assigné à une entrée dbisMapConfig:
 
{\ttfamily
attributetype ( 1.3.6.1.4.1.23780.219.2.2 NAME 'dbisMapFilter' DESC 'LDAP search filter for DBIS database entries' EQUALITY caseIgnoreIA5Match SINGLE-VALUE SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge dbisMapClass }
 
\
 
\hspace{1mm} Les objectClass utilisés pour identifier les entrées pour une base peut être changé du défaut par l'attribut dbisMapClass qui peut être assigné à une entrée dbisMapConfig:
 
{\ttfamily
attributetype ( 1.3.6.1.4.1.23780.219.2.3 NAME 'dbisMapClass' DESC 'LDAP class mapping for DBIS database entries' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\\
}
\vspace{8mm}
 
\hspace{1mm} La représentation chaîne de l'attribut dbisMapClass est définie par la grammaire suivante, qui utilise la notation ABNF. Les productions utilisées qui ne sont pas définies ici sont définies dans la rfc4512.
 
{\ttfamily
from\_class = keystring\\ to\_class = keystring\\ dbisMapAttr = to\_class EQUALS from\_class\\
}
\vspace{8mm}
 
\hspace{1mm}  Si l'attribut dbisMapClass est manquant de l'entrée dbisMapConfig, le DUA devrait continuer avec les classes par défaut pour la base. Changer cet attribut n'a pas d'effet sur le dbisMapFilter, qui doit être ajusté indépendamment.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge dbisMapAttr }
 
\
 
\hspace{1mm} Les attributs utilisé pour stocker les clés et valeurs de l'entrée de la base peuvent être changés par l'attribut dbisMapAttr qui peut être assigné à une entrée dbisMapConfig:
 
{\ttfamily
attributetype ( 1.3.6.1.4.1.23780.219.2.4 NAME 'dbisMapAttr' DESC 'LDAP attribute mapping for DBIS database entries' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\\
}
\vspace{8mm}
 
\hspace{1mm} La représentation chaîne de l'attribut dbisMapAttr est définie par la grammaire suivante, qui utilise la notation ABNF. Les productions utilisées qui ne sont pas définies ici sont définies dans la rfc4512.
 
{\ttfamily
from\_attr = keystring\\ to\_attr = keystring\\ dbisMapAttr = to\_attr EQUALS from\_attr\\
}
\vspace{8mm}
 
\hspace{1mm}  L'attribut utilisé dans la base est identifiée par from\_attr et devrait être ré-écrit par le DUA à l'attribut to\_attr. Si l'attribut dbisMapAttr est manquant de l'entrée dbisMapConfig, le DUA devrait continuer avec les attributs par défaut pour la base. Changer cet attribut n'a pas d'effet sur le dbisMapFilter ni dbisTransAttr, qui doivent être ajustés indépendamment.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge dbisTransAttr }
 
\
 
\hspace{1mm} Les valeurs d'attribut utilisés par les entrées de base peuvent être transformés par l'attribut dbisTransAttr qui peut être assigné à une entrée dbisMapConfig:
 
{\ttfamily
attributetype ( 1.3.6.1.4.1.23780.219.2.4.1 NAME 'dbisTransAttr' DESC 'LDAP attribute transformation for DBIS database entries' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\\
}
\vspace{8mm}
 
\hspace{1mm} La représentation chaîne de dbisTransAttr est définie par la grammaire suivante, qui utilise la notation ABNF. Les productions qui ne sont pas définies ici sont définies dans draft-bannister-dbis-netgroup-XX:
 
{\ttfamily
attrname = keystring\\ prefix = keystring\\ suffix = SLASH keystring\\ incr = PLUS number\\ decr = HYPHEN number\\ trans = prefix / suffix / incr / decr\\ dbisTransAttr = attrname EQUALS trans\\
}
\vspace{8mm}
 
\hspace{1mm}  La valeur de l'attribut attrname apparaissant dans les entrées de base devraient être ré-écris par le DUA tel sorte qu'il porte le nouveau préfix et/ou suffix. Alternativement, si la valeur de l'attribut est numérique, il doit être incrémenté ou décrémenté en ajoutant ou supprimant le nombre donné. Si l'attribut dbisTransAttr est manquant, le DUA devrait continuer avec les valeurs non-éditées pour la base.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge exactNetgroup }
 
\
 
\hspace{1mm}  Un ou plusieurs noms netgroup identifiant les noms d'hôte des DUA qui devraient appliquer la map de configuration donnée dans l'attribut exactNetgroup qui peut être assigné à une entrée dbisMapConfig. Si l'attribut exactNetgroup est manquant, le DUA devrait appliquer cette entrée de map de configuration. Si l'attribut existe, le DUA devrait appliquer l'entrée seulement si l'hôte sur lequel il tourne est membre du netgroup donné. Si une entrée matchant est trouvée, le DUA devrait utiliser cette configuration, sinon le DUA doit ignorer cette entrée. La seule exception à ces règles est si le DUA est membre d'un netgroup identifié par l'attribut notNetgroup, qui a précédence.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge noNetgroup }
 
\
 
\hspace{1mm}  Un ou plusieurs noms netgroup identifiant les noms d'hôte des DUA qui ne devraient pas appliquer la map de configuraion sont donnés dans l'attribut notNetgroup qui peut être assigné à une entrée dbisMapConfig. Cela permet aux entrées de map de configuration d'être exclus d'un groupe d'hôtes particuliers. Le DUA devrait exclure cette entrée de map de configuration si le DUA est membre du netgroup donné, même s'il est également membre d'une attribut exactNetgroup.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge profileTTL }
 
\
 
\hspace{1mm}  Une valeur TTL peut être assignée à une entrée dbisMapConfig dans l'attribut profileTTL définis dans la rfc4876. Les DUA devraient considérer cet attribut comme ayant précédence au profileTTL fournis dans l'entrée dbisMapConfig, avec le scope limité à cette entrée et toutes entrées qu'elle référence. Si profileTTL est à 0, le DUA peut conserver les copies indéfiniment ou jusqu'à ce que d'autre périodes localement définies soient passées. Si profileTTL est omis de dbisMapConfig, le profileTTL par défaut fournis dans le dbisDomainObject devrait prévaloir.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge negativeTTL }
 
\
 
\hspace{1mm}  Identique à profileTTL, excepté qu'il est utilisé pour les entrées qui n'existent pas.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge description }
 
\
 
\hspace{1mm}  L'attribut description peut être associé avec une entrée dbisMapConfig pour fournir une description arbitraire de l'entrée
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge manager }
 
\
 
\hspace{1mm}  L'attribut manager peut être associé avec une entrée dbisMapConfig pour fournir un ou plusieurs DN des individus, groupes ou systèmes qui sont responsable pour maintenir l'entrée.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge disableObject }
 
\
 
\hspace{1mm} L'attribut disableObject peut être associé avec une entrée dbisMapConfig pour désactiver ce composant de configuration, et est définis comme suit:
 
{\ttfamily
attributetype ( 1.3.6.1.4.1.23780.219.2.5 NAME 'disableObject' DESC 'TRUE if the entry is disabled' EQUALITY booleanMatch SINGLE-VALUE SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )\\
}
\vspace{8mm}
 
\hspace{1mm}  Un DUA devrait ignorer les entrées qui ont l'attribut disableObject mis à TRUE.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Attributs communs }
 
\
 
\hspace{1mm}  Les attribut additionnels qui sont soit utilisés dans ce document ou requis par d'autres documents en utilisant le shéma de mappage DBIS sont définis ou référencé ci-dessous.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge en (exactName) }
 
\
 
\hspace{1mm} L'attribut en peut être utilisé à la place de cn où la sensibilité à la casse est requise, et est définie comme suit:
 
{\ttfamily
attributetype ( 1.3.6.1.4.1.23780.219.2.6 NAME ( 'en' 'exactName' ) DESC 'Exact name by which the entity is known' EQUALITY caseExactMatch SINGLE-VALUE SUBSTR caseExactSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15\{32768\} )\\
}
\vspace{8mm}
 
\hspace{1mm}  L'attribut en est identique à l'attribut cn à l'exception qu'il est sensible à la casse et est SINGLE-VALUE.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge rn (regularName) }
 
\
 
\hspace{1mm} L'attribut rn peut être utilisé à la place du cn où la casse n'est pas importante mais une seule valeur est permise:
 
{\ttfamily
attributetype ( 1.3.6.1.4.1.23780.219.2.7 NAME ( 'rn' 'regularName' ) DESC 'Regular name by which the entity is known' EQUALITY caseIgnoreMatch SINGLE-VALUE SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15\{32768\} )\\
}
\vspace{8mm}
 
\hspace{1mm}  L'attribut rn est identique à l'attribut cn à l'exception qu'il est SINGLE-VALUE.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Syntaxe d'attribut }
 
\
 
\hspace{1mm} Les syntaxes suivantes sont utilisée par les attributs définis dans ce document:
 
{\ttfamily
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\\ Syntax\_OID\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_Value\_\_\_\_\_\_\_\_\_\_\_\_\_Reference\\ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\\ 1.3.6.1.4.1.1466.115.121.1.7\_\_\_Boolean\_\_\_\_\_\_\_\_\_\_\_\texttt{[}RFC4517\texttt{]}\\ 1.3.6.1.4.1.1466.115.121.1.12\_\_DN\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\texttt{[}RFC4517\texttt{]}\\ 1.3.6.1.4.1.1466.115.121.1.15\_\_Directory\_String\_\_\texttt{[}RFC4517\texttt{]}\\ 1.3.6.1.4.1.1466.115.121.1.26\_\_IA5\_String\_\_\_\_\_\_\_\_\texttt{[}RFC4517\texttt{]}\\ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Caches }
 
\
 
\hspace{1mm}  Il est commun pour les systèmes d'exploitation d'implémenter leur propres algorithmes de cache de service de noms, par exemple nscd, qui a sont propre TTL. Tou DUA implémentant DBIS devrait honorer le profileTTL et negativeTTL au niveau du domanie et des entrées de map de configuration qui doivent avoir précédence sur les paramètres locaux. Cela peut résulter en différents TTL pas seulement pour les base individuelles mais potentiellement pour les sous-jeux des entrées dans une simple base.
\vspace{5mm} \\
 
\end{flushleft}
\end{document}
