基于SAML协议的虚拟用户SSO配置概述
华为云与企业进行联邦认证登录时,华为云是服务提供商(SP),企业自有的身份管理系统是身份提供商(IdP)。本节为您介绍企业IdP与华为云,基于SAML协议进行虚拟用户SSO联邦认证的内部实现流程和配置步骤,以及常用的企业IdP与华为云对接示例。
请确保您使用的企业IdP支持SAML 2.0协议。
联邦身份认证的配置步骤
建立企业管理系统与华为云的联邦身份认证关系,配置流程如下。
- 创建身份提供商并建立互信关系:华为云与企业IdP建立联邦认证,需要华为云平台创建一个与企业IdP对应的身份提供商程序。然后,建立联邦认证的双方需首先建立互信关系,双方交换元数据文件,在企业IdP中上传华为云元数据文件,在华为云上传企业IdP的元数据文件。
图2 交换Metadata文件模型
- 配置企业IdP参数,规定在交互过程中,企业IdP向华为云发送哪些信息。
- 在华为云配置身份转换规则:通过配置身份转换规则,明确企业IdP用户登录华为云后的身份和权限,例如登录华为云后的用户名、加入的用户组和拥有的访问权限。
图3 用户转换模型
- 登录验证:发起单点登录,测试是否能成功从企业IdP跳转登录华为云。
- (可选)配置企业管理系统登录入口:将华为云的访问入口配置到企业管理系统中,用户可通过登录企业管理系统直接访问华为云,如图4所示。
企业管理系统与华为云联邦身份认证交互流程
图5为用户在发起单点登录请求后,企业管理系统与华为云间的交互流程。
为方便您查看交互的请求及断言消息,建议您使用Chrome浏览器并安装插件“SAML Message Decoder”。
从图5中可知,联邦身份认证的步骤为:
- 用户在浏览器中打开创建身份提供商后生成的登录链接,浏览器向华为云发起单点登录请求。
- 华为云根据登录链接中携带的信息,查找IAM身份提供商中对应的Metadata文件,构建SAML Request,发送给浏览器。
- 浏览器收到请求后,转发SAML Request给企业IdP。
- 用户在企业IdP推送的登录页面中输入用户名和密码,企业IdP对用户提供的身份信息进行验证,并构建携带用户信息的SAML断言,向浏览器发送SAML Response。
- 浏览器响应后转发SAML Response给华为云。
- 华为云从SAML Response中取出断言,并根据已配置的身份转换规则映射到具体的IAM用户组,颁发Token。
- 用户完成单点登录,访问华为云。
断言中要携带签名,否则会导致登录失败。