在 AD Connector 中启用智能卡身份验证 - AWS Directory Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

在 AD Connector 中启用智能卡身份验证

您可以使用智能卡,通过本地 Active Directory (AD) 和 Amazon WorkSpaces 在 AD Connector 中对用户进行身份验证。启用后,用户在 WorkSpaces 登录屏幕中选择其智能卡并输入要进行身份验证的 PIN,而不是使用用户名和密码。从那里,Windows 或 Linux 虚拟桌面使用智能卡从本机桌面操作系统向 AD 进行身份验证。

注意

中的智能卡身份验证仅在 AWS AD Connector(美国西部)区域可用,并且仅适用于 GovCloud。Amazon WorkSpaces其他 AWS 应用程序不受支持。

Prerequisites

要为 Amazon WorkSpaces 启用智能卡身份验证,您需要一个与您的本地 AD 集成的操作智能卡基础设施。有关如何使用 Amazon WorkSpaces 和 AD 设置智能卡身份验证的更多信息,请参阅 Amazon WorkSpaces Administration Guide

在为 Amazon WorkSpaces 启用智能卡身份验证之前,请查看以下注意事项:

CA 证书要求

AD Connector 需要证书颁发机构 (CA) 证书(表示您的用户证书的颁发者)以进行智能卡身份验证。AD Connector 将 CA 证书与用户提供的证书及其智能卡匹配。请注意以下 CA 证书要求:

  • 在注册 CA 证书之前,该证书必须在 90 天以后才到期。

  • CA 证书必须采用隐私增强邮件 (PEM) 格式。如果您从 Active Directory 内部导出 CA 证书,请选择 Base64 编码的 X.509 (.CER) 作为导出文件格式。

  • 必须上传从发证 CA 链接到用户证书的所有根和中间 CA 证书,智能卡身份验证才能成功。

  • 每个 AD Connector 目录最多可存储 100 个 CA 证书

  • AD Connector 不支持将 RSASSA-PSS 签名算法用于 CA 证书。

用户证书要求

提交给 AD Connector 的用户证书必须在证书的 userPrincipalName (UPN) 字段中包含 AD 用户的 subjectAltName (SAN)

证书吊销检查流程

要执行智能卡身份验证,AD Connector 必须使用在线证书状态协议 (OCSP) 检查用户证书的吊销状态。要执行证书吊销检查,OCSP 响应程序 URL 必须可通过 Internet 访问。如果使用 DNS 名称,OCSP 响应程序 URL 必须使用位于 Internet 编号分配机构 (IANA) 根区域数据库中的顶级域。

AD Connector 证书吊销检查使用以下过程:

  • AD Connector 必须在用户证书中为 OCSP 响应程序 URL 检查授权信息访问 (AIA) 扩展名,然后 AD Connector 使用该 URL 检查吊销。

  • 如果 AD Connector 无法解析在用户证书 AIA 扩展中找到的 URL,或者在用户证书中找到 OCSP 响应程序 URL,则 AD Connector 将使用在根 CA 证书注册期间提供的可选 OCSP URL。

    如果用户证书 AIA 扩展中的 URL 解析为无响应,则用户身份验证将失败。

  • 如果在根 CA 证书注册期间提供的 OCSP 响应程序 URL 无法解析、无响应或未提供 OCSP 响应程序 URL,则用户身份验证将失败。

注意

AD Connector 需要 OCSP 响应程序 URL 的 HTTP URL。

其他考虑因素

在 AD Connector 中启用智能卡身份验证之前,请考虑以下项目:

  • 智能卡身份验证将用户名和密码身份验证替换为 Amazon WorkSpaces。

    如果您在 AD Connector 目录中配置了其他 AWS 应用程序并启用了智能卡身份验证,则这些应用程序仍会显示用户名和密码输入屏幕。

  • 启用智能卡身份验证会将用户会话长度限制为 Kerberos 服务票证的最长使用期限。您可以使用组策略配置此设置,默认情况下设置为 10 小时。有关此设置的更多信息,请参阅 Microsoft 文档

启用智能卡身份验证

要启用智能卡身份验证,请使用以下步骤通过 AD Connector AWS Directory ServiceAPICLI 将证书颁发机构 (CA) 证书导入 中。然后在您的 Amazon WorkSpaces 上为 AD Connector 启用智能卡身份验证。

STEP 1:为 AD Connector 服务账户启用 Kerberos 约束委托

要对 AD Connector 使用智能卡身份验证,您必须在本地 AD 目录中为 服务账户启用 Kerberos 约束委托 (KCD)AD Connector 以调用 LDAP 服务。

Kerberos 约束委托是 Windows Server 中的一项功能。此功能允许管理员通过限制应用程序可以代表用户执行操作的范围来指定和实施应用程序信任边界。有关更多信息,请参阅 Kerberos 约束委托

  1. 使用 SetSpn 命令为本地 AD 中的 AD Connector 服务账户设置服务委托人名称 (SPN)。这使服务账户可用于委托配置。

    SPN 可以是任何服务或名称组合,但不能是现有 SPN 的副本。检查重复项。-s

    setspn -s my/spn service_account
  2. AD Users and Computers (AD 用户和计算机) 中,右键单击 AD Connector 服务账户并选择 Properties (属性)

  3. 选择 Delegation (委托) 选项卡。

  4. 选择 Trust this user for delegation to specified service only (信任此用户以仅委派指定服务)Use any authentication protocol (使用任何身份验证协议) 单选按钮。

  5. 选择 Add (添加),然后选择 Users or Computers (用户或计算机) 以找到域控制器。

  6. 选择 OK 以显示用于委派的可用服务列表。

  7. 选择 ldap 服务类型,然后单击 OK (确定)

  8. 再次单击 OK 保存配置。

  9. 对 AD 中的其他域控制器重复此过程。或者,您可以使用 PowerShell 自动执行该过程。

STEP 2:在 AD Connector 中注册 CA 证书

要在 AD Connector 中注册 CA 证书,请使用以下 CLI 命令:

aws ds register-certificate --directory-id your_directory_id --certificate-data file://your_file_path --type ClientCertAuth --Client-Cert-Auth-Settings '{"OCSPUrl":"http://your_OCSP_address"}'

对于证书数据,请指向 CA 证书的位置。要提供辅助 OCSP 响应程序地址,请使用可选的 ClientCertAuthSettings 对象。响应提供证书 ID。

STEP 3:验证 CA 证书注册状态

要验证 CA 证书注册的状态或已注册 CA 证书的列表,请运行以下命令:

aws ds list-certificates --directory-id your_directory_id

如果状态值返回 Registered,则表示您已成功注册证书。

STEP 4:为 Amazon WorkSpaces 启用智能卡身份验证

要在 Amazon WorkSpaces 中为 AD Connector 启用智能卡身份验证,请使用以下 CLI 命令:

aws ds enable-client-authentication --directory-id your_directory_id --type SmartCard

如果成功,AD Connector 将返回带有空 HTTP 正文的 HTTP 200 响应。