本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在客户端中进行单点登录(SAML基于 2.0 的联合身份验证)VPN
AWS Client VPN 支持客户端VPN终端节点使用安全断言标记语言 2.0 (SAML2.0) 进行身份联合。您可以使用支持 SAML 2.0 的身份提供商 (IdPs) 来创建集中式用户身份。然后,您可以将客户端VPN终端节点配置为使用SAML基于基础的联合身份验证,并将其与 IdP 关联。然后,用户使用其集中式凭据连接到客户端VPN终端节点。
身份验证工作流
下图概述了使用SAML基于联合身份验证的客户端VPN终端节点的身份验证工作流程。创建和配置客户端VPN终端节点时,需要指定IAMSAML身份提供商。
![身份验证工作流](images/federated-auth-workflow.png)
用户在其设备上打开 AWS 提供的客户端,并启动与客户端VPN端点的连接。
-
客户端VPN终端节点根据身份提供者中提供的信息向客户端发送 IdP URL 和IAMSAML身份验证请求。
-
AWS 提供的客户端会在用户设备上打开一个新的浏览器窗口。浏览器向 IdP 发出请求并显示登录页面。
-
用户在登录页面上输入其凭据,然后 IdP 将签名的SAML断言发送回客户端。
-
AWS 提供的客户端将SAML断言发送到客户端VPN端点。
-
客户端VPN端点会验证断言,并允许或拒绝用户访问。
SAML基于联合身份验证的要求和注意事项
以下是SAML基于联合身份验证的要求和注意事项。
-
有关在SAML基于基础的 IdP 中配置用户和组的配额和规则,请参阅。用户和组配额
-
SAML声明和SAML文件必须签名。
-
AWS Client VPN 在SAML断言中仅支持 AudienceRestriction “” NotBefore 和 NotOnOrAfter “” 和 “” 条件。
-
支持的最大SAML响应大小为 128 KB。
-
AWS Client VPN 不提供签名的身份验证请求。
-
SAML不支持单点注销。用户可以通过与 AWS 提供的客户端断开连接来注销,也可以终止连接。
-
客户端VPN终端节点仅支持单个 IdP。
-
在您的 IdP 中启用多因素身份验证 (MFA) 时,支持多因素身份验证 ()。
-
用户必须使用 AWS 提供的客户端连接到客户端VPN端点。必须使用版本 1.2.0 或更高版本。有关更多信息,请参阅使用 AWS 提供的客户端进行 Connect。
-
IdP 身份验证支持以下浏览器:Apple Safari、Google Chrome、Microsoft Edge 和 Mozilla Firefox。
-
AWS 提供的客户端在用户设备上保留TCP端口 35001 以用于响应。SAML
-
如果IAMSAML身份提供者的元数据文档更新为不正确或恶意内容URL,则可能导致用户出现身份验证问题或导致网络钓鱼攻击。因此,我们建议您使用 AWS CloudTrail 来监控对IAMSAML身份提供商所做的更新。有关更多信息,请参阅《IAM用户指南》 AWS CloudTrail中的使用登录IAM和 AWS STS 呼叫。
-
AWS Client VPN 通过重定向绑定向 IdP 发送 AuthN 请求。HTTP因此,IdP 应支持HTTP重定向绑定,并且该绑定应存在于 IdP 的元数据文档中。
-
对于SAML断言,必须使用该
NameID
属性的电子邮件地址格式。
SAML基于 IdP 的配置资源
下表列出了我们测试过 IdPs 的SAML基于 IdP 的资源 AWS Client VPN,以及可以帮助您配置 IdP 的资源。
IdP | 资源 |
---|---|
Okta | AWS Client VPN 使用对用户进行身份验证 SAML |
微软 Entra ID(前身为 Azure 活动目录) | 有关更多信息,请参阅微软文档网站VPN上的教程:Microsoft Entra 单点登录 (SSO) 与 AWS 客户端集成 |
JumpCloud | 与集成 AWS Client VPN |
AWS IAM Identity Center | 使用IAM身份中心和 AWS Client VPN 进行身份验证和授权 |
用于创建应用程序的服务提供商信息
要使用上表中未列出的 IdP 创建SAML基于的应用程序,请使用以下信息配置 AWS Client VPN 服务提供商信息。
-
断言消费者服务 (ACS)URL:
http://127.0.0.1:35001
-
观众URI:
urn:amazon:webservices:clientvpn
IdP 的SAML响应中必须至少包含一个属性。以下是属性示例。
属性 | 描述 |
---|---|
FirstName |
用户的名字。 |
LastName |
用户的姓氏。 |
memberOf |
列出用户所属的一个或多个组。 |
注意
该memberOf
属性是使用基于 Active Directory 或 SAML IdP 群组的授权规则所必需的。此属性还区分大小写,且必须完全按照指定的方式进行配置。有关更多信息,请参阅 基于网络的授权 和 AWS Client VPN 授权规则。
支持自助服务门户
如果您为客户端VPN终端节点启用自助服务门户,则用户将使用SAML基于他们的 IdP 凭据登录门户。
如果您的 IdP 支持多个 Assertion 消费者服务 (ACS)URLs,请将以下内容ACSURL添加到您的应用程序中。
https://self-service.clientvpn.amazonaws.com/api/auth/sso/saml
如果您在某个 GovCloud 地区使用客户端VPN终端节点,请ACSURL改用以下内容。如果您使用同一个IDP应用程序对标准版和 GovCloud 区域进行身份验证,则可以同时添加两者URLs。
https://gov.self-service.clientvpn.amazonaws.com/api/auth/sso/saml
如果您的 IdP 不支持多个 ACSURLs,请执行以下操作:
-
在您的 IdP 中创建其他SAML基于 App 的应用程序并指定以下内容。ACS URL
https://self-service.clientvpn.amazonaws.com/api/auth/sso/saml
-
生成并下载联合身份元数据文档。
-
在与客户端VPN终端节点相同的 AWS 账户中创建IAMSAML身份提供商。有关更多信息,请参阅《IAM用户指南》中的创建IAMSAML身份提供商。
注意
除了为主应用程序创建的IAMSAML身份提供者之外,您还可以创建此身份提供商。
-
创建客户端VPN终端节点,并指定您创建的两个IAMSAML身份提供商。