教程:Microsoft Entra 单一登录 (SSO) 与 Cisco AnyConnect 的集成

本教程介绍如何将 Cisco AnyConnect 与 Microsoft Entra ID 相集成。 将 Cisco AnyConnect 与 Microsoft Entra ID 集成后,可以:

  • 在 Microsoft Entra ID 中控制谁有权访问 Cisco AnyConnect。
  • 让用户使用其 Microsoft Entra 帐户自动登录到 Cisco AnyConnect。
  • 在中心位置管理帐户。

先决条件

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

  • 一个 Microsoft Entra 订阅。 如果没有订阅,可以获取一个免费帐户
  • 已启用 Cisco AnyConnect 单一登录 (SSO) 的订阅。

方案描述

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

  • Cisco AnyConnect 支持 IDP 发起的 SSO。

若要配置 Cisco AnyConnect 与 Microsoft Entra ID 的集成,需要从库中将 Cisco AnyConnect 添加到托管 SaaS 应用列表。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心
  2. 浏览至“标识”>“应用程序”>“企业应用程序”>“新建应用程序”。
  3. 在“从库中添加”部分的搜索框中,键入 Cisco AnyConnect
  4. 在结果面板中选择“Cisco AnyConnect”,然后添加该应用。 在该应用添加到租户时等待几秒钟。

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

配置并测试 Cisco AnyConnect 的 Microsoft Entra SSO

使用名为 B.Simon 的测试用户配置和测试 Cisco AnyConnect 的 Microsoft Entra SSO。 若要使 SSO 正常工作,需要在 Microsoft Entra 用户与 Cisco AnyConnect 中的相关用户之间建立关联。

若要配置并测试 Cisco AnyConnect 的 Microsoft Entra SSO,请执行以下步骤:

  1. 配置 Microsoft Entra SSO - 使用户能够使用此功能。
    1. 创建 Microsoft Entra 测试用户 - 使用 B.Simon 测试 Microsoft Entra 单一登录。
    2. 分配 Microsoft Entra 测试用户 - 使 B.Simon 能够使用 Microsoft Entra 单一登录。
  2. 配置 Cisco AnyConnect SSO - 在应用程序端配置单一登录设置。
    1. 创建 Cisco AnyConnect 测试用户,以在 Cisco AnyConnect 中创建 B.Simon 的对应用户,并将其关联到该用户的 Microsoft Entra 表示形式。
  3. 测试 SSO - 验证配置是否正常工作。

配置 Microsoft Entra SSO

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

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

  2. 浏览到“标识”>“应用程序”>“企业应用程序”>“Cisco AnyConnect”>“单一登录”。

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

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

    Edit Basic SAML Configuration

  5. 在“使用 SAML 设置单一登录”页上,输入以下字段的值:

    1. 在“标识符”文本框中,使用以下模式键入 URL:
      https://<SUBDOMAIN>.YourCiscoServer.com/saml/sp/metadata/<Tunnel_Group_Name>

    2. 在“回复 URL”文本框中,使用以下模式键入 URL:
      https://<YOUR_CISCO_ANYCONNECT_FQDN>/+CSCOE+/saml/sp/acs?tgname=<Tunnel_Group_Name>

    注意

    <Tunnel_Group_Name> 区分大小写,并且值不得包含点“.”和斜杠“/”。

    注意

    有关这些值的说明,请联系 Cisco TAC 客户支持。 使用 Cisco TAC 提供的实际标识符和回复 URL 更新这些值。 请联系 Cisco AnyConnect 客户端支持团队获取这些值。 还可参考“基本 SAML 配置”部分中显示的模式。

  6. 在“设置 SAML 单一登录”页的“SAML 签名证书”部分,找到“证书(Base64)”,选择“下载”以下载证书文件并将其保存到计算机上。

    The Certificate download link

  7. 在“设置 Cisco AnyConnect”部分,根据要求复制相应的 URL。

    Copy configuration URLs

注意

