本文以Okta与金山云进行用户SSO的示例,帮助您理解企业IdP与金山云进行SSO的端到端配置流程。
第一步:在金山云获取SAML服务提供商元数据
- 登录访问控制控制台。
- 选择左侧菜单SSO管理
- 在SSO管理页面, 单击用户SSO页签
- 复制SAML服务提供商元数据URL
- 在新的浏览器窗口中打开复制的链接,将元数据XML文件另存到本地
说明 元数据XML文件保存了金山云作为一个SAML服务提供商的访问信息。您需要记录XML文件中EntityDescriptor元素的entityID属性值和AssertionConsumerService元素的Location属性值,以便后续在Okta的配置中使用。
第二步:在Okta创建支持SAML SSO的应用
- 登录Okta门户。
- 切换到管理员身份
- 在左侧导航栏,选择Applications > Applications。
- 在Applications页面,单击Create App Integration。
- 在Create a new app integration对话框,单击SAML 2.0,然后单击Next。
- 配置应用名称为Ksyun-SSO-Demo,单击Next。
- 配置SAML,然后单击Next
- SAML setting 如下图
- Single sign on URL为第一步中:在金山云获取SAML服务提供商元数据中记录的Location。
- Audience URI为第一步中:在金山云获取SAML服务提供商元数据中记录的entityID。
- Default RelayState(非必填)当前仅支持跳转到金山云控制台首页,可不填写
- Name ID format选择Persistent。
- Application username选择Email。
- 在Feedback页面,根据需要选择合适的应用类型,然后单击Finish。
第三步:在Okta获取SAML IdP元数据
- 在应用程序Ksyun-SSO-Demo详情页,单击Sign On
- 在SAML Signing Certificates右侧,单击View SAML setup instructions
- 在页面下方,可查看IDP metadata
- 复制IdP元数据另存为xml格式到本地
第四步:在金山云开启用户SSO
- 金山云主账号登录访问控制控制台。
- 左侧导航栏,单击SSO管理
- 在SSO管理页面,单击用户SSO页签
- 点击 ✎ 进行SSO登录设置,开启SSO功能状态
说明 用户SSO是一个全局功能,开启后,所有子用户都需要使用SSO登录。(无法使用密码登录)
5.上传IdP元数据文档
说明 此处为在第三步中获取的IdP元数据文档,xml格式
6.设置企业域名
说明 只有以此处配置的后缀结尾的Email地址可以登录到金山云
第五步:在Okta创建用户并分配应用
- 在Okta左侧导航栏,选择Directory > People。
- 单击Add Person。
- 在Add Person页面,填写基本信息并将Primary email配置为 test@example.com,然后单击Save。
- 在用户列表中,单击用户test@example.com Status列的Activate,然后根据页面提示激活test@example.com。
- 在左侧导航栏,选择Applications > Applications。
- 单击目标应用名称(Ksyun-SSO-Demo)后,在Assignments页签,选择Assign > Assign to People。
- 单击目标用户(test@example.com)后的Assign。
- 单击Save and Go Back。
- 单击Done。
第六步:在金山云创建子用户
- 在IAM控制台的左侧导航栏,选择人员管理 >子用户。
- 在子用户页面,单击新建用户。
- 在新建用户页面,输入登录账号和显示名称
说明 请确保子用户的登录账号与Okta中的用户名前缀保持一致,本示例中为test。
- 访问信息区域,访问方式区域,选择控制台密码登录(保持默认即可)
- 点击确定
验证结果
完成上述配置后,您可以从金山云控制台发起SSO登录。
- 浏览器打开子用户登录页
- 单击企业SSO
- 输入主账号ID或者用户名
- 输入企业邮箱(test@example.com), 单击登录
- 单击企业SSO在Okta的登录界面,输入用户名(test@example.com)和密码,单击登录
- 系统将自动SSO登录并重定向到金山云控制台首页.如果页面成功跳转到金山云控制台首页,表示配置成功。