使用Okta进行用户SSO的示例

本文提供一个以Okta与阿里云进行用户SSO的示例,帮助您理解企业IdP与阿里云进行SSO的端到端配置流程。

步骤一:在阿里云获取SAML服务提供商元数据

  1. 使用RAM管理员登录RAM控制台

  2. 在左侧导航栏,选择集成管理 > SSO管理

  3. 单击用户SSO页签,在SAML 服务提供商元数据区域,复制当前阿里云账号的元数据URL。

  4. 在新的浏览器窗口中打开复制的链接,将元数据XML文件另存到本地。

    打开XML文件,查找并记录entityIDLocation

    • entityID:位于元素<md:EntityDescriptor>entityID属性中。示例值:https://signin-intl.aliyun.com/57******81/saml/SSO

    • Location:位于元素<md:AssertionConsumerService>Location属性中。示例值:https://signin.aliyun.com/saml/SSO

步骤二:在Okta创建支持SAML SSO的应用

  1. 登录Okta

  2. Okta Admin Console的左侧导航栏,选择Applications > Applications

  3. Applications页面,单击Create App Integration

  4. Create a new app integration对话框,选择SAML 2.0,单击Next

  5. General SettingsApp name中,设置应用名称(例如:AliyunSSODemo),单击Next

  6. Configure SAMLSAML Settings中设置如下信息,然后单击Next

    • Single sign on URL:设置为前一步骤记录的Location

    • Audience URI (SP Entity ID):设置为前一步骤记录的entityID

    • Default RelayState:指定用户SSO登录成功后跳转的目标页面。若为空,则默认跳转到阿里云控制台首页。

      说明

      出于安全原因,仅能填写阿里巴巴旗下的域名URL作为Default RelayState的值,例如:*.aliyun.com、*.hichina.com、*.yunos.com、*.taobao.com、*.tmall.com、*.alibabacloud.com、*.alipay.com,否则配置无效。

    • Name ID format:选择Persistent

    • Application username:选择Email

  7. Feedback页面,根据需要选择合适的应用类型,然后单击Finish

步骤三:在Okta获取SAML IdP元数据

  1. 在应用程序AliyunSSODemo详情页,单击Sign On

  2. Settings区域,单击Identity Provider metadata,将IdP元数据另存到本地。

步骤四:在阿里云开启用户SSO

  1. RAM控制台的左侧导航栏,选择集成管理 > SSO管理

  2. 单击用户SSO页签,在SSO功能状态区域,单击开启

    说明

    用户SSO是一个全局功能,开启后,所有RAM用户都需要使用SSO登录。 如果您是通过RAM用户配置的,请先保留为关闭状态,您需要先完成RAM用户的创建,以免配置错误导致自己无法登录。您也可以通过阿里云账号(主账号)进行配置来规避此问题。

  3. 元数据文档区域,单击上传元数据,上传从步骤三:在Okta获取SAML IdP元数据中获取的IdP元数据。

  4. 辅助域名区域,单击编辑,然后开启辅助域名并配置辅助域名为Okta中的用户名Email后缀。

    说明

    如果您的Okta中存在多种Email后缀的用户,则只有以此处配置的后缀结尾的Email地址可以登录到阿里云。

步骤五:在Okta创建用户并分配应用

  1. Okta左侧导航栏,选择Directory > People

  2. 单击Add Person

  3. Add Person页面,填写基本信息并将Primary email配置为u2@example.com,然后单击Save

  4. 在用户列表中,单击用户u2@example.comStatus列的Activate,然后根据页面提示激活u2@example.com。

  5. 在左侧导航栏,选择Applications > Applications

  6. 单击目标应用名称(AliyunSSODemo)后,在Assignments页签,选择Assign > Assign to People

  7. 单击目标用户(u2@example.com)后的Assign

  8. 单击Save and Go Back

  9. 单击Done

步骤六:在阿里云创建RAM用户

  1. RAM控制台的左侧导航栏,选择身份管理 > 用户

  2. 用户页面,单击创建用户

  3. 创建用户页面,输入登录名称显示名称

    说明

    请确保RAM用户的登录名称前缀与Okta中的用户名前缀保持一致,本示例中为u2。

  4. 访问方式区域,选择控制台访问,并设置登录密码等参数。

  5. 单击确定

验证结果

完成上述配置后,您可以从阿里云或Okta发起SSO登录。

从阿里云侧发起登录

  1. RAM控制台概览页,复制RAM用户的登录地址。

  2. 将鼠标悬停在右上角头像的位置,单击退出登录或使用新的浏览器打开复制的RAM用户登录地址。

  3. 单击使用企业账号登录,系统会自动跳转到Okta的登录页面。

  4. Okta的登录界面,输入用户名(u2@example.com)和密码,单击登录

    登录成功后,系统将自动SSO登录并重定向到DefaultRelayState指定的页面。若未指定DefaultRelayState或超出允许范围,则系统将跳转至阿里云控制台首页。

Okta侧发起登录

使用Okta用户登录Okta门户,在Okta的主页,找到并单击AliyunSSODemo应用。

登录成功后,系统将自动SSO登录并重定向到DefaultRelayState指定的页面。若未指定DefaultRelayState或超出允许范围,则系统将跳转至阿里云控制台首页。