基于证书的身份验证和 WorkSpaces 个人版
您可以对 WorkSpaces 使用基于证书的身份验证来删除 Active Directory 域密码的用户提示。通过对您的 Active Directory 域使用基于证书的身份验证,您可以:
-
依靠您的 SAML 2.0 身份提供商对用户进行身份验证,并提供 SAML 断言以匹配 Active Directory 中的用户。
-
使用更少的用户提示启用单点登录体验。
-
使用 SAML 2.0 身份提供商启用无密码身份验证流程。
基于证书的身份验证使用您 AWS 账户中的 AWS 私有 CA 资源。AWS 私有 CA 允许创建私有证书颁发机构 (CA) 层次结构,包括根和从属 CA。使用 AWS 私有 CA,您可以创建自己的 CA 层次结构,并从中颁发对内部用户进行身份验证的证书。有关更多信息,请参阅《AWS 私有证书颁发机构 用户指南》。
使用 AWS 私有 CA 进行基于证书的身份验证时,WorkSpaces 将在会话身份验证期间自动为您的用户请求证书。使用预调配了证书的虚拟智能卡对用户进行 Active Directory 身份验证。
使用最新 WorkSpaces Web Access、Windows 和 macOS 客户端应用程序的 DCV 捆绑包中的 Windows WorkSpaces 支持基于证书的身份验证。打开 Amazon WorkSpaces 客户端下载
Windows 客户端 5.5.0 或更高版本
macOS 客户端 5.6.0 或更高版本
有关使用 Amazon WorkSpaces 配置基于证书的身份验证的更多信息,请参阅如何为 Amazon WorkSpaces 配置基于证书的身份验证
先决条件
在启用基于证书的身份验证之前,请完成以下步骤。
-
配置带有 SAML 2.0 集成的 WorkSpaces 目录,以使用基于证书的身份验证。有关更多信息,请参阅与 SAML 2.0 的 WorkSpaces 集成。
-
在 SAML 断言中配置
userPrincipalName属性。有关更多信息,请参阅为 SAML 身份验证响应创建断言。 -
在 SAML 断言中配置
ObjectSid属性。这是对 Active Directory 用户执行强映射所必须的属性。如果该属性与 SAML_SubjectNameID中指定的用户的 Active Directory 安全标识符 (SID) 不匹配,则基于证书的身份验证将失败。有关更多信息,请参阅为 SAML 身份验证响应创建断言。注意
根据 Microsoft KB5014754
,2025 年 9 月 10 日之后,基于证书的身份验证要求必须配置 ObjectSid属性。 -
将 sts:TagSession 权限添加到与 SAML 2.0 配置一起使用的 IAM 角色信任策略(如果尚未存在)。使用基于证书的身份验证时需要此权限。有关更多信息,请参阅创建 SAML 2.0 联合身份验证 IAM 角色。
-
如果您的 Active Directory 中没有配置私有证书颁发机构 (CA),请使用 AWS 私有 CA 创建一个。AWS 私有 CA 要求使用基于证书的身份验证。有关更多信息,请参阅规划 AWS 私有 CA 部署,并按照指南为基于证书的身份验证配置 CA。以下是基于证书的身份验证使用案例中最常见的 AWS 私有 CA 设置:
-
CA 类型选项:
-
短期证书 CA 使用模式(如果您仅使用 CA 为基于证书的身份验证颁发最终用户证书,则建议使用此模式)
-
带有根 CA 的单级层次结构(或者,在希望与现有 CA 层次结构集成时选择从属 CA)
-
-
密钥算法选项:RSA 2048
-
主题可分辨名称选项:使用任何选项组合在 Active Directory 受信任的根证书颁发机构存储中识别此 CA。
-
证书吊销选项:CRL 分发
注意
基于证书的身份验证需要一个可从桌面和域控制器访问的在线 CRL 分发点。这需要以未经身份验证的方式访问为私有 CA CRL 条目配置的 Amazon S3 存储桶,或者如果阻止了公共访问,则需要拥有 Amazon S3 存储桶访问权限的 CloudFront 分配。有关这些选项的更多信息,请参阅计划证书吊销列表 (CRL)。
-
-
使用名为
euc-private-ca的键标记您的私有 CA,以指定该 CA 用于 EUC 基于证书的身份验证。该键不需要值。有关更多信息,请参阅管理私有 CA 的标签。 -
基于证书的身份验证使用虚拟智能卡进行登录。按照 Active Directory 中使用第三方证书颁发机构启用智能卡登录的指导原则
,执行以下步骤: -
使用域控制器证书配置域控制器,以对智能卡用户进行身份验证。如果您在 Active Directory 中配置了 Active Directory 证书服务企业 CA,则系统会自动使用启用智能卡登录的证书注册域控制器。如果您没有 Active Directory 证书服务,请参阅对第三方 CA 的域控制器证书的要求
。您可以使用 AWS 私有 CA 创建域控制器证书。如果这样做,请不要使用为短期证书配置的私有 CA。 注意
如果使用 AWS Managed Microsoft AD,则可以在满足域控制器证书要求的 EC2 实例上配置证书服务。有关配置了 Active Directory 证书服务的 AWS Managed Microsoft AD 部署示例,请参阅 AWS Launch Wizard。AWS私有 CA 可以配置为 Active Directory 证书服务 CA 的从属 CA,也可以在使用 AWS Managed Microsoft AD 时将其配置为自己的根。
AWS Managed Microsoft AD 和 Active Directory 证书服务的另一项配置任务是,创建从控制器 VPC 安全组到运行证书服务的 EC2 实例的出站规则,以允许 TCP 端口 135 和 49152-65535 启用证书自动注册。此外,正在运行的 EC2 实例还必须允许域实例(包括域控制器)在这些相同的端口上进行入站访问。有关查找 AWS Managed Microsoft AD 安全组的更多信息,请参阅配置 VPC 子网和安全组。
-
在 AWS 私有 CA 控制台上或者使用 SDK 或 CLI,选择您的 CA,然后在 CA 证书下导出 CA 私有证书。有关更多信息,请参阅导出私有证书。
-
将 CA 发布到 Active Directory。登录到域控制器或已加入域的计算机。将私有 CA 证书复制到任意
<path>\<file>,然后以域管理员身份运行以下命令。或者,您也可以使用组策略和 Microsoft PKI Health Tool (PKIView) 工具发布 CA。有关更多信息,请参阅配置说明。 certutil -dspublish -f <path>\<file> RootCA certutil -dspublish -f <path>\<file> NTAuthCA确保命令成功完成,然后删除私有证书文件。根据 Active Directory 复制设置,CA 可能需要几分钟才能发布到您的域控制器和桌面实例。
注意
Active Directory 必须在 WorkSpaces 桌面加入域时自动将 CA 分发给受信任的根证书颁发机构和企业 NTAuth 存储。
-
启用基于证书的身份验证
要启用基于证书的身份验证,请完成以下步骤。
打开 WorkSpaces 控制台,网址为:https://console.aws.amazon.com/workspaces/v2/home
。 -
在导航窗格中,选择目录。
-
选择 WorkSpaces 的目录 ID。
-
在身份验证下,单击编辑。
-
单击编辑基于证书的身份验证。
-
选中启用基于证书的身份验证。
-
确认您的私有 CA ARN 已关联到列表中。私有 CA 应位于同一个 AWS 账户和 AWS 区域中,并且必须使用名为 euc-private-ca 的密钥进行标记,才能显示在列表中。
-
单击 Save Changes(保存更改)。基于证书的身份验证现已启用。
-
重启 DCV 捆绑包中的 Windows WorkSpaces,更改才能生效。有关更多信息,请参阅重启 WorkSpace。
-
重启后,当用户使用支持的客户端通过 SAML 2.0 进行身份验证时,将不再收到输入域密码的提示。
注意
启用基于证书的身份验证以登录 WorkSpaces 时,即使在目录中启用了多重身份验证 (MFA),系统也不会提示用户进行此类验证。使用基于证书的身份验证时,可以通过 SAML 2.0 身份提供商启用 MFA。有关 AWS Directory Service MFA 的更多信息,请参阅多重身份验证 (AD Connector) 或为 AWS Managed Microsoft AD 启用多重身份验证。
管理基于证书的身份验证
CA 证书
在典型配置中,私有 CA 证书的有效期为 10 年。有关更换证书过期的 CA 或重新颁发具有新有效期的 CA 的更多信息,请参阅管理私有 CA 生命周期。
最终用户证书
AWS 私有 CA 为 WorkSpaces 基于证书的身份验证颁发的最终用户证书不需要续订或吊销。这些证书的有效期较短。WorkSpaces 每 24 小时自动颁发一次新证书。这些最终用户证书的有效期比典型 AWS 私有 CA CRL 分发的有效期短。因此,无需吊销最终用户证书,这些证书也不会出现在 CRL 中。
审核报告
您可以创建审核报告,以列出您的私有 CA 已颁发和吊销的所有证书。有关更多信息,请参阅将审核报告与私有 CA 结合使用。
日志记录和监控
您可以使用 AWS CloudTrail 通过 WorkSpaces 记录对 AWS 私有 CA 的 API 调用。有关更多信息,请参阅使用 CloudTrail。在 CloudTrail 事件历史记录中,您可以查看由 WorkSpaces EcmAssumeRoleSession 用户名创建的 acm-pca.amazonaws.com 事件源中的 GetCertificate 和 IssueCertificate 事件名称。每个 EUC 基于证书的身份验证请求都将记录这些事件。
启用跨账户 PCA 共享
当您使用私有 CA 跨账户共享时,您可以向其他账户授予使用集中式 CA 的权限,这样就无需在每个账户中都使用私有 CA。通过使用 AWS Resource Access Manager
将共享私有 CA 资源与 WorkSpaces CBA 一起使用
在集中式 AWS 账户中为 CBA 配置私有 CA。有关更多信息,请参阅 基于证书的身份验证和 WorkSpaces 个人版。
按照如何使用 AWS RAM 共享 ACM 私有 CA 跨账户
中的步骤操作,与 WorkSpaces 资源使用 CBA 的资源 AWS 账户共享私有 CA。您无需完成步骤 3 来创建证书。您可以与个人 AWS 账户共享私有 CA,也可以通过 AWS Organizations 共享。要与个人账户共享,您需要使用 Resource Access Manager(RAM)控制台或 API 接受资源账户中的共享私有 CA。在配置共享时,请确认资源账户中私有 CA 的 RAM 资源共享使用的是 AWSRAMBlankEndEntityCertificateAPICSRPassthroughIssuanceCertificateAuthority托管权限模板。此模板与 WorkSpaces 服务角色在颁发 CBA 证书时所使用的 PCA 模板一致。共享成功后,应该能够使用资源账户中的私有 CA 控制台查看共享的私有 CA。
使用 API 或 CLI 将私有 CA ARN 与您 WorkSpaces 目录属性中的 CBA 相关联。目前,WorkSpaces 控制台不支持选择共享的私有 CA ARN。CLI 命令示例:
aws workspaces modify-certificate-based-auth-properties —resource-id <value> —certificate-based-auth-properties Status=<value>,CertificateAuthorityArn=<value>