本文介绍完成基于SAML2.0的用户SSO时,火山引擎对于在IDP处进行SAML响应(SAML Response)参数配置基本要求。
SSO基本流程请参考:用户SSO概述。
SAML响应在用户登录IDP后、请求登录火山引擎时,由IDP向火山引擎发送。火山引擎通过验证SAML响应中的签名、解析SAML响应中传递的当前用户身份信息,为用户实现安全快捷的SAML SSO登录。
SAML相应的基本格式示例如下,请确保您的SAML响应与下方示例格式相同、无元素缺失。
<samlp:Response> <saml:Issuer>${Issuer}</saml:Issuer> <ds:Signature> ... </ds:Signature> <samlp:Status> <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"></samlp:StatusCode> </samlp:Status> <saml:Assertion> <saml:Issuer>...</saml:Issuer> <ds:Signature> ... </ds:Signature> <saml:Subject> <saml:NameID>${NameID}</saml:NameID> <saml:SubjectConfirmation> ... </saml:SubjectConfirmation> </saml:Subject> <saml:Conditions> <saml:AudienceRestriction> <saml:Audience>${Audience}</saml:Audience> </saml:AudienceRestriction> </saml:Conditions> <saml:AuthnStatement> ... </saml:AuthnStatement> </saml:Assertion> </samlp:Response>
元素 | 说明 |
---|---|
Issuer | Issuer的值必须与您在火山引擎控制台设置中上传的用户SSOSAML元数据文件中的EntityID元素取值相同,火山引擎需要验证该字段来保证请求登录的身份提供商为已经完成信任配置的身份提供商。 |
Signature | 基于协议规范,火山引擎要求SAML响应必须签名,并能够基于IDP元数据文件中的安全证书信息验签通过,以确保响应内容安全可信。请在Response示例的对应位置进行签名,Signature必须包含签名值、签名算法等信息。 |
Subject | Subject必须包含以下元素:
Subject元素示例:
|
Conditions | 在Conditions元素中,必须包含一个AudienceRestriction元素,其中需要有包含唯一有效的Audience元素,用于指定响应的受众。其必须包含一个固定的值,且与火山引擎提供的用户SSO SAML元数据文件中的EntityID取值一致,格式为https://signin.volcengine.com/${accountId}/saml_user/sso
|
你可以尝试登录到火山引擎,具体登录方式请参考:单点登录的多种登录方式。