本文为您提供Azure AD(Azure Active Directory)与云SSO进行单点登录(SSO登录)的示例。

背景信息

假设企业在本地IdP Azure AD中有大量用户,且已在阿里云资源目录(RD)中搭建了多账号体系结构。企业希望经过配置,使Azure AD的用户通过SSO登录的方式直接访问资源目录指定成员账号中的指定资源。

Azure AD中的所有配置操作需要拥有全局管理员权限的管理员用户执行。关于如何在Azure AD中创建用户及授权为管理员的操作,请参见Azure AD文档

准备工作

配置SSO登录前,您需要完成以下工作:

  1. 从Azure AD同步用户到云SSO,或者在云SSO创建同名用户。
    • 从Azure AD同步用户到云SSO(推荐):适用于Azure AD中拥有大量用户的情况。具体操作,请参见通过SCIM同步Azure AD用户或用户组的示例
    • 在云SSO创建同名用户:适用于Azure AD中仅有少量用户的情况。具体操作,请参见创建用户
      说明 用户名会用于用户登录。当您进行SSO单点登录时,云SSO的用户名应该与Azure AD中用于单点登录的字段保持一致。更多信息,请参见步骤三:在Azure AD中配置SAML
  2. 在云SSO创建访问配置,定义权限策略。
    具体操作,请参见创建访问配置
  3. 为用户在RD账号上授权。
    具体操作,请参见在RD账号上授权

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

  1. 登录云SSO控制台
  2. 在左侧导航栏,单击设置
  3. SSO登录区域,下载服务提供商(SP)元数据文件。

(可选)步骤二:在Azure AD中创建应用程序

说明 如果您已完成了SCIM同步配置,则请跳过该步,直接使用SCIM同步时使用的应用程序。
  1. 管理员用户登录Azure门户
  2. 在主页左上角,单击SSO_AAD_icon图标。
  3. 在左侧导航栏,选择Azure Active Directory > 企业应用程序 > 所有应用程序
  4. 单击新建应用程序
  5. 浏览Azure AD库页面,单击创建你自己的应用程序
  6. 创建你自己的应用程序页面,输入应用程序名称(例如:CloudSSODemo),并选择集成未在库中找到的任何其他应用程序(非库),然后单击创建

步骤三:在Azure AD中配置SAML

  1. CloudSSODemo页面,单击左侧导航栏的单一登录
  2. 选择单一登录方法页面,单击SAML
  3. 设置SAML单一登录页面进行以下配置。
    1. 在页面左上角,单击上载元数据文件,然后选择从步骤一获取的SP元数据文件,最后单击添加
    2. 基本SAML配置页面,配置以下信息,然后单击保存
      • 标识符(实体 ID):必填项,SP元数据文件导入后,该值会自动读取。
        说明 如无法自动读取,请从云SSO的SSO登录配置页面复制Entity ID的取值。
      • 回复 URL(断言使用者服务 URL):必填项,SP元数据文件导入后,该值会自动读取。
        说明 如无法自动读取,请从云SSO的SSO登录配置页面复制ACS URL的取值。
      • 中继状态:可选项,用来配置SSO登录成功后跳转到的阿里云页面。如果不配置,默认跳转到云SSO用户门户。
        说明 出于安全原因,您只能输入*.alibabacloudsso.com域名的URL,否则配置无效。
    3. 用户属性和声明区域,单击编辑,将唯一用户标识符(名称 ID)的值设置为user.userprincipalname或其他能够唯一标识用户的字段。
      说明
      • 您可以设置任意能够唯一标识用户的字段作为SAML断言中NameID的值,常见的有user.userprincipalnameuser.mail等。由于云SSO需要传入的NameID值要与云SSO的用户名一致,因此您应该在云SSO中根据该字段值创建用户,以确保SSO登录能够成功。
      • 如果您同时配置了SCIM同步,您需要使用同一个字段(例如:user.userprincipalname)配置SCIM的userName属性。
    4. SAML签名证书区域,单击下载,获取联合元数据XML

(可选)步骤四:在Azure AD分配用户

说明 如果您已完成了SCIM同步配置,则请跳过该步。
  1. 在Azure AD主页左上角,单击SSO_AAD_icon图标。
  2. 在左侧导航栏,选择Azure Active Directory > 企业应用程序 > 所有应用程序
  3. 名称列,单击CloudSSODemo
  4. 在左侧导航栏,单击用户和组
  5. 单击左上角的添加用户/组
  6. 选择用户。
  7. 单击分配

步骤五:在云SSO启用SSO登录

  1. 在云SSO的左侧导航栏,单击设置
  2. SSO登录区域,单击配置身份提供商信息
  3. 配置身份提供商信息对话框,选择上传元数据文档
  4. 单击上传文件,上传从步骤三获取的IdP元数据文件。
  5. 打开SSO登录开关,启用SSO登录。
    说明 启用SSO登录后,用户名和密码登录将自动禁用。SSO登录是一个全局功能,启用后,所有用户都需要SSO登录。

验证结果

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

  • 从阿里云发起SSO登录
    1. 云SSO控制台概览页,复制用户登录地址。
    2. 使用新的浏览器打开复制的用户登录地址。
    3. 单击跳转,系统会自动跳转到Azure AD的登录页面。云SSO登录跳转
    4. 使用Azure AD用户名和密码登录。

      系统将自动SSO登录并重定向到您指定的中继状态页面。如果未指定中继状态或超出允许范围,则系统会访问下图所示的云SSO用户门户。

      用户门户
    5. 单击目标RD账号权限列的显示详情
    6. 在权限面板,单击目标权限操作列的登录
    7. 访问RD账号中有权限的资源。
  • 从Azure AD发起SSO登录
    1. 获取用户访问URL
      1. 管理员用户登录Azure门户
      2. 单击主页的SSO_AAD_icon图标。
      3. 在左侧导航栏,选择Azure Active Directory > 企业应用程序 > 所有应用程序
      4. 单击应用程序CloudSSODemo
      5. 在左侧导航栏,单击属性,获取用户访问URL

        用户访问URL是用户直接从其浏览器访问此应用程序的链接。

    2. 用户从管理员处获取上述用户访问URL,然后在浏览器中输入该URL,使用自己的用户名和密码登录。

      系统将自动SSO登录并重定向到您指定的中继状态页面。如果未指定中继状态或超出允许范围,则系统会访问云SSO用户门户。

      用户门户
    3. 单击目标RD账号权限列的显示详情
    4. 在权限面板,单击目标权限操作列的登录
    5. 访问RD账号中有权限的资源。