基于证书的身份验证 - Amazon WorkSpaces
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

基于证书的身份验证

您可以使用基于证书的身份验证 WorkSpaces 来移除用户输入 Active Directory 域密码的提示。通过对您的 Active Directory 域使用基于证书的身份验证,您可以:

  • 依靠您的 SAML 2.0 身份提供商对用户进行身份验证,并提供 SAML 断言以匹配 Active Directory 中的用户。

  • 使用更少的用户提示启用单点登录体验。

  • 使用 SAML 2.0 身份提供商启用无密码身份验证流程。

基于证书的身份验证使用您 Amazon Private CA Amazon 账户中的资源。 Amazon Private CA 允许创建私有证书颁发机构 (CA) 层次结构,包括根证书颁发机构和从属 CA。使用 Amazon Private CA,您可以创建自己的 CA 层次结构,并使用它颁发证书,用于对内部用户进行身份验证。有关更多信息,请参阅《Amazon Private Certificate Authority 用户指南》

使用基于证书 Amazon Private CA 的身份验证时, WorkSpaces 将在会话身份验证期间自动为您的用户请求证书。使用预调配了证书的虚拟智能卡对用户进行 Active Directory 身份验证。

使用最新的 WorkSpaces Web Access、Windows WorkSpaces 和 macOS 客户端应用程序的 Windows WorkSpaces 流媒体协议 (WSP) 捆绑包支持基于证书的身份验证。打开 Amazon WorkSpaces 客户端下载以查找最新版本:

  • Windows 客户端 5.5.0 或更高版本

  • macOS 客户端 5.6.0 或更高版本

有关使用 Amazon 配置基于证书的身份验证的更多信息 WorkSpaces,请参阅如何为 Amazon 配置基于证书的身份验证 WorkSpaces和 2.0 版基于证书的身份验证在高度监管的环境中的设计注意事项。 AppStream WorkSpaces

先决条件

在启用基于证书的身份验证之前,请完成以下步骤。

  1. 使用 SAML 2.0 集成配置您的 WorkSpaces 目录,以使用基于证书的身份验证。有关更多信息,请参阅与 SAML 2.0 WorkSpaces 集成

  2. 在 SAML 断言中配置 userPrincipalName 属性。有关更多信息,请参阅为 SAML 身份验证响应创建断言

  3. 在 SAML 断言中配置 ObjectSid 属性。这为可选项,用于对 Active Directory 用户执行强映射。如果该属性与 SAML_Subject NameID 中指定的用户的 Active Directory 安全标识符 (SID) 不匹配,则基于证书的身份验证将失败。有关更多信息,请参阅为 SAML 身份验证响应创建断言

  4. sts: TagSession 权限添加到用于 SAML 2.0 配置的 IAM 角色信任策略(如果尚未存在)。使用基于证书的身份验证时需要此权限。有关更多信息,请参阅创建 SAML 2.0 联合身份验证 IAM 角色

  5. Amazon Private CA 如果您的 Active Directory 中没有配置私有证书颁发机构 (CA),请使用创建私有证书颁发机构 (CA)。 Amazon Private CA 必须使用基于证书的身份验证。有关更多信息,请参阅规划 Amazon Private CA 部署并按照指南为基于证书的身份验证配置 CA。以下 Amazon Private CA 设置是基于证书的身份验证用例中最常见的设置:

    1. CA 类型选项:

      1. 短期证书 CA 使用模式(如果您仅使用 CA 为基于证书的身份验证颁发最终用户证书,则建议使用此模式)

      2. 带有根 CA 的单级层次结构(或者,在希望与现有 CA 层次结构集成时选择从属 CA)

    2. 密钥算法选项:RSA 2048

    3. 主题可分辨名称选项:使用任何选项组合在 Active Directory 受信任的根证书颁发机构存储中识别此 CA。

    4. 证书吊销选项:CRL 分发

      注意

      基于证书的身份验证需要一个可从桌面和域控制器访问的在线 CRL 分发点。这需要对为私有 CA CRL 条目配置的 Amazon S3 存储桶进行未经身份验证的访问权限,或者如果 CloudFront分配阻止公开访问,则该分配将有权访问 S3 存储桶。有关这些选项的更多信息,请参阅计划证书吊销列表 (CRL)

  6. 使用名为 euc-private-ca 的键标记您的私有 CA,以指定该 CA 用于 EUC 基于证书的身份验证。该键不需要值。有关更多信息,请参阅管理私有 CA 的标签

  7. 基于证书的身份验证使用虚拟智能卡进行登录。按照 Active Directory 中使用第三方证书颁发机构启用智能卡登录的指导原则,执行以下步骤:

    • 使用域控制器证书配置域控制器,以对智能卡用户进行身份验证。如果您在 Active Directory 中配置了 Active Directory 证书服务企业 CA,则系统会自动使用启用智能卡登录的证书注册域控制器。如果您没有 Active Directory 证书服务,请参阅对第三方 CA 的域控制器证书的要求。您可以使用 Amazon Private CA创建域控制器证书。如果这样做,请不要使用为短期证书配置的私有 CA。

      注意

      如果您正在使用 Amazon Managed Microsoft AD,则可以在 EC2 实例上配置证书服务以满足域控制器证书的要求。有关 Amazon Managed Microsoft AD 配置Amazon Launch Wizard了 Active Directory 证书服务的部署示例,请参阅。 Amazon 私有 CA 可以配置为 Active Directory 证书服务 CA 的从属机构,也可以在使用时将其配置为自己的根 Amazon Managed Microsoft AD。

      Amazon Managed Microsoft AD 和 Active Directory 证书服务的另一项配置任务是创建从控制器 VPC 安全组到运行证书服务的 EC2 实例的出站规则,允许 TCP 端口 135 和 49152-65535 启用证书自动注册。此外,正在运行的 EC2 实例还必须允许域实例(包括域控制器)在这些相同的端口上进行入站访问。有关查找安全组的更多信息, Amazon Managed Microsoft AD 请参阅配置您的 VPC 子网和安全组

    • 在 Amazon Private 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 要求 Active Directory 在 WorkSpaces 台式机加入域时自动将 CA 分发给受信任的根证书颁发机构和企业 nTauth 存储区。

      • Active Directory 域控制器必须处于兼容模式,证书强制执行才能支持基于证书的身份验证。有关更多信息,请参阅 Microsoft Support 文档中的 kb5014754 — Windows 域控制器上基于证书的身份验证更改。如果你使用的是 Amazon 托管 Microsoft AD,请参阅配置目录安全设置了解更多信息。

启用基于证书的身份验证

要启用基于证书的身份验证,请完成以下步骤。

  1. 打开 WorkSpaces 控制台,网址为https://console.amazonaws.cn/workspaces

  2. 在导航窗格中,选择目录

  3. 选择您的目录 ID WorkSpaces。

  4. 身份验证下,单击编辑

  5. 单击编辑基于证书的身份验证

  6. 选中启用基于证书的身份验证

  7. 确认您的私有 CA ARN 已关联到列表中。私有 CA 应位于同一个 Amazon 账户中 Amazon Web Services 区域,并且必须使用有权出现在列表中的密钥 euc-private-ca 进行标记。

  8. 单击 Save Changes(保存更改)。基于证书的身份验证现已启用。

  9. 重启你的 Window WorkSpaces s WorkSpaces 直播协议 (WSP) 捆绑包以使更改生效。有关更多信息,请参阅重启 a WorkSpace

  10. 重启后,当用户使用支持的客户端通过 SAML 2.0 进行身份验证时,将不再收到输入域密码的提示。

注意

启用基于证书的身份验证登录时,即使在目录中启用了多重身份验证 (MFA) WorkSpaces,也不会提示用户进行多重身份验证 (MFA)。使用基于证书的身份验证时,可以通过 SAML 2.0 身份提供商启用 MFA。有关 Amazon Directory Service MFA 的更多信息,请参阅多重身份验证 (AD Connector) 或为启用多因素身份验证。 Amazon Managed Microsoft AD

管理基于证书的身份验证

CA 证书

在典型配置中,私有 CA 证书的有效期为 10 年。有关更换证书过期的 CA 或重新颁发具有新有效期的 CA 的更多信息,请参阅管理私有 CA 生命周期

最终用户证书

为 WorkSpaces 基于证书的身份验证 Amazon Private CA 而颁发的最终用户证书不需要续订或撤销。这些证书是短暂的。 WorkSpaces每 24 小时自动颁发一次新证书。这些最终用户证书的有效期比典型的 Amazon Private CA CRL 发行版短。因此,无需吊销最终用户证书,这些证书也不会出现在 CRL 中。

审核报告

您可以创建审核报告,以列出您的私有 CA 已颁发和吊销的所有证书。有关更多信息,请参阅将审核报告与私有 CA 结合使用

日志记录和监控

您可以使用Amazon CloudTrail来记录对 by 的 API 调 Amazon Private CA 用 WorkSpaces。有关更多信息,请参阅使用 CloudTrail。在CloudTrail事件历史记录GetCertificateIssueCertificate您可以查看由 WorkSpacesEcmAssumeRoleSession用户名acm-pca.amazonaws.com创建的事件源中的事件名称。每个 EUC 基于证书的身份验证请求都将记录这些事件。

启用跨账户 PCA 共享

当您使用 Private CA 跨账户共享时,您可以向其他账户授予使用集中式 CA 的权限,这样就无需在每个账户中都使用私有 CA。CA 可以通过使用 R es Amazon ource Access M anager 来管理权限来生成和颁发证书。私有 CA 跨账户共享可在同一区域内与 WorkSpaces 基于证书的身份验证 (CBA) 一起使用。 Amazon

与 CBA 一起使用共享的私有 WorkSpaces CA 资源
  1. 在集中 Amazon 账户中配置 CBA 的私有 CA。有关更多信息,请参阅 基于证书的身份验证

  2. 按照如何使用 Amazon RAM 跨 Amazon 账户共享 ACM 私有 CA 中的步骤,与 WorkSpaces 资源使用 CBA 的资源账户共享私有 CA。您无需完成步骤 3 即可创建证书。您可以与个人 Amazon 账户共享私有 CA,也可以通过 Organizations Amazon 共享。要与个人账户共享,您需要使用资源访问管理器 (RAM) 控制台或 API 接受资源账户中的共享私有 CA。配置共享时,请确认资源账户中私有 CA 的 RAM 资源共享使用Amazon RAMBlankEndEntityCertificateAPICSRPassthroughIssuanceCertificateAuthority托管权限模板。此模板与 WorkSpaces 服务角色在颁发 CBA 证书时使用的 PCA 模板一致。

  3. 共享成功后,您应该能够使用资源账户中的私有 CA 控制台查看共享的私有 CA。

  4. 使用 API 或 CLI 在目录属性中将私有 CA ARN 与 CBA 相关联。 WorkSpaces 目前, WorkSpaces 控制台不支持选择共享的私有 CA ARN。CLI 命令示例:

    aws workspaces modify-certificate-based-auth-properties —resource-id <value> —certificate-based-auth-properties Status=<value>,CertificateAuthorityArn=<value>