如果要载入服务器的多个 TGT,则需从库中添加 Cisco AnyConnect 应用程序的多个实例。 还可选择在 Microsoft Entra ID 中为所有这些应用程序实例上传你自己的证书。 这样就可以对应用程序使用同一证书,但可以为每个应用程序配置不同的标识符和回复 URL。

创建 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 访问 Cisco AnyConnect 的权限,使其能够使用单一登录。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心
  2. 浏览到“标识”>“应用程序”>“企业应用程序”>“Cisco AnyConnect”。
  3. 在应用的概述页面中,选择“用户和组”。
  4. 选择“添加用户/组”,然后在“添加分配”对话框中选择“用户和组” 。
    1. 在“用户和组”对话框中,从“用户”列表中选择“B.Simon”,然后单击屏幕底部的“选择”按钮。
    2. 如果你希望将某角色分配给用户,可以从“选择角色”下拉列表中选择该角色。 如果尚未为此应用设置任何角色,你将看到选择了“默认访问权限”角色。
    3. 在“添加分配”对话框中,单击“分配”按钮。

配置 Cisco AnyConnect SSO

  1. 你将首先在 CLI 上执行此操作,但你可以以后回来进行 ASDM 演练。

  2. 连接到 VPN 设备。我们将使用运行 9.8 代码训练的 ASA,而 VPN 客户端将是 4.6+。

  3. 首先,你将创建一个信任点并导入我们的 SAML 证书。

     config t
    
     crypto ca trustpoint AzureAD-AC-SAML
       revocation-check none
       no id-usage
       enrollment terminal
       no ca-check
     crypto ca authenticate AzureAD-AC-SAML
     -----BEGIN CERTIFICATE-----
     …
     PEM Certificate Text from download goes here
     …
     -----END CERTIFICATE-----
     quit
    
  4. 以下命令将预配 SAML IdP。

     webvpn
     saml idp https://sts.windows.net/xxxxxxxxxxxxx/ (This is your Azure AD Identifier from the Set up Cisco AnyConnect section in the Azure portal)
     url sign-in https://login.microsoftonline.com/xxxxxxxxxxxxxxxxxxxxxx/saml2 (This is your Login URL from the Set up Cisco AnyConnect section in the Azure portal)
     url sign-out https://login.microsoftonline.com/common/wsfederation?wa=wsignout1.0 (This is Logout URL from the Set up Cisco AnyConnect section in the Azure portal)
     trustpoint idp AzureAD-AC-SAML
     trustpoint sp (Trustpoint for SAML Requests - you can use your existing external cert here)
     no force re-authentication
     no signature
     base-url https://my.asa.com
    
  5. 现在,可以将 SAML 身份验证应用到 VPN 隧道配置。

    tunnel-group AC-SAML webvpn-attributes
      saml identity-provider https://sts.windows.net/xxxxxxxxxxxxx/
      authentication saml
    end
    
    write mem
    

    注意

    SAML IdP 配置有一个解决方法。 如果对 IdP 配置进行更改,则需从隧道组中删除 SAML 标识提供程序配置,然后重新应用该配置,使更改生效。

创建 Cisco AnyConnect 测试用户

在本部分,我们在 Cisco AnyConnect 中创建一个名为 Britta Simon 的用户。 与 Cisco AnyConnect 支持团队协作,将用户添加到 Cisco AnyConnect 平台中。 使用单一登录前,必须先创建并激活用户。

测试 SSO

在本部分,你将使用以下选项测试 Microsoft Entra 单一登录配置。

  • 单击“测试此应用程序”后,你应当会自动登录到为其设置了 SSO 的 Cisco AnyConnect
  • 可以使用 Microsoft 访问面板。 单击访问面板中的 Cisco AnyConnect 磁贴时,应当会自动登录到你为其设置了 SSO 的 Cisco AnyConnect。 有关访问面板的详细信息,请参阅 Introduction to the Access Panel(访问面板简介)。

后续步骤

配置 Cisco AnyConnect 后,就可以强制实施会话控制,实时防止组织的敏感数据外泄和渗透。 会话控制从条件访问扩展而来。 了解如何通过 Microsoft Defender for Cloud Apps 强制实施会话控制