SAML 2.0 – Wikipedia, the free encyclopedia: Artifact Binding (俺約)

 

SP Redirect Artifact; IdP Redirect Artifact

This is a complex deployment of the SAML 2.0 Web Browser SSO Profile where both the service provider (SP) and the identity provider (IdP) use the HTTP Artifact binding. Both artifacts are delivered to their respective endpoints via HTTP GET. (SAML2.0 Web Browser SSO Profile の複雑な実装で、SPとIdPはHTTP Artifact バインディングを使います。2つのartifact(生成物、人工事実…うーむ)はそれぞれのエンドポイントに対してHTTP GETで届けられます)

SAML 2.0 Web Browser SSO (Artifact)

The message flow begins with a request for a secured resource at the SP:

1. Request the target resource at the SP (SPの目的のリソースにリクエスト)

The principal (via an HTTP user agent) requests a target resource at the service provider:(最初のリクエストはUAがSPの目的のリソースを要求)

 https://sp.example.com/myresource

The service provider performs a security check on behalf of the target resource. If a valid security context at the service provider already exists, skip steps 2–11.(SPはTRに変わってセキュリティチェックを行います。すでにセキュティコンテキストを持っていれば、2~11はスキップします)

2. Redirect to the Single Sign-on (SSO) Service at the IdP(IdpのSSOサービスにリダイレクト)

The service provider redirects the user agent to the single sign-on (SSO) service at the identity provider. A RelayState parameter and a SAMLart parameter are appended to the redirect URL.(SPはUAをIdPにあるSSOにリダイレクトします。RelayStateパラメータとSAMLartパラメータがリダイレクトURLに付きます)

3. Request the SSO Service at the IdP(IdPのSSOサービスをリクエスト)

The user agent requests the SSO service at the identity provider:(UAはIdPのSSOサービスをリクエストします)

 https://idp.example.org/SAML2/SSO/Artifact?SAMLart=artifact_1&RelayState=token

where token is an opaque reference to state information maintained at the service provider and artifact_1 is a SAML artifact, both issued at step 2.(tokenはSPで保持されるステート情報を示すあやふやな参照です。artifact_1はSAMLアーチファクトでステップ2で発行されます)

4. Request the Artifact Resolution Service at the SP(SPのArtifact解決サービスをリクエスト)

The SSO service dereferences the artifact by sending a <samlp:ArtifactResolve> element bound to a SAML SOAP message to the artifact resolution service at the service provider:(SSOサービスはSAML Soapメッセージに含めた<samlp:ArtifactResolve>要素ををSPにあるARSに送ってアーティファクトを確認します)

 <samlp:ArtifactResolve
   xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
   xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
   ID="identifier_1"
   Version="2.0"
   IssueInstant="2004-12-05T09:21:58Z"
   Destination="https://sp.example.com/SAML2/ArtifactResolution">
   <saml:Issuer>https://idp.example.org/SAML2</saml:Issuer>
   <ds:Signature
     xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:Signature>
   <samlp:Artifact>artifact_1</samlp:Artifact>
 </samlp:ArtifactResolve>

where the value of the <samlp:Artifact> element is the SAML artifact transmitted at step 3.(ここで、<samlp:Artifact>要素がステップ3で転送されたSAMLアーチファクトの値です)

5. Respond with a SAML AuthnRequest(SAMLのAuthnRequestを返す)

The artifact resolution service at the service provider returns a <samlp:ArtifactResponse> element (containing an <samlp:AuthnRequest> element) bound to a SAML SOAP message to the SSO service at the identity provider:(SPのARSは<samlp:ArtifactResponse>をSAML SoapメッセージでIdPのSSOサービスに返します)

 <samlp:ArtifactResponse
   xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
   ID="identifier_2"
   InResponseTo="identifier_1"
   Version="2.0"
   IssueInstant="2004-12-05T09:21:59Z">
   <ds:Signature
     xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:Signature>
   <samlp:Status>
     <samlp:StatusCode
       Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
   </samlp:Status>
   <samlp:AuthnRequest
     xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
     xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
     ID="identifier_3"
     Version="2.0"
     IssueInstant="2004-12-05T09:21:59Z"
     Destination="https://idp.example.org/SAML2/SSO/Artifact"
     ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"
     AssertionConsumerServiceURL="https://sp.example.com/SAML2/SSO/Artifact">
     <saml:Issuer>https://sp.example.com/SAML2</saml:Issuer>
     <samlp:NameIDPolicy
       AllowCreate="false"
       Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"/>
   </samlp:AuthnRequest>
 </samlp:ArtifactResponse>

The SSO service processes the <samlp:AuthnRequest> element and performs a security check. If the user does not have a valid security context, the identity provider identifies the user (details omitted).(SSOサービスは<samlp:AuthnRequest>を処理し、セキュリティチェックを行います。もしもユーザーが正しいセキュリティコンテキストを持たないのであれば、IdPはユーザー認証を行います。(詳細は省く))

6. Redirect to the Assertion Consumer Service(Assertionコンシューマーサービスへリダイレクト)

The SSO service at the identity provider redirects the user agent to the assertion consumer service at the service provider. The previous RelayState parameter and a new SAMLart parameter are appended to the redirect URL.(IdPのSSOサービスがUAをSPのACSへリダイレクトします。前回のRelayStateパラメータと新規のSAMLartパラメータがリダイレクトURLへ付与されます)

7. Request the Assertion Consumer Service at the SP(SPのAssertionコンシューマーサービスをリクエスト)

The user agent requests the assertion consumer service at the service provider:(UAはSPのACSをリクエストします。「このIdentityアサーションを処理してください!」)

 https://sp.example.com/SAML2/SSO/Artifact?SAMLart=artifact_2&RelayState=token

where token is the token value from step 3 and artifact_2 is the SAML artifact issued at step 6.(ここでtokenはステップ3でもらったもので、artifact_2はステップ6で発行されたものです)

8. Request the Artifact Resolution Service at the IdP(IdPのAssertion解決サービスをリクエスト)

The assertion consumer service dereferences the artifact by sending a <samlp:ArtifactResolve> element bound to a SAML SOAP message to the artifact resolution service at the identity provider:(ACSは<samlp:ArtifactResolve>をSAML SoapメッセージでIdPのARSに送って、アーチファクトを確認します)

 <samlp:ArtifactResolve
   xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
   xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
   ID="identifier_4"
   Version="2.0"
   IssueInstant="2004-12-05T09:22:04Z"
   Destination="https://idp.example.org/SAML2/ArtifactResolution">
   <saml:Issuer>https://sp.example.com/SAML2</saml:Issuer>
   <ds:Signature
     xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:Signature>
   <samlp:Artifact>artifact_2</samlp:Artifact>
 </samlp:ArtifactResolve>

where the value of the <samlp:Artifact> element is the SAML artifact transmitted at step 7.(ここで、<samlp:Artifact>の値はステップ7でもらったSAMLアーチファクトです)

9. Respond with a SAML Assertion(SAMLアサーションを返す)

The artifact resolution service at the identity provider returns a <samlp:ArtifactResponse> element (containing an <samlp:Response> element) bound to a SAML SOAP message to the assertion consumer service at the service provider:(IdPのARSは<samlp:ArtifactResponse>をSAML SoapメッセージでSPのACSに返します)

 <samlp:ArtifactResponse
   xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
   ID="identifier_5"
   InResponseTo="identifier_4"
   Version="2.0"
   IssueInstant="2004-12-05T09:22:05Z">
   <ds:Signature
     xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:Signature>
   <samlp:Status>
     <samlp:StatusCode
       Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
   </samlp:Status>
   <samlp:Response
     xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
     xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
     ID="identifier_6"
     InResponseTo="identifier_3"
     Version="2.0"
     IssueInstant="2004-12-05T09:22:05Z"
     Destination="https://sp.example.com/SAML2/SSO/Artifact">
     <saml:Issuer>https://idp.example.org/SAML2</saml:Issuer>
     <ds:Signature
       xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:Signature>
     <samlp:Status>
       <samlp:StatusCode
         Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
     </samlp:Status>
     <saml:Assertion
       xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
       ID="identifier_7"
       Version="2.0"
       IssueInstant="2004-12-05T09:22:05Z">
       <saml:Issuer>https://idp.example.org/SAML2</saml:Issuer>
       <saml:Subject>
         <saml:NameID
           Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">
           user@mail.example.org
         </saml:NameID>
         <saml:SubjectConfirmation
           Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
           <saml:SubjectConfirmationData
             InResponseTo="identifier_3"
             Recipient="https://sp.example.com/SAML2/SSO/Artifact"
             NotOnOrAfter="2004-12-05T09:27:05Z"/>
         </saml:SubjectConfirmation>
       </saml:Subject>
       <saml:Conditions
         NotBefore="2004-12-05T09:17:05Z"
         NotOnOrAfter="2004-12-05T09:27:05Z">
         <saml:AudienceRestriction>
           <saml:Audience>https://sp.example.com/SAML2</saml:Audience>
         </saml:AudienceRestriction>
       </saml:Conditions>
       <saml:AuthnStatement
         AuthnInstant="2004-12-05T09:22:00Z"
         SessionIndex="identifier_7">
         <saml:AuthnContext>
           <saml:AuthnContextClassRef>
             urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
          </saml:AuthnContextClassRef>
         </saml:AuthnContext>
       </saml:AuthnStatement>
     </saml:Assertion>
   </samlp:Response>
 </samlp:ArtifactResponse>

10. Redirect to the target resource(SPの目的のリソースへリダイレクト)

The assertion consumer service processes the response, creates a security context at the service provider and redirects the user agent to the target resource.

11. Request the target resource at the SP again(SPの目的のリソースを再要求)

The user agent requests the target resource at the service provider (again):

 https://sp.example.com/myresource

12. Respond with the requested resource(要求リクエストに応答)

Since a security context exists, the service provider returns the resource to the user agent.

SAML 2.0 – Wikipedia, the free encyclopedia

カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中