SAML Protocols
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>SAML Core]]
* 目次 [#m1afa1d9]
#contents
*概要 [#vd2048e9]
汎用認証サイトに[[SAML2.0を実装>SAMLを実装する。]]するた...
-ターゲットはSP Initiated な Web Browser SSO Profileに絞...
-ココに書いた情報は、[[SAML Core]] の Protocolsの範囲。
*以下、詳細 [#k24b3146]
以下について説明する。
-トランスポートプロトコルを使用して
-プロトコルメッセージをトランスポートする特定の手段
※ saml-core-2.0-os.pdfの内容が微妙なので、
--[[サンプル>SAMLを実装する。]]をベースにそれぞれの仕様を...
--[[医療分野共通認証基盤整備コンソーシアムのPDF>SAMLの仕...
*SAML 要求・応答メッセージ [#k6af1fb0]
**要求メッセージ(AuthnRequest) [#ad7d47f4]
SPはIdP に認証を要求する<AuthnRequest>メッセージを発行
***Attribute [#h7485ea9]
|#|パラメタ|要否|値|既定値|内容|汎用認証サイト|h
|1|ID|Required|xs:ID|-|400ビット以内のID。&br;応答の InRe...
|2|Version|Required|>|"2.0"|バージョンを指定|○|
|3|IssueInstant|Required|UTC time|-|発行時刻を指定|○|
|4|ProtocolBinding|Optional|URI|-|応答のProtocol Binding...
|5|AssertionConsumerServiceURL|Optional|URI|-|応答のURLを...
|6|AssertionConsumerServiceIndex|Optional|unsigned Short|...
|7|AttributeConsumingServiceIndex|Optional|unsigned Short...
|8|Destination|Optional|URI|-|IdP のURI|-|
|9|ProviderName|Optional|string|-|SPの可読名称|-|
|10|Consent|Optional|URI|urn:oasis:names:tc:SAML:2.0:cons...
|11|ForceAuthn|Optional|boolean|false|true の場合、IdP は...
|12|IsPassive|Optional|boolean|false|true の場合、IdP は...
***Elements [#haabc33b]
|#|パラメタ|要否|値|既定値|内容|汎用認証サイト|h
|1|saml:Issuer|Optional|URI|-|SP の URI|-(署名があるので...
|2|ds:Signature|Optional|>|-|XML署名|○|
|3|saml:Subject|Optional|>|-|Subjectを入力する(login_hin...
|4|samlp:NameIDPolicy|Optional|>|-|Subjectの制約条件を指...
|5|samlp:RequestedAuthnContext|Optional|>|-|認証コンテキ...
|6|saml:Conditions|Optional|>|-|アサーション構築プロセス...
|7|samlp:Scoping|Optional|>|-|SPが信頼するIdPリスト|-|
|8|samlp:Extensions|Optional|>|-|拡張ステートメント|-|
**応答メッセージ(Response) [#xe343c86]
IdP が認証アサーションを入れた<Response> メッセージを応答...
***Attribute [#af6b6218]
|#|パラメタ|要否|値|既定値|内容|汎用認証サイト|h
|1|ID|Required|xs:ID|-|400ビット以内のID|○|
|2|Version|Required|>|"2.0"|バージョンを指定|○|
|3|IssueInstant|Required|UTC time|-|発行時刻を指定|○|
|4|InResponseTo|Optional|xs:ID|-|対応する要求メッセージの...
|5|Destination|Optional|URI|-|SPのURI|-|
|6|Consent|Optional|URI|urn:oasis:names:tc: SAML:2.0:cons...
***Elements [#zb60d145]
|#|パラメタ|要否|値|既定値|内容|汎用認証サイト|h
|1|saml:Issuer|Optional|URI|-|IdPのURI|-(署名があるので)|
|2|ds:Signature|Optional|>|-|XML署名|○|
|3|samlp:Status|Optional|URL|-|処理ステータスコード|○|
|4|saml:Assertion|Optional|>|-|認証アサーション|○|
**共通的なメッセージ [#y315eefc]
[[Response>#xe343c86]]と[[Assertion>#r404a900]]に共通
***Status [#vf4304cd]
-Elements
|#|パラメタ|要否|値|既定値|内容|汎用認証サイト|h
|1|samlp:StatusCode|Required|URI|-|ステータスを表すコード...
|2|samlp:StatusMessage|Optional|URI|-|オペレータに返すメ...
|3|samlp:StatusDetail|Optional|URI|-|URIで付加情報の名称...
***Status [#k769c0ba]
-以下の様に、第一・第二レベルを指定できる。
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:s...
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0...
</samlp:StatusCode>
<samlp:StatusMessage>Authentication Failed</samlp:Stat...
<samlp:StatusDetail><Cause>org.sourceid.websso.profile...
</samlp:Status>
-Attribute
|#|パラメタ|要否|値|既定値|内容|汎用認証サイト|h
|1|Value|Required|URI|-|ステータスコードのを参照 URI 値|○|
-許容値
urn:oasis:names:tc:SAML:2.0:status:
--第一レベル
|#|ステータス|値|説明|h
|1|成功|Success||
|2|リクエスタ・レスポンダの失敗|Requester|リクエスタでの...
|3|~|Responder|レスポンダでの失敗|
|4|認証の失敗|[[下記>#ree98998]]参照|レスポンダ(IdP)で...
|5|バージョン不整合|VersionMismatch|要求メッセージのバー...
--第二レベル~
適合するものが無い場合は、StatusMessage、StatusDetailを使...
---AuthnFailed
---InvalidAttrNameOrValue
---InvalidNameIDPolicy
---NoAuthnContext
---NoAvailableIDP
---NoPassive
---NoSupportedIDP
---PartialLogout
---ProxyCountExceeded
---RequestDenied
---RequestUnsupported
---RequestVersionDeprecated
---RequestVersionTooHigh
---RequestVersionTooLow
---ResourceNotRecognized
---TooManyResponses
---UnknownAttrProfile
---UnknownPrincipal
---UnsupportedBinding
*認証要求の処理規則 [#p4649032]
以下の処理規則は、レスポンダに、
-このプロトコル交換のすべてのプロファイルにわたって不変の...
-基礎となるSAML要求 / 応答メッセージに関連する他のすべて...
**認証 [#ree98998]
-認証プロセスを開始するか、プレゼンターと追加のメッセージ...
-独自の<AuthnRequest>メッセージでプレゼンターを別のIdPに...
**Assertion [#q28f7b72]
***<saml:Subject> [#sef06ac9]
-Assertionには、プレゼンターを表す<saml:Subject>要素が含...
-リクエストに<saml:Subject>要素が含まれている場合、~
レスポンスの<saml:Subject>要素「はこれに強く一致している...
***<NameIDPolicy> [#x567e0f9]
-認証したSubjectのIDを<saml:Subject>の<saml:NameID>で返す。
-種類と形式は、<NameIDPolicy>要素を使用してSPが要求できる...
***<saml:AuthnStatement>要素以下 [#m4e1bf29]
少なくとも1つの<saml:AuthnStatement>に以下を含める必要が...
-<saml:SubjectConfirmation>
-<saml:AudienceRestriction>
**Status > StatusCode [#bf214dd0]
なお、認証処理が失敗するなどして、Assertionを提供できない...
-urn:oasis:names:tc:SAML:2.0:status:AuthnFailed
-urn:oasis:names:tc:SAML:2.0:status:UnknownPrincipal
**レスポンス [#xdc1ff6b]
最終的に<AuthnRequest>に、以下の要素を含む<Response>メッ...
***Assertion [#vaf14092]
仕様を満たす1つ以上の<Assertion>要素を含む。
***Status [#rc042271]
または発生したエラーを説明する<Status>要素を含む。
*参考 [#ac70a987]
https://docs.oasis-open.org/security/saml/v2.0/saml-core-...
3 SAML Protocols
3.1 Schema Header and Namespace Declarations
3.2 Requests and Responses
3.2.1 Complex Type RequestAbstractType
3.2.2 Complex Type StatusResponseType
3.2.2.1 Element <Status>
3.2.2.2 Element <StatusCode>
3.2.2.3 Element <StatusMessage>
3.2.2.4 Element <StatusDetail>
3.3 Assertion Query and Request Protocol
3.3.1 Element <AssertionIDRequest>
3.3.2 Queries
3.3.2.1 Element <SubjectQuery>
3.3.2.2 Element <AuthnQuery>
3.3.2.2.1 Element <RequestedAuthnContext>
3.3.2.3 Element <AttributeQuery>
3.3.2.4 Element <AuthzDecisionQuery>
3.3.3 Element <Response>
3.3.4 Processing Rules
3.4 Authentication Request Protocol
3.4.1 Element <AuthnRequest>
3.4.1.1 Element <NameIDPolicy>
3.4.1.2 Element <Scoping>
3.4.1.3 Element <IDPList>
3.4.1.3.1 Element <IDPEntry>
3.4.1.4 Processing Rules
3.4.1.5 Proxying
3.4.1.5.1 Proxying Processing Rules
3.5 Artifact Resolution Protocol
3.5.1 Element <ArtifactResolve>
3.5.2 Element <ArtifactResponse>
3.5.3 Processing Rules
3.6 Name Identifier Management Protocol
3.6.1 Element <ManageNameIDRequest>
3.6.2 Element <ManageNameIDResponse>
3.6.3 Processing Rules
3.7 Single Logout Protocol
3.7.1 Element <LogoutRequest>
3.7.2 Element <LogoutResponse>
3.7.3 Processing Rules
3.7.3.1 Session Participant Rules
3.7.3.2 Session Authority Rules
3.8 Name Identifier Mapping Protocol
3.8.1 Element <NameIDMappingRequest>
3.8.2 Element <NameIDMappingResponse>
3.8.3 Processing Rules
----
Tags: [[:IT国際標準]], [[:認証基盤]], [[:クレームベース認...
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>SAML Core]]
* 目次 [#m1afa1d9]
#contents
*概要 [#vd2048e9]
汎用認証サイトに[[SAML2.0を実装>SAMLを実装する。]]するた...
-ターゲットはSP Initiated な Web Browser SSO Profileに絞...
-ココに書いた情報は、[[SAML Core]] の Protocolsの範囲。
*以下、詳細 [#k24b3146]
以下について説明する。
-トランスポートプロトコルを使用して
-プロトコルメッセージをトランスポートする特定の手段
※ saml-core-2.0-os.pdfの内容が微妙なので、
--[[サンプル>SAMLを実装する。]]をベースにそれぞれの仕様を...
--[[医療分野共通認証基盤整備コンソーシアムのPDF>SAMLの仕...
*SAML 要求・応答メッセージ [#k6af1fb0]
**要求メッセージ(AuthnRequest) [#ad7d47f4]
SPはIdP に認証を要求する<AuthnRequest>メッセージを発行
***Attribute [#h7485ea9]
|#|パラメタ|要否|値|既定値|内容|汎用認証サイト|h
|1|ID|Required|xs:ID|-|400ビット以内のID。&br;応答の InRe...
|2|Version|Required|>|"2.0"|バージョンを指定|○|
|3|IssueInstant|Required|UTC time|-|発行時刻を指定|○|
|4|ProtocolBinding|Optional|URI|-|応答のProtocol Binding...
|5|AssertionConsumerServiceURL|Optional|URI|-|応答のURLを...
|6|AssertionConsumerServiceIndex|Optional|unsigned Short|...
|7|AttributeConsumingServiceIndex|Optional|unsigned Short...
|8|Destination|Optional|URI|-|IdP のURI|-|
|9|ProviderName|Optional|string|-|SPの可読名称|-|
|10|Consent|Optional|URI|urn:oasis:names:tc:SAML:2.0:cons...
|11|ForceAuthn|Optional|boolean|false|true の場合、IdP は...
|12|IsPassive|Optional|boolean|false|true の場合、IdP は...
***Elements [#haabc33b]
|#|パラメタ|要否|値|既定値|内容|汎用認証サイト|h
|1|saml:Issuer|Optional|URI|-|SP の URI|-(署名があるので...
|2|ds:Signature|Optional|>|-|XML署名|○|
|3|saml:Subject|Optional|>|-|Subjectを入力する(login_hin...
|4|samlp:NameIDPolicy|Optional|>|-|Subjectの制約条件を指...
|5|samlp:RequestedAuthnContext|Optional|>|-|認証コンテキ...
|6|saml:Conditions|Optional|>|-|アサーション構築プロセス...
|7|samlp:Scoping|Optional|>|-|SPが信頼するIdPリスト|-|
|8|samlp:Extensions|Optional|>|-|拡張ステートメント|-|
**応答メッセージ(Response) [#xe343c86]
IdP が認証アサーションを入れた<Response> メッセージを応答...
***Attribute [#af6b6218]
|#|パラメタ|要否|値|既定値|内容|汎用認証サイト|h
|1|ID|Required|xs:ID|-|400ビット以内のID|○|
|2|Version|Required|>|"2.0"|バージョンを指定|○|
|3|IssueInstant|Required|UTC time|-|発行時刻を指定|○|
|4|InResponseTo|Optional|xs:ID|-|対応する要求メッセージの...
|5|Destination|Optional|URI|-|SPのURI|-|
|6|Consent|Optional|URI|urn:oasis:names:tc: SAML:2.0:cons...
***Elements [#zb60d145]
|#|パラメタ|要否|値|既定値|内容|汎用認証サイト|h
|1|saml:Issuer|Optional|URI|-|IdPのURI|-(署名があるので)|
|2|ds:Signature|Optional|>|-|XML署名|○|
|3|samlp:Status|Optional|URL|-|処理ステータスコード|○|
|4|saml:Assertion|Optional|>|-|認証アサーション|○|
**共通的なメッセージ [#y315eefc]
[[Response>#xe343c86]]と[[Assertion>#r404a900]]に共通
***Status [#vf4304cd]
-Elements
|#|パラメタ|要否|値|既定値|内容|汎用認証サイト|h
|1|samlp:StatusCode|Required|URI|-|ステータスを表すコード...
|2|samlp:StatusMessage|Optional|URI|-|オペレータに返すメ...
|3|samlp:StatusDetail|Optional|URI|-|URIで付加情報の名称...
***Status [#k769c0ba]
-以下の様に、第一・第二レベルを指定できる。
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:s...
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0...
</samlp:StatusCode>
<samlp:StatusMessage>Authentication Failed</samlp:Stat...
<samlp:StatusDetail><Cause>org.sourceid.websso.profile...
</samlp:Status>
-Attribute
|#|パラメタ|要否|値|既定値|内容|汎用認証サイト|h
|1|Value|Required|URI|-|ステータスコードのを参照 URI 値|○|
-許容値
urn:oasis:names:tc:SAML:2.0:status:
--第一レベル
|#|ステータス|値|説明|h
|1|成功|Success||
|2|リクエスタ・レスポンダの失敗|Requester|リクエスタでの...
|3|~|Responder|レスポンダでの失敗|
|4|認証の失敗|[[下記>#ree98998]]参照|レスポンダ(IdP)で...
|5|バージョン不整合|VersionMismatch|要求メッセージのバー...
--第二レベル~
適合するものが無い場合は、StatusMessage、StatusDetailを使...
---AuthnFailed
---InvalidAttrNameOrValue
---InvalidNameIDPolicy
---NoAuthnContext
---NoAvailableIDP
---NoPassive
---NoSupportedIDP
---PartialLogout
---ProxyCountExceeded
---RequestDenied
---RequestUnsupported
---RequestVersionDeprecated
---RequestVersionTooHigh
---RequestVersionTooLow
---ResourceNotRecognized
---TooManyResponses
---UnknownAttrProfile
---UnknownPrincipal
---UnsupportedBinding
*認証要求の処理規則 [#p4649032]
以下の処理規則は、レスポンダに、
-このプロトコル交換のすべてのプロファイルにわたって不変の...
-基礎となるSAML要求 / 応答メッセージに関連する他のすべて...
**認証 [#ree98998]
-認証プロセスを開始するか、プレゼンターと追加のメッセージ...
-独自の<AuthnRequest>メッセージでプレゼンターを別のIdPに...
**Assertion [#q28f7b72]
***<saml:Subject> [#sef06ac9]
-Assertionには、プレゼンターを表す<saml:Subject>要素が含...
-リクエストに<saml:Subject>要素が含まれている場合、~
レスポンスの<saml:Subject>要素「はこれに強く一致している...
***<NameIDPolicy> [#x567e0f9]
-認証したSubjectのIDを<saml:Subject>の<saml:NameID>で返す。
-種類と形式は、<NameIDPolicy>要素を使用してSPが要求できる...
***<saml:AuthnStatement>要素以下 [#m4e1bf29]
少なくとも1つの<saml:AuthnStatement>に以下を含める必要が...
-<saml:SubjectConfirmation>
-<saml:AudienceRestriction>
**Status > StatusCode [#bf214dd0]
なお、認証処理が失敗するなどして、Assertionを提供できない...
-urn:oasis:names:tc:SAML:2.0:status:AuthnFailed
-urn:oasis:names:tc:SAML:2.0:status:UnknownPrincipal
**レスポンス [#xdc1ff6b]
最終的に<AuthnRequest>に、以下の要素を含む<Response>メッ...
***Assertion [#vaf14092]
仕様を満たす1つ以上の<Assertion>要素を含む。
***Status [#rc042271]
または発生したエラーを説明する<Status>要素を含む。
*参考 [#ac70a987]
https://docs.oasis-open.org/security/saml/v2.0/saml-core-...
3 SAML Protocols
3.1 Schema Header and Namespace Declarations
3.2 Requests and Responses
3.2.1 Complex Type RequestAbstractType
3.2.2 Complex Type StatusResponseType
3.2.2.1 Element <Status>
3.2.2.2 Element <StatusCode>
3.2.2.3 Element <StatusMessage>
3.2.2.4 Element <StatusDetail>
3.3 Assertion Query and Request Protocol
3.3.1 Element <AssertionIDRequest>
3.3.2 Queries
3.3.2.1 Element <SubjectQuery>
3.3.2.2 Element <AuthnQuery>
3.3.2.2.1 Element <RequestedAuthnContext>
3.3.2.3 Element <AttributeQuery>
3.3.2.4 Element <AuthzDecisionQuery>
3.3.3 Element <Response>
3.3.4 Processing Rules
3.4 Authentication Request Protocol
3.4.1 Element <AuthnRequest>
3.4.1.1 Element <NameIDPolicy>
3.4.1.2 Element <Scoping>
3.4.1.3 Element <IDPList>
3.4.1.3.1 Element <IDPEntry>
3.4.1.4 Processing Rules
3.4.1.5 Proxying
3.4.1.5.1 Proxying Processing Rules
3.5 Artifact Resolution Protocol
3.5.1 Element <ArtifactResolve>
3.5.2 Element <ArtifactResponse>
3.5.3 Processing Rules
3.6 Name Identifier Management Protocol
3.6.1 Element <ManageNameIDRequest>
3.6.2 Element <ManageNameIDResponse>
3.6.3 Processing Rules
3.7 Single Logout Protocol
3.7.1 Element <LogoutRequest>
3.7.2 Element <LogoutResponse>
3.7.3 Processing Rules
3.7.3.1 Session Participant Rules
3.7.3.2 Session Authority Rules
3.8 Name Identifier Mapping Protocol
3.8.1 Element <NameIDMappingRequest>
3.8.2 Element <NameIDMappingResponse>
3.8.3 Processing Rules
----
Tags: [[:IT国際標準]], [[:認証基盤]], [[:クレームベース認...
ページ名: