Les options d'attributs

Définition

La norme LDAP spécifie qu'une entrée LDAP est constituée d'attributs. Un attribut est constitué d'une description d'attribut et d'une ou plusieurs valeurs. Une description d'attribut est elle-même composée d'un type et de zéro ou plusieurs options (cf. Références, RFC 4512, § 2.5.2).

Une option PEUT servir à matérialiser un sous-type de l'attribut.

Les options d'attributs sont enregistrées auprès de l'IANA, à l'exception de celles à usage privé pour lesquelles un préfixe est défini (cf. Références, RFC 4520, § 3.5).

Dans le cadre de SUPANN, l'usage d'options est proposé pour certains types d'attributs, dans le but de spécifier la nomenclature de la valeur pointée, selon le même principe que pour les étiquettes.

Cet usage permet de faire coexister dans le même attribut des valeurs issues de nomenclatures ou provenances différentes, tout en permettant l'exploitation de l'attribut par requête LDAP sans reformatage des valeurs lues. Cet usage est complémentaire à celui des étiquettes.

Remarque: Les options d'attributs sont principalement destinées à être utilisées via le protocole LDAP. Elle ne sont pas adaptées au contexte de la fédération d'identités, car il n'existe pas de formalisme pour les transmettre via le protocole SAML; en revanche les applications fonctionnant dans ce contexte ont en général des capacités de traitement permettant de reformater les valeurs.

C'est pourquoi dans certains cas SUPANN définit deux types d'attributs pour la même information, l'un avec étiquette ou suffixe de domaine, et l'autre avec option. L'attribut le plus approprié pourra être utilisé selon le contexte.

Syntaxe

RFC 4512

  • Le type de l'attribut est suffixé par les options souhaitées en utilisant le caractère “;” comme séparateur, pour former la description complète de l'attribut.
attributeType;option1;x-privoption2: valeur
  • Les options obéissent aux règles de nommage suivantes:
    • Les règles de syntaxe sont les mêmes que celles du type. Elles sont insensibles à la casse.
    • Le préfixe x- est réservé aux options à usage à usage privé (non enregistrées à l'IANA).
    • Il n'est pas recommandé d'utiliser des options de plus de 24 caractères.
    • On peut faire suivre un type d'attributs de plusieurs options. L'ordre des options est indifférent.
  • Les valeurs, pour leur part, obéissent de façon habituelle à la syntaxe du type d'attribut utilisé.

SUPANN

SUPANN définit des types d'attributs spécifiques permettant l'usage d'options RFC 4512:

  • Ces options sont définies dans l'espace de nommage privé, non enregistré auprès de l'IANA, avec un préfixe “x-”.
  • Par mesure de précaution, seules les lettres minuscules, les chiffres et le tiret “-” (faisant office de séparateur) seront utilisés pour pour le nommage des options.
  • Par ailleurs la possibilité de combiner plusieurs options simultanément ne sera pas utilisée, les options définies seront considérées comme exclusives.

Pour chaque type d'attribut, des règles spécifiques définissant les options autorisées. Trois cas sont possibles:

  • Fermé: SUPANN définit la liste exhaustive des options autorisées et leurs usages.
  • Semi-ouvert: SUPANN définit une liste d'options “principales” et leurs usages, non réattribuables à d'autres usages. L'établissement peut ajouter d'autres options pour d'autres usages. Le cas échéant, SUPANN peut imposer des règles de syntaxe pour ces options “locales”, comme l'usage d'un préfixe.
  • Ouvert: l'établissement définit ses propres options et leurs usages.

Exploitation

Configuration serveur :

OpenLDAP permet le sous-typage d'attributs via les options. Voir: OpenLDAP : activation des options d'attributs

Requêtage:

exemple de filtre LDAP:

(monAttribut;x-monoption=mavaleur)

Dans les applications où les noms d'attributs LDAP sont paramétrables, il suffit de mettre la description complète “monattribut;x-monoption” comme nom d'attribut à requêter. Seules les valeurs de “monattribut” correspondant à l'option “x-monoption” seront renvoyées à l'application.

Usages

Les attributs SUPANN suivants font appel aux options: