教程:Microsoft Entra 单一登录 (SSO) 与 Alibaba Cloud Service (Role-based SSO) 的集成

本教程介绍如何将 Alibaba Cloud Service (Role-based SSO) 与 Microsoft Entra ID 集成。 将 Alibaba Cloud Service (Role-based SSO) 与 Microsoft Entra ID 集成后,可以:

  • 在 Microsoft Entra ID 中控制谁有权访问 Alibaba Cloud Service (Role-based SSO)。
  • 让用户使用其 Microsoft Entra 帐户自动登录到 Alibaba Cloud Service (Role-based SSO)。
  • 在中心位置管理帐户。

先决条件

若要开始操作,需备齐以下项目:

  • 一个 Microsoft Entra 订阅。 如果你没有订阅,可以获取一个免费帐户
  • 已启用 Alibaba Cloud Service (Role-based SSO) 单一登录 (SSO) 的订阅。

方案描述

在本教程中,将在测试环境中配置并测试 Microsoft Entra SSO。

  • Alibaba Cloud Service (Role-based SSO) 支持 IDP 发起的 SSO

若要配置 Alibaba Cloud Service (Role-based SSO) 与 Microsoft Entra ID 的集成,需要从库中将 Alibaba Cloud Service (Role-based SSO) 添加到托管 SaaS 应用列表。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览至“标识”>“应用程序”>“企业应用程序”>“新建应用程序”。

  3. 在“从库中添加”部分的搜索框中,键入“Alibaba Cloud Service (Role-based SSO)” 。

  4. 从结果面板中选择“Alibaba Cloud Service (Role-based SSO)”,然后添加该应用 。 在该应用添加到租户时等待几秒钟。

  5. 在“Alibaba Cloud Service (Role-based SSO)”页上,单击左侧导航窗格中的“属性”,然后复制“对象 ID”并将其保存在计算机上,供以后使用。

    Properties config

或者,也可以使用企业应用配置向导。 在此向导中,可以将应用程序添加到租户、将用户/组添加到应用、分配角色,以及逐步完成 SSO 配置。 详细了解 Microsoft 365 向导。

配置并测试 Alibaba Cloud Service (Role-based SSO) 的 Microsoft Entra SSO

使用名为 B.Simon 的测试用户配置和测试 Alibaba Cloud Service (Role-based SSO) 的 Microsoft Entra SSO。 若要使 SSO 正常工作,需要在 Microsoft Entra 用户与 Alibaba Cloud Service (Role-based SSO) 中的相关用户之间建立关联。

若要配置并测试 Alibaba Cloud Service (Role-based SSO) 的 Microsoft Entra SSO,请执行以下步骤:

  1. 配置 Microsoft Entra SSO - 使用户能够使用此功能。
    1. 创建 Microsoft Entra 测试用户 - 使用 Britta Simon 测试 Microsoft Entra 单一登录。
    2. 分配 Microsoft Entra 测试用户 - 使 Britta Simon 能够使用 Microsoft Entra 单一登录。
  2. 在 Alibaba Cloud Service 中配置基于角色的单一登录 - 使用户能够使用此功能。
    1. 配置 Alibaba Cloud Service (Role-based SSO) SSO - 在应用程序端配置单一登录设置。
    2. 创建 Alibaba Cloud Service (Role-based SSO) 测试用户 - 在 Alibaba Cloud Service (Role-based SSO) 中创建 Britta Simon 的对应用户,并将其关联到该用户在 Microsoft Entra 中的表示形式。
  3. 测试 SSO - 验证配置是否正常工作。

配置 Microsoft Entra SSO

按照以下步骤启用 Microsoft Entra SSO。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到“标识”>“应用程序”>“企业应用程序”>“Alibaba Cloud Service (基于角色的 SSO)”>“单一登录”。

  3. 在“选择单一登录方法”页上选择“SAML” 。

  4. 在“使用 SAML 设置单一登录”页上,单击“基本 SAML 配置”的编辑/笔形图标以编辑设置 。

    Edit Basic SAML Configuration

  5. 在“基本 SAML 配置”部分,如果有服务提供程序元数据文件,请执行以下步骤:

    a. 单击“上传元数据文件” 。

    b. 单击“文件夹徽标” 来选择元数据文件并单击“上传”。

    注意

    1. 对于 Alibaba Cloud 国际网站,请从此链接下载服务提供程序元数据。
    2. 对于 Alibaba Cloud Service(中国区)网站,请从此链接下载服务提供程序元数据。

    c. 成功上传元数据文件后,“标识符”和“回复 URL”值会自动填充在“Alibaba Cloud Service (Role-based SSO)”部分的文本框中:

    注意

    如果“标识符”和“回复 URL”值未自动填充,请根据要求手动填充这些值。

  6. Alibaba Cloud Service (Role-based SSO) 要求在 Microsoft Entra ID 中配置角色。 角色声明已预先配置,因此不需配置它,但仍需按照此文章的说明在 Microsoft Entra ID 中创建它。

  7. 在“使用 SAML 设置单一登录”页的“SAML 签名证书”部分中找到“联合元数据 XML”,选择“下载”以下载该证书并将其保存在计算机上 。

    The Certificate download link

  8. 在“设置 Alibaba Cloud Service (Role-based SSO)”部分,根据要求复制相应的 URL。

    Copy configuration URLs

创建 Microsoft Entra 测试用户

在本部分,你将创建名为 B.Simon 的测试用户。

  1. 至少以用户管理员身份登录到 Microsoft Entra 管理中心
  2. 浏览到“标识”>“用户”>“所有用户”。
  3. 选择屏幕顶部的“新建用户”>“创建新用户”。
  4. 在“用户”属性中执行以下步骤
    1. 在“显示名称”字段中输入 B.Simon
    2. 在“用户主体名称”字段中,输入 username@companydomain.extension。 例如 B.Simon@contoso.com
    3. 选中“显示密码”复选框,然后记下“密码”框中显示的值。
    4. 选择“查看 + 创建”。
  5. 选择“创建”。

分配 Microsoft Entra 测试用户

在本部分,我们通过授予 B.Simon 访问 Alibaba Cloud Service (基于角色的 SSO) 的权限,使其能够使用单一登录。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到“标识”>“应用程序”>“企业应用程序”>“Alibaba Cloud Service (基于角色的 SSO)”。

  3. 在应用的概述页中,找到“管理”部分,选择“用户和组” 。

  4. 选择“添加用户”,然后在“添加分配”对话框中选择“用户和组”。

  5. 在“用户和组”选项卡上,从用户列表中选择“u2”并单击“选择”。 然后单击“分配” 。

    Assign the Microsoft Entra test user1

  6. 查看分配的角色并测试 Alibaba Cloud Service (Role-based SSO)。

    Assign the Microsoft Entra test user2

    注意

    分配用户 (u2) 后,创建的角色会自动附加到该用户。 如果创建了多个角色,则需要将相应的角色附加到用户。 若要在多个 Alibaba Cloud 帐户中实现 Microsoft Entra ID 的基于角色的 SSO,请重复前述步骤。

在 Alibaba Cloud Service 中配置基于角色的单一登录

  1. 使用 Account1 登录到 Alibaba Cloud RAM 控制台

  2. 在左侧导航窗格中选择“SSO”。

  3. 在“基于角色的 SSO”选项卡上,单击“创建 IdP”。

  4. 在显示的页面上的“IdP 名称”字段中输入 AAD,在“说明”字段中输入说明,单击“上传”以上传先前下载的联合元数据文件,然后单击“确定”。

  5. 成功创建 IdP 后,单击“创建 RAM 角色”。

  6. 在“RAM 角色名称”字段中输入 AADrole,从“选择 IdP”下拉列表中选择 AAD,然后单击“确定”。

    注意

    可根据需要向该角色授予权限。 创建 IdP 和相应的角色后,我们建议保存 IdP 和角色的 ARN,供以后使用。 可以在 IdP 信息页和角色信息页上获取 ARN。

  7. 将 Alibaba Cloud RAM 角色 (AADrole) 与 Microsoft Entra 用户 (u2) 相关联:

    若要将 RAM 角色与 Microsoft Entra 用户相关联,必须按照以下步骤在 Microsoft Entra ID 中创建一个角色:

    1. 登录到 Microsoft Graph 浏览器

    2. 单击“修改权限”以获取创建角色所需的权限。

      Graph config1

    3. 从列表中选择以下权限,然后单击“修改权限”,如下图所示。

      Graph config2

      注意

      授予权限后,再次登录到 Graph 浏览器。

    4. 在“Graph 资源管理器”页上,从第一个下拉列表中选择“GET”,从第二个下拉列表中选择“beta”。 在下拉列表旁边的字段中输入 https://graph.microsoft.com/beta/servicePrincipals,然后单击“运行查询”。

      Graph config3

      注意

      如果使用多个目录,可以在查询字段中输入 https://graph.microsoft.com/beta/contoso.com/servicePrincipals

    5. 在“响应预览”部分,从“服务主体”中提取 appRoles 属性,供以后使用。

      Graph config4

      注意

      在查询字段中输入 https://graph.microsoft.com/beta/servicePrincipals/<objectID> 可以找到 appRoles 属性。 请注意,objectID 是从 Microsoft Entra ID 的“属性”页复制的对象 ID。

    6. 返回 Graph 资源管理器,将方法从 GET 更改为 PATCH,将以下内容粘贴到“请求正文”部分,然后单击“运行查询”:

        {
          "appRoles": [
            {
              "allowedMemberTypes": [
                "User"
              ],
              "description": "msiam_access",
              "displayName": "msiam_access",
              "id": "41be2db8-48d9-4277-8e86-f6d22d35****",
              "isEnabled": true,
              "origin": "Application",
              "value": null
            },
            {
              "allowedMemberTypes": [
                "User"
              ],
              "description": "Admin,AzureADProd",
              "displayName": "Admin,AzureADProd",
              "id": "68adae10-8b6b-47e6-9142-6476078cdbce",
              "isEnabled": true,
              "origin": "ServicePrincipal",
              "value": "acs:ram::187125022722****:role/aadrole,acs:ram::187125022722****:saml-provider/AAD"
            }
          ]
        }
      

      注意

      value 是在 RAM 控制台中创建的 IdP 和角色的 ARN。 在此处可根据需要添加多个角色。 Microsoft Entra ID 会在 SAML 响应中将这些角色的值作为声明值发送。 但是,对于修补操作,只能在 msiam_access 部分的后面添加新角色。 若要顺利完成创建过程,我们建议使用 ID 生成器(例如 GUID 生成器)实时生成 ID。

    7. 使用所需的角色修补“服务主体”后,请遵循本教程的“分配 Microsoft Entra 测试用户”部分所述的步骤,将角色附加到 Microsoft Entra 用户 (u2)。

配置 Alibaba Cloud Service (Role-based SSO) SSO

若要在 Alibaba Cloud Service (基于角色的 SSO) 端配置单一登录,需要将下载的“联合元数据 XML”以及从应用配置复制的相应 URL 发送给 Alibaba Cloud Service (基于角色的 SSO) 支持团队。 他们会对此进行设置,使两端的 SAML SSO 连接均正确设置。

创建 Alibaba Cloud Service (Role-based SSO) 测试用户

在本部分,我们将在 Alibaba Cloud Service (Role-based SSO) 中创建名为 Britta Simon 的用户。 在 Alibaba Cloud Service (Role-based SSO) 支持团队的配合下,将用户添加到 Alibaba Cloud Service (Role-based SSO) 平台。 使用单一登录前,必须先创建并激活用户。

测试 SSO

完成前面所述的配置后,执行以下步骤测试 Alibaba Cloud Service (Role-based SSO):

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到“标识”>“应用程序”>“企业应用程序”>“Alibaba Cloud Service (基于角色的 SSO)”。

  3. 选择“单一登录”,然后点击“测试”。

    Test config1

  4. 单击“作为当前用户登录”。

    Test config2

  5. 在帐户选择页上选择“u2”。

    Test config3

  6. 此时会显示以下页面,指出基于角色的 SSO 成功。

    Test config4

后续步骤

配置 Alibaba Cloud Service (Role-based SSO) 后,可以强制实施会话控制,从而实时保护组织的敏感数据免于外泄和渗透。 会话控制从条件访问扩展而来。 了解如何通过 Microsoft Defender for Cloud Apps 强制实施会话控制