基于证书的身份验证 - Amazon WorkSpaces

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

基于证书的身份验证

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

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

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

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

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

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

使用最新的 WorkSpaces Web Access、Windows 和 macOS 客户端应用程序的 Windows WorkSpaces on WorkSpaces Streaming 协议 (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 用户执行强映射。如果属性与 _Subject 中指定的用户的 Active Directory 安全标识符 (SID) 不匹配,则基于证书的身份验证将失败。SAML NameID有关更多信息,请参阅为SAML身份验证响应创建断言

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

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

    1. CA 类型选项:

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

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

    2. 密钥算法选项:RSA2048

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

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

      注意

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

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

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

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

      注意

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

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

    • 在 AWS 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 可能需要几分钟才能发布到您的域控制器和桌面实例。

      注意
      • 当 WorkSpaces 台式机加入域时,Active Directory 必须自动将 CA 分发给受信任的根证书颁发机构和企业NTAuth存储。

启用基于证书的身份验证

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

  1. 打开 WorkSpaces 控制台,网址为https://console.aws.amazon.com/workspaces

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

  3. 为你选择目录 ID WorkSpaces。

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

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

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

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

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

  9. WorkSpaces 在 WorkSpaces 流媒体协议 (WSP) 捆绑包上重启你的 Windows 以使更改生效。有关更多信息,请参阅重启 a WorkSpace

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

注意

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

管理基于证书的身份验证

CA 证书

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

最终用户证书

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

审核报告

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

日志记录和监控

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

启用跨账户共享 PCA

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

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

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

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

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

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