最終更新日:2022-06-09 12:17:17
SAML2.0ベースのSSOプロセスでは、企業ユーザーがIdPにログインすると、IdP
はSAMLステートメントを含む認証応答を生成し、それをブラウザでCDNetworksに自動転送します。このSAMLステートメントは、ユーザーのログイン状態をチェックし、ログインの対象を解釈します。したがって、確認内容にはCDNetworkがリクエストする要素を含む必要があります。さもなければ、ログインしたユーザーが識別されないため、SSOは失敗することになります。
<saml2p:Response
<saml2:Issuer>${entityID}</saml2:Issuer>
<ds:Signature>
…
</ds:Signature>
<saml2p:Status>
…
</saml2p:Status>
<saml2:Assertion>
<saml2:Issuer>${entityID}</saml2:Issuer>
<ds:Signature>
…
</ds:Signature>
<saml2:Subject>
<saml2:NameID>${NameID}</saml2:NameID>
<saml2:SubjectConfirmation>
…
</saml2:SubjectConfirmation>
</saml2:Subject>
<saml2:Conditions>
<saml2:AudienceRestriction>
<saml2:Audience>${Audience}</saml2:Audience>
</saml2:AudienceRestriction>
</saml2:Conditions>
<saml2:AuthnStatement>
…
</saml2:AuthnStatement>
<saml2:AttributeStatement>
<saml2:Attribute Name="https://login.cdnetworks.com/SAML/Attributes/LoginName" >
…
</saml2:Attribute>
<saml2:Attribute Name="https://login.cdnetworks.com/SAML/Attributes/RoleSessionName">
…
</saml2:Attribute>
…
</saml2:AttributeStatement>
</saml2:Assertion>
</saml2p:Response>
要素 | イラスト |
---|---|
発行者 | 発行者の値は、CDNetworksが作成したIDプロバイダにアップロードされた、IdPメタデータファイルのentityIDと一致する必要があります。 |
署名 | SAMLアサーションは、署名を通じて、改ざんされていないことを保証します。署名には、署名値や署名アルゴリズムなどの情報を含んでいることが必要です。 |
対象 | 件名には、以下の要素が含まれている必要があります。 1) NameID要素が1つしかありません。通常の場合、NameIDの値はIdPにおけるSAML対象のID(IdP内部のアカウント名やIDの場合もある)ですが、ログイン対象を特定するのに、要素の値は必要としません。 saml2:Subject <saml2:NameID Format=“urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified”>admin</saml2:NameID> <saml2:SubjectConfirmation Method=“urn:oasis:names:tc:SAML:2.0:cm:bearer”> <saml2:SubjectConfirmationData InResponseTo="_adafdaxfrpqkrf4cpnkfslpgxf76qeqmlwtag" NotOnOrAfter=“2021-04-29T18:57:29.367Z” Recipient=“https://cas.wangsu.com/cas/login?client_name=mockClient”/> </saml2:SubjectConfirmation> </saml2:Subject> |
条件 | 条件要素は観客制限要素を含む必要があります。それには、1つ以上の観客要素を含むことが可能ですが、値がhttps://cas.wangsu.com/casの観客要素は1つなければなりません。 次が条件要素の例となります: saml2:Conditions saml2:AudienceRestriction saml2:Audiencehttps://cas.wangsu.com/cas</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> |
SAMLアサーションの属性ステートメント要素には、以下の 属性要素を含める必要があります。
<saml2:Attribute Name="https://login.cdnetworks.com/SAML/Attributes/LoginName" >
<saml2:AttributeValue>wsc:iam::${parentLoginName}:login-name/${loginName},wsc:iam::${parentLoginName}:saml-provider/${provider}</saml2:AttributeValue>
<saml2:AttributeValue>wsc:iam::${parentLoginName}:login-name/${loginName},wsc:iam::${parentLoginName}:saml-provider/${provider}</saml2:AttributeValue>
</saml2:Attribute>
このプロパティでは:
• ${parentLoginName}: CDNetworksのメインアカウントに置き換えてください;
• ${loginName}: 現在のIDPユーザーがアクセスしたい、ネットワーク技術アカウントのCDNetworksに置き換えます。
• ${provider}: CDNetworksコンソールで作成したSAML証明のプロバイダ名に置き換えてください。
2)名前プロパティの値:https://cas.wangsu.com/SAML/AttrAttribute element of ibutes/RoleSessionNameの要素で、必須かつ1つしか所持できません。属性値の要素の値は、ログインユーザー情報の一部として、コンソール及び操作監査ログに表示するために使用されます。このフィールドはユーザーによってカスタマイズし、長さは32文字以内となっています。フォーマット:
<saml2:Attribute Name="https://login.cdnetworks.com/SAML/Attributes/RoleSessionName">
<saml2:AttributeValue>${NameID}</saml2:AttributeValue>
</saml2:Attribute>
以下はRoleSessionName属性要素の例になります。
<saml2:Attribute Name="https://login.cdnetworks.com/SAML/Attributes/RoleSessionName">
<saml2:AttributeValue>admin</saml2:AttributeValue>
</saml2:Attribute>