web-dev-qa-db-ja.com

SAML2.0での受信者と対象者

SAML 2.0のRecipientAudienceの違いを誰かが説明できますか?

私はここでOneLoginからかなり漠然とした説明しか見つけませんでした: https://support.onelogin.com/hc/en-us/articles/202673944-How-to-Use-the-OneLogin-SAML-Test-Connector

受信者はSAML応答の対象を正確に教えてくれますが、オーディエンスはより広いレベルで応答の行き先を教えてくれます。たとえば、受信者はヤンキースタジアムで、聴衆はニューヨーク市である可能性があります。

しかし、私はそれが正しいかどうか100%確信していません。私は、オーディエンスが受信者よりも具体的であることを見てきました。

9
Victor Ronin

Recipientは、SAMLアサーションのSubject要素に関連付けられています。これは、認証が実行されるユーザーまたはサブジェクトに関するものであり、そのSubjectデータはIdPによってその特定の受信者(SP)に授与されます。アサーションに基づいて行動します。

NameID形式、値(IdPとSPの間でユーザーまたはサブジェクトを一意に識別する)、トークンの受信および有効性であるトークン形式(例:ベアラートークン)のNameID値などのサブジェクトデータ。通常、Receiptは、アサーションが受信されるSPエンドポイントです。

   ...
   <saml:Subject>
     <saml:NameID
       Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient">
       3f7b3dcf-1674-4ecd-92c8-1544f346baf8
     </saml:NameID>
     <saml:SubjectConfirmation
       Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
       <saml:SubjectConfirmationData
         InResponseTo="aaf23196-1773-2113-474a-fe114412ab72"
         Recipient="https://sp.example.com/SAML2/SSO/POST"
         NotOnOrAfter="2004-12-05T09:27:05"/>
     </saml:SubjectConfirmation>
   </saml:Subject>
   ...

AudienceはSAMLアサーションのCondition要素に関連付けられており、どのセキュリティ条件またはコンテキストでアサーションが有効であるかを示し、そのような有効性に関連するいくつかの条件を提供します(アサーションの時間有効性など、アサーションを消費するなど)。通常、オーディエンスはSPのEntityIDになります。

   ...
   <saml:Conditions
     NotBefore="2004-12-05T09:17:05"
     NotOnOrAfter="2004-12-05T09:27:05">
     <saml:AudienceRestriction>
       <saml:Audience>https://sp.example.com/SAML2</saml:Audience>
     </saml:AudienceRestriction>
   </saml:Conditions>
   ...

オーディエンスとレシートはSAMLアサーション内の特定の目的のためにレイアウトされており、それらがすべて同じSP URLを値として持つことを盲目的にとらえることはできません。また、IdPの実装とIdPおよびSP SAMLアサーションのオーディエンス要素とレシート要素で使用する値を考え出すために交渉します。

4
Zeigeist