web-dev-qa-db-fra.com

À quoi sert AudienceRestriction dans SAML 2.0?

Après avoir lu la spécification principale de SAML 2.0, section 2.5.1.4 (page 23), je ne parviens toujours pas à comprendre l'objectif de la balise AudienceRestriction et le problème qu'elle tente de corriger.

Mon interprétation, probablement incorrecte, de la balise AudienceRestriction est qu'elle facilite une sorte de déclaration d'intention déclarant pour quel URI spécifique avec le SP une assertion donnée est valide.

Serait très reconnaissant si quelqu'un pouvait expliquer (a) le but de la balise et (b) un scénario de cas d'utilisation typique et (c) toutes les implications potentielles de son exclusion et/ou d'une mauvaise utilisation.

17
Christoffer

SAML 2.0 AudienceRestriction est à peu près ce que vous avez rassemblé. Il s'agit d'une condition de validité d'une assertion. En particulier, il déclare que la sémantique de l'assertion n'est valide que pour la partie de confiance nommée par l'URI dans cet élément.

Le but est de restreindre les conditions dans lesquelles l'affirmation est valide, et de fournir éventuellement des termes et conditions relatifs à cette validité. La sémantique de l'élément concerne donc la portée et les conditions des relations de confiance. De SAML 2.0 Core, Section 2.5.1.4 (PDF) :

Bien qu'une partie de confiance SAML qui est en dehors des publics spécifiés soit capable de tirer des conclusions d'une assertion, la partie affirmante SAML ne fait explicitement aucune déclaration quant à l'exactitude ou à la fiabilité d'une telle partie ...

...le <AudienceRestriction> L'élément permet à la partie affirmante SAML de déclarer explicitement qu'aucune garantie n'est fournie à une telle partie sous une forme lisible par la machine et par l'homme. Bien qu'il ne puisse y avoir aucune garantie qu'un tribunal maintiendrait une telle exclusion de garantie en toutes circonstances, la probabilité de maintenir l'exclusion de garantie est considérablement améliorée ...

C'est-à-dire que ce n'est pas une chose de code mais une chose humaine (gestion des risques/garantie/confiance). S'il est mal utilisé, les modules ont tendance à générer des erreurs - la plupart des SP s'attendent à être répertoriés dans le AudienceRestriction.

14
Mark Beadles