マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

汎用認証サイトにSAML2.0を実装するため仕様を読む。

以下、詳細

アサーション内では、一連の内部要素が以下のステートメントを記述する。

※ saml-core-2.0-os.pdfの内容が微妙なので、サンプルをベースにそれぞれの仕様を確認する。
 (若しくは、医療分野共通認証基盤整備コンソーシアムのDOCの内容がワリとイイ)

SAML 要求・応答メッセージ

要求メッセージ(AuthnRequest?

SPはIdP に認証を要求する<AuthnRequest?>メッセージを発行

Attribute

#パラメタ要否既定値内容汎用認証サイト
1IDRequiredxs:ID-400ビット以内のID。
応答の InResponseTo? 属性の値は一致させる。
2VersionRequired"2.0"バージョンを指定
3IssueInstant?RequiredUTC time-発行時刻を指定
4ProtocolBinding?OptionalURI-応答のProtocol Bindingを識別する参照 URI(AssertionConsumerServiceURLと併用)○(Redirect or Post)
5AssertionConsumerServiceURLOptionalURI-応答のURLを識別する参照 URI(Protocol Bindingと併用)○(完全一致)
6AssertionConsumerServiceIndex?Optionalunsigned Short-応答のURLを識別するインデックス(ProtocolBinding?とAssertionConsumerServiceURLと排他的でメタデータと併用)-
7AttributeConsumingServiceIndex?Optionalunsigned Short-IdPに要求するユーザ属性グループのインデックス(メタデータと併用)-
8DestinationOptionalURI-IdP のURI-
9ProviderName?Optionalstring-SPの可読名称-
10ConsentOptionalURIurn:oasis:names:tc:SAML:2.0:consent:unspecified利用者から得られている同意の有無や条件-
11ForceAuthn?Optionalbooleanfalsetrue の場合、IdP は認証情報を再要求-
12IsPassive?Optionalbooleanfalsetrue の場合、IdP はログインに介入してはならない。-

Elements

#パラメタ要否既定値内容汎用認証サイト
1saml:IssuerOptionalURI-SP の URI-(署名があるので)
2ds:SignatureOptional-XML署名
3SubjectOptional-Subjectを入力する(login_hint的な。)
4NameIDPolicyOptional-Subjectの制約条件を指定(Format、 SPNameQualifier?AllowCreate?○(Format)
5RequestedAuthnContext?Optional-認証コンテキストに関する要件を指定
6saml:ConditionsOptional-アサーション構築プロセスの入力-
7ScopingOptional-SPが信頼するIdPリスト-
8ExtensionsOptional-拡張ステートメント-

応答メッセージ(Response)

IdP が認証アサーションを入れた<Response> メッセージを応答する。

Attribute

#パラメタ要否既定値内容汎用認証サイト
1IDRequiredxs:ID-400ビット以内のID
2VersionRequired"2.0"バージョンを指定
3IssueInstant?RequiredUTC time-発行時刻を指定
4InResponseTo?Optionalxs:ID-対応する要求メッセージのID。指定の場合、要検証。○(state代替)
5DestinationOptionalURI-SPのURI-
6ConsentOptionalURIurn:oasis:names:tc: SAML:2.0:consent:unspecified利用者から得られている同意の有無や条件-

Elements

#パラメタ要否既定値内容汎用認証サイト
1Saml:IssuerOptionalURI-IdPのURI-(署名があるので)
2ds:SignatureOptional-XML署名
3StatusOptionalURL-処理ステータスコード
4AssertionOptional-認証アサーション

アサーション(Assertion)

本要素

Attribute

#パラメタ要否既定値内容汎用認証サイト
1IDRequiredxs:ID400 ビット以内のID
2VersionRequired"2.0"バージョンを指定
3IssueInstant?RequiredUTC time"2.0"発行時刻を指定

Elements

#パラメタ要否既定値内容汎用認証サイト
1saml:IssuerRequiredURI-IdP の URI
2ds:SignatureRequired-XML署名
3saml:SubjectOptional-拡張スキーマで定義される Subject の方向
4saml:ConditionsOptional-有効性を評価する時に考慮すべき条件-
5saml:AdviceOptional-付加情報-
6saml:StatementOptional-任意情報-
7saml:AuthnStatem?Optional-認証情報-
8saml:AuthzStatem?Optional-認可情報-
9saml:AttributeStat?Optional-属性情報-

子要素

Subject

NameID

SubjectConfirmation?

SubjectConfirmationData?

Conditions

※ Any Number:型が違う時に要否が変わる場合は、この表現。

AuthnStatement?

AuthnContext?

共通的なメッセージ

ResponseAssertionに共通

Status

StatusCode?

参考

https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf

2 SAML Assertions

2.1 Schema Header and Namespace Declarations

2.2 Name Identifiers
2.2.1 Element <BaseID>
2.2.2 Complex Type NameIDType
2.2.3 Element <NameID>
2.2.4 Element <EncryptedID>
2.2.5 Element <Issuer>

2.3 Assertions
2.3.1 Element <AssertionIDRef>
2.3.2 Element <AssertionURIRef>
2.3.3 Element <Assertion>
2.3.4 Element <EncryptedAssertion>

2.4 Subjects
2.4.1 Element <Subject>
2.4.1.1 Element <SubjectConfirmation>
2.4.1.2 Element <SubjectConfirmationData>
2.4.1.3 Complex Type KeyInfoConfirmationDataType
2.4.1.4 Example of a Key-Confirmed <Subject>

2.5 Conditions
2.5.1 Element <Conditions>
2.5.1.1 General Processing Rules
2.5.1.2 Attributes NotBefore and NotOnOrAfter
2.5.1.3 Element <Condition>
2.5.1.4 Elements <AudienceRestriction> and <Audience>
2.5.1.5 Element <OneTimeUse>
2.5.1.6 Element <ProxyRestriction>

2.6 Advice

2.6.1 Element <Advice>

2.7 Statements
2.7.1 Element <Statement>
2.7.2 Element <AuthnStatement>
2.7.2.1 Element <SubjectLocality>
2.7.2.2 Element <AuthnContext>
2.7.3 Element <AttributeStatement>
2.7.3.1 Element <Attribute>
2.7.3.1.1 Element <AttributeValue>
2.7.3.2 Element <EncryptedAttribute>
2.7.4 Element <AuthzDecisionStatement>
2.7.4.1 Simple Type DecisionType
2.7.4.2 Element <Action>
2.7.4.3 Element <Evidence>

Tags: :IT国際標準, :認証基盤, :クレームベース認証, :SAML


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS