

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

# WorkSpaces 个人网络协议和访问权限
<a name="amazon-workspaces-networking"></a>

作为 WorkSpace 管理员，您必须了解如何管理 WorkSpaces 网络和访问权限，首先是协议。

## WorkSpaces 个人协议
<a name="amazon-workspaces-protocols"></a>

亚马逊 WorkSpaces 支持两种协议： PCoIP 和 DCV。您选择的协议取决于多个因素，例如您的用户将 WorkSpaces 从哪种设备访问他们的设备、您使用的操作系统 WorkSpaces、您的用户将面临的网络状况以及您的用户是否需要双向视频支持。

### 要求
<a name="w2aac11c23b5b5"></a>

只有满足以下最低要求才支持 DCV WorkSpaces 。

主机代理要求：
+ Windows 主机代理版本 2.0.0.312 或更高版本
+ Ubuntu 主机代理版本 2.1.0.501 或更高版本
+ Amazon Linux 2 主机代理版本 2.0.0.596 或更高版本
+ Rocky Linux 主机代理版本 2.1.0.1628 或更高版本
+ Red Hat Enterprise Linux 主机代理 2.1.0.1628 或更高版本

客户端要求：
+ Windows 原生客户端版本 5.1.0.329 或更高版本
+ macOS 原生客户端版本 5.5.0 或更高版本
+ Ubuntu 22.04 客户端版本 2024.x 或更高版本
+ 亚马逊 WorkSpaces 瘦客户机（有关更多信息，请参阅[亚马逊 WorkSpaces 瘦客户机文档](https://docs.amazonaws.cn/workspaces-thin-client/)）
+ Web Access

有关如何检查您的 WorkSpace 客户端版本和主机代理版本的更多信息，请参阅[常见问题解答](https://www.amazonaws.cn/workspaces/faqs/#:~:text=Q%3A%20How%20do%20I%20find%20my%20WSP%20host%20agent%20version%3F)。

### 何时使用 DCV
<a name="w2aac11c23b5b7"></a>
+ 如果您需要更高的 loss/latency 容忍度来支持您的最终用户网络条件。例如，有些用户正在全球 WorkSpaces 范围内访问或使用不可靠的网络。
+ 如果您需要用户使用智能卡进行身份验证或在会话中使用智能卡。
+ 如果您在会话中需要网络摄像头支持功能。
+ 如果你需要在支持 Windows Server 2022 或 Windows Server 2025 的捆绑包中使用 Web Acces WorkSpaces s。
+ 如果你需要使用 Ubuntu WorkSpaces。
+ 如果你需要在 Windows 中使用支持 GPU 的 WorkSpaces 捆绑包。
+ 如果你需要使用基于 Windows GPU 的捆绑包（Graphics.g6、graphics.g4dn 和.g4dn）或基于 Ubuntu GPU 的捆绑包（Graphics.g4dn 和 GraphicsPro .g4dn）。 GraphicsPro
+ 如果你需要你的用户在会话中使用身份验证 WebAuthn 器（例如 YubiKey 或 Windows Hello）进行身份验证。

### 何时使用 PCo IP
<a name="w2aac11c23b5b9"></a>
+ 如果您要使用 iPad 或 Android Linux 客户端。
+ 如果您使用 Teradici 零客户端设备。
+ 如果您需要将 Linux 捆绑包用于非智能卡使用案例。
+ 如果您需要 WorkSpaces 在中国（宁夏）使用。

**注意**  
目录中可以混合使用 PCo IP 和 DCV WorkSpaces 。
用户可以同时拥有 PCo IP 和 DCV WorkSpace ，前提 WorkSpaces 是两者位于不同的目录中。同一个用户不能在同一个目录 WorkSpace 中拥有 PCo IP 和 DCV。有关为用户创建多个 WorkSpaces 项目的更多信息，请参阅[在 WorkSpaces 个人版中为用户创建多个 WorkSpaces](create-multiple-workspaces-for-user.md)。
您可以使用迁移功能在两个协议 WorkSpace 之间 WorkSpaces 迁移，该功能需要重新构建 WorkSpace。有关更多信息，请参阅 [以 WorkSpaces 个人 WorkSpace 方式迁移](migrate-workspaces.md)。
如果您 WorkSpace 是使用 PCo IP 捆绑包创建的，则可以修改流媒体协议以在两个协议之间迁移，而无需重建，同时保留根卷。有关更多信息，请参阅[修改协议](https://docs.amazonaws.cn/workspaces/latest/adminguide/modify-workspaces.html#modify_protocols)。
为了获得最佳的视频会议体验，我们建议仅使用 Power PowerPro、 GeneralPurpose .4xlarge 或 GeneralPurpose .8xlarge 套装。

以下主题提供了有关如何管理 WorkSpaces 个人网络和访问权限的更多详细信息：

# 为 WorkSpaces 个人配置 VPC
<a name="amazon-workspaces-vpc"></a>

WorkSpaces WorkSpaces 在虚拟私有云 (VPC) 中启动你的。

您可以创建一个 VPC，其中包含两个私有子网供您使用， WorkSpaces 并在公有子网中创建一个 NAT 网关。或者，您可以创建一个 VPC，其中包含两个公有子网， WorkSpaces 并与每个 WorkSpace子网关联一个公有 IP 地址或弹性 IP 地址。

有关 VPC 设计注意事项的更多信息，请参阅 [Amazon WorkSpaces 部署 VPCs 和联网最佳](https://d1.awsstatic.com/whitepapers/best-practices-vpcs-networking-amazon-workspaces-deployments.pdf)实践和[部署最佳实践 WorkSpaces -VPC 设计](https://docs.amazonaws.cn/whitepapers/latest/best-practices-deploying-amazon-workspaces/vpc-design.html)。

**Topics**
+ [要求](#configure-vpc-requirements)
+ [配置具有私有子网和 NAT 网关的 VPC](#configure-vpc-nat-gateway)
+ [通过公有子网配置 VPC](#configure-vpc-public-subnets)

## 要求
<a name="configure-vpc-requirements"></a>

您的 VPC 的子网必须位于您要启动 WorkSpaces的区域的不同可用区中。可用区是被设计为可以隔离其他可用区的故障的不同位置。通过启动独立可用区内的实例，您可以保护您的应用程序不受单一位置故障的影响。每个子网都必须完全位于一个可用区之内，不能跨越多个可用区。

**注意**  
 WorkSpaces Amazon 在每个受支持区域的部分可用区中可用。要确定您可以将哪些可用区域用于您所使用的 VPC 的子网 WorkSpaces，请参阅[WorkSpaces 个人版的可用区](azs-workspaces.md)。

## 配置具有私有子网和 NAT 网关的 VPC
<a name="configure-vpc-nat-gateway"></a>

如果您使用 Amazon Directory Service 创建 Amazon 托管 Microsoft 或 Simple AD，我们建议您为该 VPC 配置一个公有子网和两个私有子网。将您的目录配置为在私有子网 WorkSpaces 中启动您的目录。要在私有子网 WorkSpaces 中提供互联网访问权限，请在公有子网中配置 NAT 网关。

![\[配置您的 WorkSpaces VPC\]](http://docs.amazonaws.cn/workspaces/latest/adminguide/images/vpc-configuration-new.png)


**创建具有一个公有子网和两个私有子网的 VPC**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.amazonaws.cn/vpc/) 的 Amazon VPC 控制台。

1. 选择**创建 VPC**。

1. 在要创建的 **Resources**（资源）下，选择 **VPC and more**（VPC 等）。

1. 对于 **Name tag auto-generation**（名称标签自动生成），为 VPC 输入名称。

1. 若要配置子网，请执行以下操作：

   1. 对于 **Number of Availability Zones**（可用区域数量），根据您的需求选择 **1** 或 **2**。

   1. 展开**自定义 AZs**，然后选择您的可用区。否则，请为您 Amazon 选择它们。要做出适当的选择，请参阅 [WorkSpaces 个人版的可用区](azs-workspaces.md)。

   1. 对于 **Number of public subnets**（公有子网数量），确保每个可用区有一个公有子网。

   1. 对于**私有子网数量**，确保每个可用区至少有一个私有子网。

   1. 为每个子网输入一个 CIDR 块。有关更多信息，请参阅《Amazon VPC 用户指南》**中的[子网大小调整](https://docs.amazonaws.cn/vpc/latest/userguide/configure-subnets.html#subnet-sizing)。

1. 对于 **NAT 网关**，请选择**每个 AZ 1 个**。

1. 选择**创建 VPC**。

**IPv6 CIDR 块**  
您可以将 IPv6 CIDR 块与您的 VPC 及其子网关联，并将这些子网配置为自动为新启动的实例分配 IPv6 地址。对于客户创建的子网，默认情况下自动分配 IPv6 寻址处于禁用状态。要在 Amazon VPC 控制台中查看或更新此设置，请在导航窗格中选择子网，选择目标子网，然后选择**操作**、**修改自动分配 IP** 设置。

## 通过公有子网配置 VPC
<a name="configure-vpc-public-subnets"></a>

如果您愿意，您可以创建具有两个公有子网的 VPC。要为公共子网提供互联网访问权限，请将目录配置为自动分配弹性 IP 地址或手动为每个 WorkSpace子网分配弹性 IP 地址。 WorkSpaces 

**Topics**
+ [第 1 步：创建 VPC](#create-vpc-public-subnet)
+ [第 2 步：为您的 IP 地址分配公有 IP 地址 WorkSpaces](#assign-eip)

### 第 1 步：创建 VPC
<a name="create-vpc-public-subnet"></a>

如下所示创建具有一个公有子网的 VPC。

**创建 VPC**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.amazonaws.cn/vpc/) 的 Amazon VPC 控制台。

1. 选择**创建 VPC**。

1. 在要创建的 **Resources**（资源）下，选择 **VPC and more**（VPC 等）。

1. 对于 **Name tag auto-generation**（名称标签自动生成），为 VPC 输入名称。

1. 若要配置子网，请执行以下操作：

   1. 对于**可用区数量**，选择 **2**。

   1. 展开**自定义 AZs**，然后选择您的可用区。否则，请为您 Amazon 选择它们。要做出适当的选择，请参阅 [WorkSpaces 个人版的可用区](azs-workspaces.md)。

   1. 对于**Number of public subnets**（公有子网数量），选择 **2**。

   1. 对于 **Number of private subnets**（私有子网数量），选择 **0**。

   1. 为每个公有子网输入 CIDR 块。有关更多信息，请参阅《Amazon VPC 用户指南》**中的[子网大小调整](https://docs.amazonaws.cn/vpc/latest/userguide/configure-subnets.html#subnet-sizing)。

1. 选择**创建 VPC**。

**IPv6 CIDR 块**  
您可以将 IPv6 CIDR 块与您的 VPC 及其子网关联，并将这些子网配置为自动为新启动的实例分配 IPv6 地址。对于客户创建的子网，默认情况下自动分配 IPv6 寻址处于禁用状态。要在 Amazon VPC 控制台中查看或更新此设置，请在导航窗格中选择子网，选择目标子网，然后选择**操作**、**修改自动分配 IP** 设置。

### 第 2 步：为您的 IP 地址分配公有 IP 地址 WorkSpaces
<a name="assign-eip"></a>

您可以 WorkSpaces 自动或手动为您的分配公有 IP 地址。要使用自动分配，请参阅[为 WorkSpaces 个人版配置自动公有 IP 地址](automatic-assignment.md)。要手动分配公有 IP 地址，请使用以下过程。

**WorkSpace 手动为分配公有 IP 地址**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.amazonaws.cn/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，请选择 **WorkSpaces**。

1. 展开对的行（选择箭头图标）， WorkSpace 并记下 **WorkSpace IP** 的值。这是的主私有 IP 地址 WorkSpace。

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.amazonaws.cn/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**弹性 IPs**。如果您没有可用的弹性 IP 地址，请选择**分配弹性 IP 地址**并选择**亚马逊的地 IPv4址池**或**客户拥有 IPv4的地址池**，然后选择**分配**。记下新的 IP 地址。

1. 在导航窗格中，选择**网络接口**。

1. 选择适合您的网络接口 WorkSpace。要查找您的网络接口 WorkSpace，请在搜索框中输入 **WorkSpace IP** 值（您之前记下的），然后**按 Enter**。**WorkSpace IP** 值与网络接口的主私有 IPv4 地址相匹配。请注意，网络接口的 VPC ID 与您的 WorkSpaces VPC 的 ID 一致。

1. 依次选择**操作**、**管理 IP 地址**。选择**分配新 IP**，然后选择**是，更新**。记下新的 IP 地址。

1. 依次选择 **Actions**、**Associate Address**。

1. 在**关联弹性 IP 地址**页面上，从**地址**中选择一个弹性 IP 地址。对于**关联到私有 IP 地址**，请指定新的私有 IP 地址，然后选择**关联地址**。

# 为 WorkSpaces 个人版配置 Amazon Global Accelerator（AGA）
<a name="amazon-workspaces-aga"></a>

您可以在 WorkSpaces 目录级别启用 Amazon Global Accelerator（AGA），也可以为运行 DCV 协议的单个 WorkSpaces 启用。启用后，该服务会自动将流式传输流量路由到最近的 Amazon 边缘站点和 Amazon 全球网络，而不会造成拥堵且可实现冗余。这有助于提供响应速度更快、更稳定的流式传输体验。WorkSpaces 服务负责全面管理 AGA 的使用情况，并且受出站数据量限制的约束。

**Topics**
+ [要求](#configure-aga-requirements)
+ [限制](#configure-aga-limitations)
+ [出站数据限制](#configure-aga-outbound-data-limits)
+ [为 WorkSpaces 目录启用 AGA](#enabling-aga-directory)
+ [为单个 WorkSpaces 启用 AGA](#enabling-aga-individual)

## 要求
<a name="configure-aga-requirements"></a>
+ WorkSpaces 使用一系列公有 IPv4 地址作为专用的 Amazon Global Accelerator（AGA）端点。确保为通过 AGA 访问 WorkSpaces 的设备配置防火墙策略。如果 AGA 端点被防火墙阻止，WorkSpaces 的流式传输流量将不会通过 AGA 进行路由。有关每个 Amazon 区域中 AGA 端点 IP 范围的更多信息，请参阅 [DCV 网关服务器](workspaces-port-requirements.md#gateway_WSP)。
+ 要通过 AGA 访问 WorkSpaces，用户必须使用 WorkSpaces 客户端版本 5.23 或更高版本。

## 限制
<a name="configure-aga-limitations"></a>
+ 您只能为 DCV WorkSpaces 启用 AGA。如果您在 WorkSpaces 目录级别启用 AGA，则它将仅应用于目录中的 DCV WorkSpaces。
+ 您无法为同时启用 FIPS 和 IP 访问控制组的目录（或目录中的 WorkSpaces）启用 AGA。在为目录启用 AGA 之前，必须禁用 FIPS 或 IP 访问控制组。

## 出站数据限制
<a name="configure-aga-outbound-data-limits"></a>

以下是 WorkSpaces 捆绑包适用的数据量限制。
+ **Value、Standard 和 Performance 捆绑包：**包括每位用户每月 20 GB 的 AGA 出站数据。
+ **Power、PowerPro 和 Graphics 捆绑包：**包括每位用户每月 50 GB 的 AGA 出站数据。

这些出站数据限制旨在满足用户从其 WorkSpaces 进行流式传输的数据使用需求。超出限制后，WorkSpaces 服务可能会限制 AGA 使用，并根据具体情况将 WorkSpaces 流量从 AGA 路由出去。

## 为 WorkSpaces 目录启用 AGA
<a name="enabling-aga-directory"></a>

您可以在目录级别配置 AGA 设置。这些设置将应用于目录中的所有 DCV WorkSpaces，除非被单个 WorkSpaces 的设置覆盖。

**为目录启用 AGA**

1. 打开 WorkSpaces 控制台，网址为：[https://console.aws.amazon.com/workspaces/v2/home](https://console.amazonaws.cn/workspaces/v2/home)。

1. 在导航窗格中，选择**目录**。

1. 在**目录 ID** 列下，选择要为其配置 AGA 设置的目录的目录 ID。

1. 在目录详细信息页面上，向下滚动到 Amazon Global Accelerator（AGA）配置部分，然后选择**编辑**。

1. 选择**启用 AGA（自动）**。

1. 默认情况下，系统会选中**始终使用 TCP 和 AGA**。如果您取消选中该选项，您的 WorkSpaces 客户端会根据客户端上的 DCV 流式传输协议设置来确定 AGA 是使用 TCP 还是 UDP。

1. 选择 **Save**。

为 WorkSpaces 目录启用 AGA 后，目录中的 DCV WorkSpaces 会从下一个会话开始使用 AGA 进行流式传输。无需重新启动。

## 为单个 WorkSpaces 启用 AGA
<a name="enabling-aga-individual"></a>

您可以为单个 WorkSpaces 配置 AGA 设置，这些设置会覆盖从与该 WorkSpaces 关联的目录中继承的设置。

**为单个 WorkSpaces 启用 AGA**

1. 打开 WorkSpaces 控制台，网址为：[https://console.aws.amazon.com/workspaces/v2/home](https://console.amazonaws.cn/workspaces/v2/home)。

1. 在导航窗格中，依次选择 **WorkSpaces**、**个人版**。

1. 在**工作空间 ID** 列下，选择要为其配置 AGA 设置的工作空间的工作空间 ID。

1. 在 WorkSpaces 详细信息页面上，向下滚动到 Amazon Global Accelerator（AGA）配置部分，然后选择**编辑**。

1. 选择**手动覆盖此工作空间的 AGA 配置**。

1. 选择**启用 AGA（自动）**。

1. 默认情况下，系统会选中**始终使用 TCP 和 AGA**。如果您取消选中该选项，您的 WorkSpaces 客户端会根据客户端上的 DCV 流式传输协议设置来确定 AGA 是使用 TCP 还是 UDP。

1. 选择 **Save**。

# WorkSpaces 个人版的可用区
<a name="azs-workspaces"></a>

当您创建用于 Amazon WorkSpaces 的虚拟私有云 (VPC) 时，您 VPC 的子网必须位于您启动 WorkSpaces 所在区域中的其他可用区中。可用区是被设计为可以隔离其他可用区的故障的不同位置。通过启动独立可用区内的实例，您可以保护您的应用程序不受单一位置故障的影响。每个子网都必须完全位于一个可用区之内，不能跨越多个可用区。

可用区由区域代码后跟一个字母标识符表示；例如，`us-east-1a`。为确保资源分配到区域的各可用区，我们将可用区独立映射到每个 Amazon 账户的名称。例如，您的 `us-east-1a` 账户的可用区 Amazon 可能与另一 `us-east-1a` 账户的 Amazon 不在同一位置。

要跨账户协调可用区，您必须使用 *AZ ID*（可用区的唯一、一致的标识符）。例如，`use1-az2` 是 `us-east-1` 区域的 AZ ID，它在每个 Amazon 账户中的位置均相同。

通过查看 AZ ID，您可以确定一个账户中的资源相对于另一个账户中的资源所在的位置。例如，如果您在 AZ ID 为 `use1-az2` 的可用区中与另一个账户共享一个子网，则在 AZ ID 也为 `use1-az2` 的可用区中该账户便可使用这一子网。每个 VPC 和子网的 AZ ID 均显示在 Amazon VPC 控制台中。

Amazon WorkSpaces 仅可在每个受支持区域的部分可用区中使用。下表列出了每个区域中您可以使用的可用区 ID 列表。要查看您账户中可用区 ID 到可用区的映射，请参阅《Amazon RAM 用户指南》**中的[您的资源的 AZ ID](https://docs.amazonaws.cn/ram/latest/userguide/working-with-az-ids.html)。


| 区域名称 | 区域代码 | 支持的 AZ ID | 
| --- | --- | --- | 
| 美国东部（弗吉尼亚州北部） | us-east-1 | use1-az2, use1-az4, use1-az6 | 
| 美国西部（俄勒冈州） | us-west-2 | usw2-az1, usw2-az2, usw2-az3 | 
| 亚太地区（孟买） | ap-south-1 | aps1-az1, aps1-az2, aps1-az3 | 
| 亚太地区（首尔） | ap-northeast-2 | apne2-az1, apne2-az3 | 
| 亚太地区（新加坡） | ap-southeast-1 | apse1-az1, apse1-az2 | 
| 亚太地区（悉尼） | ap-southeast-2 | apse2-az1, apse2-az3 | 
| 亚太地区（东京） | ap-northeast-1 | apne1-az1, apne1-az4 | 
| 加拿大（中部） | ca-central-1 | cac1-az1, cac1-az2 | 
| 欧洲地区（法兰克福） | eu-central-1 | euc1-az2, euc1-az3 | 
| 欧洲地区（爱尔兰） | eu-west-1 | euw1-az1, euw1-az2, euw1-az3 | 
| 欧洲地区（伦敦） | eu-west-2 | euw2-az2, euw2-az3 | 
| 欧洲（巴黎） | eu-west-3 | euw3-az1, euw3-az2, euw3-az3 | 
| 南美洲（圣保罗） | sa-east-1 | sae1-az1, sae1-az3 | 
| 非洲（开普敦） | af-south-1 | afs1-az1, afs1-az2, afs1-az3 | 
| 以色列（特拉维夫） | il-central-1 | ilc1-az1, ilc1-az2, ilc1-az3 | 
| Amazon GovCloud（美国西部） | us-gov-west-1 | usgw1-az1, usgw1-az2, usgw1-az3 | 
| Amazon GovCloud（美国东部） | us-gov-east-1 | usge1-az1, usge1-az2, usge1-az3 | 

有关可用区和 AZ ID 的更多信息，请参阅《Amazon EC2 用户指南》**中的[区域、可用区和本地区域](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)。

# WorkSpaces 个人的 IP 地址和端口要求
<a name="workspaces-port-requirements"></a>

要连接到您的 WorkSpaces，您的 WorkSpaces 客户端所连接的网络必须为各种 Amazon 服务的 IP 地址范围（按子集分组）开放某些端口。这些地址范围因 Amazon 地区而异。这些相同端口还必须在客户端上运行的任何防火墙上处于打开状态。有关不同区域的 Amazon IP 地址范围的更多信息，请参阅中的 [Amazon IP 地址范围*Amazon Web Services 一般参考*](https://docs.amazonaws.cn/general/latest/gr/aws-ip-ranges.html)。

有关其他架构图，请参阅[部署 Amazon 的最佳实践 WorkSpaces](https://docs.amazonaws.cn/whitepapers/latest/best-practices-deploying-amazon-workspaces/best-practices-deploying-amazon-workspaces.html)。

## 用于客户端应用程序的端口
<a name="client-application-ports"></a>

 WorkSpaces 客户端应用程序需要通过以下端口进行出站访问：

端口 53 (UDP)  
此端口用于访问 DNS 服务器。它必须对您的 DNS 服务器 IP 地址开放，以使客户端可以解析公有域名。如果您不使用 DNS 服务器进行域名解析，则此端口要求是可选的。

端口 443 (UDP 和 TCP)  
此端口用于客户端应用程序更新、注册和身份验证。桌面客户端应用程序支持使用代理服务器处理端口 443 (HTTPS) 流量。要允许使用代理服务器，请打开客户端应用程序，依次选择 **Advanced Settings** 和 **Use Proxy Server**，指定代理服务器的地址和端口，然后选择 **Save**。  
此端口必须对以下 IP 地址范围开放：  
+ 所在区域中的`AMAZON` WorkSpace 子集。

端口 4172 (UDP 和 TCP)  
此端口用于流式传输 WorkSpace 桌面和 PCo IP 的运行状况检查 WorkSpaces。必须向 PCo IP 网关及其所在区域的运行状况检查服务器开放此端口。 WorkSpace 有关更多信息，请参阅[运行状况检查服务器](#health_check)和[PCoIP 网关服务器](#gateway_IP)。  
对于 PCo IP WorkSpaces，桌面客户端应用程序不支持使用代理服务器，也不支持 TLS 解密和检查 UDP 中的端口 4172 流量（用于桌面流量）。它们需要直接连接到端口 4172。

端口 4195（UDP 和 TCP）  
此端口用于流式传输 WorkSpace 桌面和 DCV WorkSpaces 的运行状况检查。此端口必须向 DCV 网关 IP 地址范围和所在区域中的运行状况检查服务器开放。 WorkSpace 有关更多信息，请参阅[运行状况检查服务器](#health_check)和[DCV 网关服务器](#gateway_WSP)。  
对于 DCV WorkSpaces， WorkSpaces Windows 客户端应用程序（版本 5.1 及更高版本）和 macOS 客户端应用程序（版本 5.4 及更高版本）支持对端口 4195 的 TCP 流量使用 HTTP 代理服务器，但不建议使用代理。不支持 TLS 解密和检查。有关更多信息，请参阅**为 [Windows WorkSpaces](https://docs.amazonaws.cn/workspaces/latest/adminguide/group_policy.html#gp_device_proxy)、[Amazon Linux WorkSpaces](https://docs.amazonaws.cn/workspaces/latest/adminguide/group_policy.html#gp_device_proxy_linux) 和 [Ubuntu WorkSpaces](https://docs.amazonaws.cn/workspaces/latest/adminguide/group_policy.html#gp_device_proxy_ubuntu) 配置用于互联网访问的设备代理服务器设置**。

**注意**  
如果防火墙使用有状态筛选功能，则会自动打开临时（也称为动态）端口，以便允许返回通信。如果您的防火墙使用无状态筛选功能，则需要明确打开临时端口，以便允许返回通信。根据您的配置，需要打开的临时端口范围有所不同。
UDP 流量不支持代理服务器功能。如果您选择使用代理服务器，则客户端应用程序对 Amazon WorkSpaces 服务进行的 API 调用也会被代理。API 调用和桌面流量都应通过同一个代理服务器。
为了获得最佳性能， WorkSpaces 客户端应用程序首先尝试使用 UDP (QUIC) 进行流式传输。如果客户端网络仅允许 TCP，则将使用 TCP。 WorkSpaces Web 客户端将通过 TCP 端口 4195 或 443 进行连接。如果端口 4195 被屏蔽，则客户端将仅尝试通过端口 443 进行连接。

## 要添加到允许列表的域和 IP 地址
<a name="whitelisted_ports"></a>

要使 WorkSpaces 客户端应用程序能够访问该 WorkSpaces 服务，您必须将以下域和 IP 地址添加到客户端尝试访问服务的网络上的允许列表中。


**要添加到允许列表的域和 IP 地址**  

| 类别 | 域或 IP 地址 | 
| --- | --- | 
| 客户端自动更新 |  [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/workspaces/latest/adminguide/workspaces-port-requirements.html)  | 
| 连接检查 |  https://connectivity.amazonworkspaces.awsapps.cn  | 
| 客户端指标（适用于 3.0 及以上的 WorkSpaces 客户端应用程序） |  [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/workspaces/latest/adminguide/workspaces-port-requirements.html)  | 
| 动态消息服务（适用于 3.0 以上的 WorkSpaces 客户端应用程序） |  [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/workspaces/latest/adminguide/workspaces-port-requirements.html)  | 
| 目录设置 |  [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/workspaces/latest/adminguide/workspaces-port-requirements.html)  | 
| 运行状况检查 (DRP) 服务器 | [运行状况检查服务器](#health_check) | 
| 用户登录页面 |   | 
| WS 代理 |   | 
| WorkSpaces API 端点 |  [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/workspaces/latest/adminguide/workspaces-port-requirements.html)  | 
| WorkSpaces SAML 单点登录 (SSO) 的终端节点 |   | 


**要添加到您的 IP 允许列表中的域 PCo和 IP 地址**  

| 类别 | 域或 IP 地址 | 
| --- | --- | 
| PCoIP 会话网关 (PSG) | [PCoIP 网关服务器](#gateway_IP) | 
| 会话代理 (PCM) |  [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/workspaces/latest/adminguide/workspaces-port-requirements.html)  | 


**要添加到 DCV 允许列表的域和 IP 地址**  

| 类别 | 域或 IP 地址 | 
| --- | --- | 
| DCV 会话网关（WSG） |  [DCV 网关服务器](#gateway_WSP)  | 
| 适用于 DCV 的 Web Access TURN 服务器 |  [DCV 网关服务器](#gateway_WSP)  | 

## 运行状况检查服务器
<a name="health_check"></a>

 WorkSpaces 客户端应用程序通过端口 4172 和 4195 执行运行状况检查。这些检查验证 TCP 还是 UDP 流量是从 WorkSpaces 服务器流向客户端应用程序。要成功完成这些检查，您的防火墙策略必须允许指向以下区域运行状况检查服务器的 IP 地址的出站流量。


| Region | 运行状况检查主机名 | IP 地址 | 
| --- | --- | --- | 
| 中国（宁夏） | drp-zhy.amazonworkspaces.com |  52.82.90.186 52.83.43.32 52.83.110.158 52.83.248.61  | 

## PCoIP 网关服务器
<a name="gateway_IP"></a>

WorkSpaces 使用 PCoIP 通过端口 4172 将桌面会话流式传输到客户端。对于其 PCoIP 网关服务器， WorkSpaces 使用少量的 Amazon EC2 公有地址 IPv4 和 IPv6 地址。这样，您可以为用于访问 WorkSpaces 的设备设置更为精细的防火墙策略。请注意，当支持并且可以访问网关 IPv6 时， WorkSpaces 客户端会优先考虑 IPv6 连接。如果 IPv6 不可用，则会回退到 IPv4。


| Region | 区域代码 | 公有 IP 地址范围 | 
| --- | --- | --- | 
| 中国（宁夏） |  |  52.83.58.0 - 52.83.58.255 69.235.162.0 - 69.235.162.255  | 

## DCV 网关服务器
<a name="gateway_WSP"></a>

**重要**  
从 2020 年 6 月开始，通过端口 4195 而不是端口 4172 WorkSpaces 将 DCV 的桌面会话 WorkSpaces 流式传输到客户端。如果要使用 DCV WorkSpaces，请确保端口 4195 已通信。

**注意**  
对于非 BYOL WorkSpaces 池，无法保证 IP 地址范围。您必须将 DCV 网关域名列入许可名单。有关更多信息，请参阅 [DCV 网关域名](https://docs.amazonaws.cn/workspaces/latest/adminguide/workspaces-port-requirements.html#dns-wsp)。

WorkSpaces 为其 DCV 网关服务器使用少量的 Amazon EC2 公共 IPv6 地址 IPv4 和地址。这使您能够为访问 WorkSpaces的设备设置更精细的防火墙策略。 WorkSpaces 为专用 Amazon 全球加速器 (AGA) 端点使用单独的公有 IPv4 地址范围。如果您计划为自己启用 AGA，请务必将防火墙策略配置为允许名单 IP 范围。 WorkSpaces请注意，当支持并且可以访问网关 IPv6 时， WorkSpaces 客户端会优先考虑 IPv6 连接。如果 IPv6 不可用，则会回退到 IPv4。

如果您使用 AGA \$1 IPv6，则需要将该范围中的 IPv6 CIDR 范围列入许可名单。`GLOBALACCELERATOR`有关更多信息，请参阅《Amazon Global Accelerator 开发人员指南》中的 [Global Accelerator 边缘服务器的位置和 IP 地址范围](https://docs.amazonaws.cn/global-accelerator/latest/dg/introduction-ip-ranges.html)**。


| Region | 区域代码 | 公有 IP 地址范围 | 
| --- | --- | --- | 
| 中国（宁夏） |  | 140.65.96.0/22 | 

## DCV 网关域名
<a name="dns-wsp"></a>

下表列出了 DCV WorkSpace 网关域名。这些域必须是可联系的， WorkSpaces 客户端应用程序才能访问 WorkSpace DCV 服务。


| Region | 域： | 
| --- | --- | 
| 中国（宁夏） | DCV 不支持此区域。 | 

## 网络接口
<a name="network-interfaces"></a>

每个 WorkSpace 都有以下网络接口：
+ 主网络接口 (eth1) 提供与您的 VPC 内和互联网上的资源的连接，并用于加入目录。 WorkSpace 
+ 管理网络接口 (eth0) 已连接到安全的 WorkSpaces 管理网络。它用于将 WorkSpace桌面以交互方式流式传输到 WorkSpaces 客户端，并允许 WorkSpaces 管理 WorkSpace。

WorkSpaces 根据创建管理网络接口的区域，从不同的地址范围中选择管理网络接口 WorkSpaces 的 IP 地址。注册目录后， WorkSpaces 测试您的 VPC CIDR 和您的 VPC 中的路由表，以确定这些地址范围是否会造成冲突。如果区域中的所有可用地址范围存在冲突，则会显示一条错误消息，而且目录将无法注册。如果您在目录注册后更改了 VPC 中的路由表，则可能会导致冲突。

**警告**  
请勿修改或删除连接到的任何网络接口 WorkSpace。这样做可能会导致无法 WorkSpace 访问或无法访问互联网。例如，如果您在目录级别[启用了弹性 IP 地址的自动分配](automatic-assignment.md)，则会在启动[弹性 IP 地址](https://docs.amazonaws.cn/vpc/latest/userguide/vpc-eips.html)（来自亚马逊提供的地址池） WorkSpace时分配给您。但是，如果您将自己拥有的弹性 IP 地址关联到 WorkSpace，然后又将该弹性 IP 地址与解除关联 WorkSpace，则该弹性 IP 地址将 WorkSpace 丢失其公有 IP 地址，并且不会自动从亚马逊提供的池中获取新的 IP 地址。  
要将亚马逊提供的资源池中的新公有 IP 地址与相关联 WorkSpace，您必须[重新构建](rebuild-workspace.md)。 WorkSpace如果您不想重建 WorkSpace，则必须将您拥有的另一个弹性 IP 地址与关联起来 WorkSpace。

### 管理接口 IP 范围
<a name="management-ip-ranges"></a>

下表列出了用于管理网络接口的 IP 地址范围。


| Region | IP 地址范围 | 
| --- | --- | 
| 中国（宁夏） | 198.19.0.0/16 | 

### 管理接口端口
<a name="management_ports"></a>

必须在所有人的管理网络接口上打开以下端口 WorkSpaces：
+ 端口 4172 上的入站 TCP。这用于在 PCo IP 协议上建立流媒体连接。
+ 端口 4172 上的入站 UDP。这用于在 PCo IP 协议上流式传输用户输入。
+ 端口 4489 上的入站 TCP。这用于通过 Web 客户端访问。
+ 端口 8200 上的入站 TCP。这用于管理和配置 WorkSpace。
+ 端口 8201-8250 上的入站 TCP。这些端口用于建立流式连接以及基于 DCV 协议流式传输用户输入。
+ 端口 8220 上的入站 UDP。此端口用于建立流式连接以及基于 DCV 协议流式传输用户输入
+ 出站 TCP 端口 8443 和 9997。这用于通过 Web 客户端访问。
+ 端口 3478、4172 和 4195 上的出站 UDP。这用于通过 Web 客户端访问。
+ 端口 50002 和 55002 上的出站 UDP。用于流式传输。如果您的防火墙使用有状态筛选，则临时端口 50002 和 55002 会自动打开以允许返回通信。如果您的防火墙使用无状态筛选，则需要打开临时端口 49152 至 65535，以便允许返回通信。
+ 端口 80（如[管理接口 IP 范围](https://docs.amazonaws.cn/workspaces/latest/adminguide/workspaces-port-requirements.html#management-ip-ranges)中所定义）的出站 TCP 到 IP 地址 169.254.169.254，以访问 EC2 元数据服务。分配给您的任何 HTTP 代理还 WorkSpaces 必须排除 169.254.169.254。
+ 使用端口 1688 通过出站 TCP 将流量发送到 IP 地址 169.254.169.250 和 169.254.169.251，以允许针对基于公共捆绑包的 WorkSpaces 通过访问 Microsoft KMS 来激活 Windows。如果你使用的是自带许可证 (BYOL) Windows WorkSpaces，则必须允许访问自己的 KMS 服务器才能激活 Windows。
+ 端口 1688 上的出站 TCP 到 IP 地址 54.239.236.220，允许访问微软 KMS 进行 Office 激活 BYOL。 WorkSpaces

  如果你通过其中一个 WorkSpaces 公共捆绑包使用 Office，则用于激活 Office 的 Microsoft KMS 的 IP 地址会有所不同。要确定该 IP 地址，请找到的管理接口的 IP 地址 WorkSpace，然后将最后两个二进制八位数替换为。`64.250`例如，如果管理接口的 IP 地址为 192.168.3.5，则用于激活 Office 的 Microsoft KMS 的 IP 地址为 192.168.64.250。
+ 当 WorkSpace 主机配置为使用代理服务器 WorkSpaces 时，DCV 的出站 TCP 到 IP 地址 127.0.0.2。
+ 源自环回地址 127.0.01 的通信。

在正常情况下，该 WorkSpaces 服务会为您 WorkSpaces配置这些端口。如果安装了任何安全软件或防火墙软件 WorkSpace 来阻塞这些端口中的任何一个，则 WorkSpace 可能无法正常运行或无法访问。

### 主接口端口
<a name="primary_ports"></a>

无论您使用哪种类型的目录，都必须在所有目录的主网络接口上打开以下端口 WorkSpaces：
+ 要进行互联网连接，以下端口必须开放到所有目的地的出站端口和从 WorkSpaces VPC 入站的端口。如果您想让他们能够访问互联网， WorkSpaces 则需要手动将它们添加到您的安全组中。
  + TCP 80 (HTTP)
  + TCP 443 (HTTPS)
+ 要与目录控制器通信，必须打开您的 WorkSpaces VPC 和目录控制器之间的以下端口。对于 Simple AD 目录，由创建的安全组 Amazon Directory Service 将正确配置这些端口。对于 AD Connector 目录，您可能需要调整 VPC 的默认安全组才能打开这些端口。
  + TCP/UDP 53 - DNS
  + TCP/UDP 88 - Kerberos 身份验证
  + UDP 123 - NTP
  + TCP 135 - RPC
  + UDP 137-138 - Netlogon
  + TCP 139 - Netlogon
  + TCP/UDP 389 - LDAP
  + TCP/UDP 445 - SMB
  + TCP/UDP 636 - LDAPS (LDAP over TLS/SSL)
  + TCP 1024-65535 - RPC 动态端口
  + TTCP 3268-3269 - 全局目录

  如果安装了任何安全软件或防火墙软件 WorkSpace 来阻塞这些端口中的任何一个，则 WorkSpace 可能无法正常运行或无法访问。

# WorkSpaces 个人版客户端网络要求
<a name="workspaces-network-requirements"></a>

您的 WorkSpaces 用户可使用面向受支持设备的客户端应用程序来连接到其 WorkSpaces。或者，他们可以使用 Web 浏览器连接到支持这种访问形式的 WorkSpaces。有关支持 Web 浏览器访问的 WorkSpaces 的列表，请参阅 [客户端访问、Web Access 和用户体验](https://www.amazonaws.cn/workspaces/faqs/#Client_Access.2C_Web_Access.2C_and_User_Experience)中的“哪些 Amazon WorkSpaces 捆绑包支持 Web Access？”。

**注意**  
Web 浏览器不能用于连接到 Amazon Linux WorkSpaces。

**重要**  
自 2020 年 10 月 1 日起，客户将无法再使用 Amazon WorkSpaces Web Access 客户端连接到 Windows 7 自定义 WorkSpaces 或 Windows 7 自带许可 (BYOL) WorkSpaces。

要为用户提供良好的 WorkSpace 使用体验，请验证其客户端设备是否符合以下网络要求：
+ 客户端设备必须具有宽带互联网连接。建议计划为每个同时观看 480p 视频窗口的用户至少提供 1 Mbps 网速。根据您对视频分辨率的用户质量要求，可能需要更多带宽。
+ 对于客户端设备连接到的网络及客户端设备上的任何防火墙，其某些端口必须对各种 Amazon 服务的 IP 地址范围开放。有关更多信息，请参阅 [WorkSpaces 个人的 IP 地址和端口要求](workspaces-port-requirements.md)。
+ 为了优化 PCoIP 性能，从客户端网络到 WorkSpaces 所在区域之间的往返时间 (RTT) 应小于 100 毫秒。如果 RTT 介于 100 毫秒和 200 毫秒之间，则用户可以访问 WorkSpace，但性能会受到影响。如果 RTT 介于 200 毫秒和 375 毫秒之间，则性能会降低。如果 RTT 超过 375 毫秒，WorkSpaces 客户端连接将终止。

  为了获得 DCV 的最佳性能，从客户端网络到 WorkSpaces 所在区域的 RTT 应小于 250 毫秒。如果 RTT 介于 250 毫秒和 400 毫秒之间，则用户可以访问 WorkSpace，但性能会降低。

  要查看从您所在位置到各个 Amazon 区域的 RTT，请使用 [Amazon WorkSpaces 连接运行状况检查](https://clients.amazonworkspaces.com/Health.html)。
+ 要将网络摄像头与 DCV 配合使用，建议最低上传带宽为每秒 1.7 兆比特。
+ 如果用户通过虚拟专用网络 (VPN) 访问 WorkSpace，则连接必须支持至少 1200 字节的最大传输单位 (MTU)。
**注意**  
您无法通过连接到虚拟私有云(VPC) 的 VPN 访问 WorkSpaces。要使用 VPN 访问 WorkSpaces，需要互联网连接（通过 VPN 的公有 IP 地址），如 [WorkSpaces 个人的 IP 地址和端口要求](workspaces-port-requirements.md)中所述。
+ 客户端需要通过 HTTPS 访问由该服务和 Amazon Simple Storage Service (Amazon S3) 托管的 WorkSpaces 资源。客户端不支持应用程序级别的代理重定向。HTTPS 访问是必需的，以便用户可以成功完成注册并访问自己的 WorkSpace。
+ 要允许从 PCoIP 零客户端设备进行访问，您必须使用适用于 WorkSpaces 的 PCoIP 协议包。您还必须在 Teradici 中启用网络时间协议 (NTP)。有关更多信息，请参阅 [为 WorkSpaces 个人版设置 PCoIP 零客户端](set-up-pcoip-zero-client.md)。

您可以按照以下说明验证客户端设备是否符合网络要求。

## 验证 3.0\$1 客户端的网络要求
<a name="verify-requirements-new-clients"></a>

1. 打开 WorkSpaces 客户端。如果这是您首次打开客户端，则系统会提示您输入邀请电子邮件中提供的注册代码。

1. 根据您使用的客户端，执行以下操作之一。    
[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/workspaces/latest/adminguide/workspaces-network-requirements.html)

   客户端应用程序将会测试网络连接、端口以及往返时间，并报告这些测试的结果。

1. 关闭 **Network (网络)** 对话框以返回到登录页面。

## 验证 1.0\$1 和 2.0\$1 客户端的网络要求
<a name="verify-requirements-legacy-clients"></a>

1. 打开 WorkSpaces 客户端。如果这是您首次打开客户端，则系统会提示您输入邀请电子邮件中提供的注册代码。

1. 在客户端应用程序右下角，选择 **Network (网络)**。客户端应用程序将会测试网络连接、端口以及往返时间，并报告这些测试的结果。

1. 选择 **Dismiss (关闭)**，以返回登录页面。

# 将 WorkSpaces 个人版访问限定于受信任设备
<a name="trusted-devices"></a>

默认情况下，用户可以从任何连接到互联网的受支持设备访问自己的 WorkSpace。如果您的公司仅限受信任设备（也称为托管设备）访问公司数据，则您可以通过有效的证书将 WorkSpace 访问限定为受信任设备。

**注意**  
目前，只有通过 Amazon Directory Service（包括 Simple AD、AD Connector 和 Amazon Managed Microsoft AD 目录）来管理 WorkSpaces 个人版目录时，此功能才可用。

启用此功能后，WorkSpaces 会使用基于证书的身份验证来确定设备是否可信。如果 WorkSpace 客户端应用程序无法验证设备是否可信，则会阻止从此设备进行登录或重新连接的尝试。

对于每个目录，您最多可以导入 2 个根证书。如果您导入 2 个根证书，则 WorkSpaces 会将这 2 个证书都显示给客户端，然后客户端会查找一直串联到其中一个根证书的第一个有效匹配的证书。

**支持的客户端**
+ Android，在 Android 或与 Android 兼容的 Chrome 操作系统上运行
+ macOS
+ Windows

**重要**  
以下客户端不支持此功能：  
适用于 Linux 或 iPad 的 WorkSpaces 客户端应用程序
第三方客户端，包括但不限于 Teradici PCoIP、RDP 客户端和远程桌面应用程序。

**注意**  
在为特定客户端启用访问权限时，请确保阻止其他不需要的设备类型的访问权限。有关此操作的详细信息，请参阅下文的步骤 3.7。

## 第 1 步：创建证书
<a name="create-certificate"></a>

此功能需要两种类型的证书：内部证书颁发机构 (CA) 生成的根证书和一直串联到根证书的客户端证书。

**要求**
+ 根证书必须是 Base64 编码的证书文件 (采用 CRT、CERT 或 PEM 格式)。
+ 根证书必须满足以下正则表达式模式，这意味着除最后一行外，每行编码的长度必须正好为 64 个字符：`-{5}BEGIN CERTIFICATE-{5}\u000D?\u000A([A-Za-z0-9/+]{64} \u000D?\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\u000D?\u000A-{5}END CERTIFICATE-{5}(\u000D?\u000A)`。
+ 设备证书必须包含公用名。
+ 设备证书必须包含以下扩展：`Key Usage: Digital Signature` 和 `Enhanced Key Usage: Client Authentication`。
+ 从设备证书到受信任根证书颁发机构的证书链中的所有证书都必须安装在客户端设备上。
+ 证书链支持的最大长度为 4。
+ WorkSpaces 当前不支持客户端证书的设备撤销机制，例如证书吊销列表 (CRL) 或在线证书状态协议 (OCSP)。
+ 使用强加密算法。建议使用带 RSA 的 SHA256、带 ECDSA 的 SHA256、带 ECDSA 的 SHA381 或带 ECDSA 的 SHA512。
+ 对于 macOS，如果设备证书位于系统密钥链中，建议您授权 WorkSpaces 客户端应用程序访问此类证书。否则，用户必须在登录或重新连接时，输入密钥链凭证。

## 第 2 步：为受信任设备部署客户端证书
<a name="deploy-certificate"></a>

在用户可信设备上，您必须安装证书捆绑包，其中包含从设备证书到可信根证书颁发机构的证书链中的所有证书。您可以使用首选解决方案将证书安装到一批客户端设备；例如，System Center Configuration Manager (SCCM) 或移动设备管理 (MDM)。请注意，SCCM 和 MDM 可以选择执行安全状况评估，以确定设备是否符合访问 WorkSpaces 的公司政策规定。

WorkSpaces 客户端应用程序按如下方式搜索证书：
+ Android - 转至**设置**，选择**安全和位置**、**凭证**，然后选择**从 SD 卡安装**。
+ 与 Android 兼容的 Chrome 操作系统 - 打开 Android 设置并选择**安全和位置**、**凭证**，然后选择**从 SD 卡安装**。
+ macOS - 在密钥链中搜索客户端证书。
+ Windows - 在用户和根证书存储中搜索客户端证书。

## 第 3 步：配置限制
<a name="configure-restriction"></a>

在受信任设备上部署客户端证书后，您可以在目录级别启用受限访问权限。这需要 WorkSpaces 客户端应用程序验证设备上的证书，然后再允许用户登录到 WorkSpace。

**配置限制**

1. 打开 WorkSpaces 控制台，网址为：[https://console.aws.amazon.com/workspaces/v2/home](https://console.amazonaws.cn/workspaces/v2/home)。

1. 在导航窗格中，选择**目录**。

1. 选择目录，然后选择 **Actions**、**Update Details**。

1. 展开 **Access Control Options**。

1. 在**针对每种设备类型，指定哪些设备可以访问 WorkSpaces** 下，选择**可信设备**。

1. 最多导入 2 个根证书。对于每个根证书，请执行以下操作：

   1. 选择 **Import（导入）**。

   1. 将证书文本复制到表单中。

   1. 选择 **Import（导入）**。

1. 指定其他类型的设备是否可以访问 WorkSpaces。

   1. 向下滚动到 **Other Platforms (其他平台)** 部分。默认情况下，禁用 WorkSpaces Linux 客户端，用户可以从其 iOS 设备、Android 设备、Web Access、 和 PCoIP 零客户端设备访问其 WorkSpaces。

   1. 选择要启用的设备类型并清除要禁用的设备类型。

   1. 要阻止来自所有选定设备类型的访问，请选择 **Block**。

1. 选择**更新并退出**。

# 将 SAML 2.0 与 WorkSpaces 个人版集成
<a name="amazon-workspaces-saml"></a>

**注意**  
只有通过 Amazon Directory Service（包括 Simple AD、AD Connector 和 Amazon Managed Microsoft AD 目录）来管理 WorkSpaces 个人版目录时，SAML 2.0 才可用。该功能不适用于由 Amazon WorkSpaces 管理的目录，这些目录通常使用 IAM Identity Center 进行用户身份验证，而不是 SAML 2.0 联合身份验证。

将 SAML 2.0 与 WorkSpaces 集成以进行桌面会话身份验证，可允许您的用户通过其默认 Web 浏览器使用其现有的 SAML 2.0 身份提供者 (IdP) 凭证和身份验证方法。通过使用 IdP 对 WorkSpaces 用户进行身份验证，您可以采用 IdP 功能（如多因素身份验证和上下文访问策略）来保护 WorkSpaces。

## 身份验证工作流
<a name="authentication-workflow"></a>

以下各节描述了由 WorkSpaces 客户端应用程序、WorkSpaces Web Access 和 SAML 2.0 身份提供者 (IdP) 启动的身份验证工作流：
+ 当流由 IdP 启动时。例如，当用户使用 Web 浏览器在 IdP 用户门户中选择应用程序时。
+ 当流由 WorkSpaces 客户端启动时。例如，当用户打开客户端应用程序并登录时。

在这些示例中，用户输入 `user@example.com` 以登录 IdP。IdP 已为 WorkSpaces 目录配置了 SAML 2.0 服务提供者应用程序，并且用户已获得使用 WorkSpaces SAML 2.0 应用程序的授权。用户在启用 SAML 2.0 身份验证的目录中为其用户名 `user` 创建 WorkSpace。此外，用户在自己的设备上安装 [WorkSpaces 客户端应用程序](https://clients.amazonworkspaces.com/)，或者用户在 Web 浏览器中使用 Web Access。

**由身份提供者 (IdP) 启动的客户端应用程序流**

IdP 启动的流允许用户在其设备上自动注册 WorkSpaces 客户端应用程序，而无需输入 WorkSpaces 注册码。用户不会使用 IdP 启动的流登录其 WorkSpaces。WorkSpaces 身份验证必须源自客户端应用程序。

1. 用户使用其 Web 浏览器登录 IdP。

1. 登录 IdP 后，用户从 IdP 用户门户中选择 WorkSpaces 应用程序。

1. 系统在浏览器中将用户重定向到此页面，并自动打开 WorkSpaces 客户端应用程序。  
![\[打开 WorkSpaces 应用程序重定向页面\]](http://docs.amazonaws.cn/workspaces/latest/adminguide/images/saml-redir.png)

1. WorkSpaces 客户端应用程序现已注册，用户可以单击**继续登录 WorkSpaces**，以继续登录。

**由 WorkSpaces 客户端启动的流**

客户端启动的流允许用户在登录 IdP 后登录其 WorkSpaces。

1. 用户启动 WorkSpaces 客户端应用程序（如果尚未运行），然后单击**继续登录 WorkSpaces**。

1. 系统会将用户重定向到其默认 Web 浏览器以登录 IdP。如果用户已经在浏览器中登录 IdP，则无需再次登录，可以跳过此步骤。

1. 登录 IdP 后，系统会将用户重定向到弹出窗口。按照提示允许您的 Web 浏览器打开客户端应用程序。  
![\[打开客户端应用程序提示。\]](http://docs.amazonaws.cn/workspaces/latest/adminguide/images/saml-open-client-app.png)

1. 系统将用户重定向到 WorkSpaces 客户端应用程序，以完成其 WorkSpaces 登录。WorkSpaces 用户名根据 IdP SAML 2.0 断言自动填充。使用[基于证书的身份验证 (CBA)](certificate-based-authentication.md) 时，用户会自动登录。

1. 用户已登录其 WorkSpaces。

# 为个人版设置 SAML 2.0 WorkSpaces
<a name="setting-up-saml"></a>

使用 SAML 2.0 身份提供商 (IdP) 凭据和身份验证方法，通过使用 SAML 2.0 设置联合身份验证，为您的用户启用 WorkSpaces 客户端应用程序注册和登录。 WorkSpaces 要使用 SAML 2.0 设置身份联合验证，请使用 IAM 角色和中继状态 URL 来配置您的 IdP 并启用 Amazon。这会授予您的联合用户访问 WorkSpaces 目录的权限。中继状态是用户成功登录后被转发到的 WorkSpaces目录端点 Amazon。

**Topics**
+ [要求](#setting-up-saml-requirements)
+ [先决条件](#setting-up-saml-prerequisites)
+ [步骤 1：在 IAM 中 Amazon 创建 SAML 身份提供商](#create-saml-identity-provider)
+ [步骤 2：创建 SAML 2.0 联合身份验证 IAM 角色](#create-saml-iam-role)
+ [步骤 3：为 IAM 角色嵌入内联策略](#embed-inline-policy)
+ [步骤 4：配置 SAML 2.0 身份提供者](#configure-saml-id-provider)
+ [步骤 5：为 SAML 身份验证响应创建断言](#create-assertions-saml-auth)
+ [步骤 6：配置联合身份验证的中继状态](#configure-relay-state)
+ [步骤 7：在您的 WorkSpaces 目录上启用与 SAML 2.0 的集成](#enable-integration-saml)

## 要求
<a name="setting-up-saml-requirements"></a>
+ 以下区域提供 SAML 2.0 身份验证：
  + 美国东部（弗吉尼亚州北部）区域
  + 美国西部（俄勒冈州）区域
  + 非洲（开普敦）区域
  + 亚太地区（孟买）区域
  + 亚太地区（首尔）区域
  + 亚太地区（新加坡）区域
  + 亚太地区（悉尼）区域
  + 亚太地区（东京）区域
  + 加拿大（中部）区域
  + 欧洲地区（法兰克福）区域
  + 欧洲地区（爱尔兰）区域
  + 欧洲地区（伦敦）区域
  + 南美洲（圣保罗）区域
  + 以色列（特拉维夫）区域
  + Amazon GovCloud （美国西部）
  + Amazon GovCloud （美国东部）
+ 要将 SAML 2.0 身份验证与一起使用 WorkSpaces，IdP 必须通过深度链接目标资源或中继状态端点 URL 支持未经请求的 IDP 发起的 SSO。的示例 IdPs 包括 ADFS、Azure AD、Duo 单点登录、Okta 和。 PingFederate PingOne有关更多信息，请参阅 IdP 文档。
+ SAML 2.0 身份验证将在使用 Simple AD WorkSpaces 启动时起作用，但不建议这样做，因为 Simple AD 未与 SAML 2.0 集成。 IdPs
+ 以下 WorkSpaces 客户端支持 SAML 2.0 身份验证。SAML 2.0 身份验证不支持其他客户端版本。打开 Amazon WorkSpaces [客户端下载](https://clients.amazonworkspaces.com/)以查找最新版本：
  + Windows 客户端应用程序 5.1.0.3029 或更高版本
  + macOS 客户端 5.x 或更高版本
  + 适用于 Ubuntu 22.04 2024.1 或更高版本、Ubuntu 20.04 24.1 或更高版本的 Linux 客户端
  + Web Access

  除非启用了回退，否则其他客户端版本将无法连接到 WorkSpaces 启用 SAML 2.0 身份验证。有关更多信息，请参阅在[ WorkSpaces 目录上启用 SAML 2.0 身份验证](https://d1.awsstatic.com/workspaces-saml-guide.pdf)。

 step-by-step有关将 SAML 2.0 与 WorkSpaces 使用 ADFS、Azure AD、Duo 单点登录、Okta PingFederate 以及 PingOne 企业版集成的说明 OneLogin，请查看 A [mazon WorkSpaces SAM](https://d1.awsstatic.com/workspaces-saml-guide.pdf) L 身份验证实施指南。

## 先决条件
<a name="setting-up-saml-prerequisites"></a>

在配置 SAML 2.0 身份提供商 (IdP) 与目录的连接之前，请完成以下先决条件。 WorkSpaces 

1. 配置您的 IdP 以集成与该目录一起使用的 Microsoft 活动目录中的用户身份。 WorkSpaces 对于具有 a 的用户 WorkSpace，Active Directory 用户的**AMAccount姓名**和**电子邮件**属性以及 SAML 声明值必须匹配，用户才能 WorkSpaces 使用 IdP 登录。有关将 Active Directory 与 IdP 集成的更多信息，请参阅您的 IdP 文档。

1. 配置 IdP 以与 Amazon建立信任关系
   + 有关配置 Amazon 联合的更多信息，请参阅[将第三方 SAML 解决方案提供商与 Amazon集成](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_providers_saml_3rd-party.html)。相关示例包括 IdP 与 Amazon IAM 集成以访问 Amazon 管理控制台。
   + 使用您的 IdP 生成和下载联合身份验证元数据文档，该文档将您的组织描述为 IdP。此签名 XML 文档用于建立信赖方信任关系。将该文件保存您稍后可通过 IAM 控制台访问的位置。

1. 使用 WorkSpaces 管理控制台 WorkSpaces 为创建或注册目录。有关更多信息，请参阅[管理目录 WorkSpaces](https://docs.amazonaws.cn/workspaces/latest/adminguide/manage-workspaces-directory.html)。以下目录类型支持 WorkSpaces SAML 2.0 身份验证：
   + AD Connector
   + Amazon 微软 AD 托管

1.  WorkSpace 为可以使用支持的目录类型登录 IdP 的用户创建。您可以使用 WorkSpaces 管理控制台或 WorkSpaces API 创建。 WorkSpace Amazon CLI有关更多信息，请参阅[使用启动虚拟桌面 WorkSpaces](https://docs.amazonaws.cn/workspaces/latest/adminguide/launch-workspaces-tutorials.html)。

## 步骤 1：在 IAM 中 Amazon 创建 SAML 身份提供商
<a name="create-saml-identity-provider"></a>

首先，在 IAM 中创建一个 SAML IdP Amazon 。此 IdP 使用组织中 IdP 软件生成的元数据文档定义贵组织的 IdP Amazon 信任关系。有关更多信息，请参阅[创建和管理 SAML 身份提供者（Amazon Web Services 管理控制台）](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_providers_create_saml.html#idp-manage-identityprovider-console)。有关 IdPs 在 Amazon GovCloud （美国西部）和 Amazon GovCloud （美国东部）使用 SAML 的信息，请参阅 Identity and Access Managem [Amazon en](https://docs.amazonaws.cn/govcloud-us/latest/UserGuide/govcloud-iam.html) t。

## 步骤 2：创建 SAML 2.0 联合身份验证 IAM 角色
<a name="create-saml-iam-role"></a>

接下来创建 SAML 2.0 联合身份验证 IAM 角色。此步骤在 IAM 与您的组织的 IdP 之间建立信任关系，将您的 IdP 作为可信实体进行联合身份验证。

为 SAML IdP 创建 IAM 角色

1. 使用 [https://console.aws.amazon.com/iam/](https://console.amazonaws.cn/iam/) 打开 IAM 控制台。

1. 在导航窗格中，选择**角色** > **创建角色**。

1.  对于 **Role type**，选择 **SAML 2.0 federation**。

1.  对于 **SAML 提供者**，选择您创建的 SAML IdP。
**重要**  
请勿选择两个 SAML 2.0 访问方法（**只允许编程访问**或**允许编程访问和 Amazon Web Services 管理控制台访问**）中的任何一个。

1. 对于 **Attribute**，选择 **SAML:sub\$1type**。

1. 对于**值**，输入 `persistent`。该值限制角色访问 SAML 用户流式传输请求，其中包括值为 persistent 的 SAML 主题类型断言。如果 SAML:sub\$1type 为 persistent，则在来自特定用户的所有 SAML 请求中，您的 IdP 会为 NameID 元素发送相同的唯一值。[有关 SAML: sub\$1type 断言的更多信息，请参阅使用基于 SAML 的联合身份验证进行 API 访问的 “**在基于 SAML 的联合身份验证中唯一标识用户**” 部分。 Amazon](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_providers_saml.html#CreatingSAML-configuring)

1. 检查您的 SAML 2.0 信任信息，确认正确的可信实体和条件，然后选择 **Next: Permissions**。

1. 在 **Attach permissions policies (附加权限策略)** 页面上，选择 **Next: Tags (下一步：标签)**。

1. （可选）为要添加的每个标签输入键和值。有关更多信息，请参阅[标记 IAM 用户和角色](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_tags.html)。

1. 完成此操作后，选择 **Next: Review (下一步：审核)**。稍后您将为此角色创建并嵌入内联策略。

1. 对于**角色名称**，输入有助于标识此角色作用的名称。由于多个实体可能引用该角色，因此，角色创建完毕后，您将无法编辑角色名称。

1. （可选）对于**角色描述**，输入新角色的描述。

1. 检查角色详细信息，然后选择**创建角色**。

1. 将 sts: TagSession 权限添加到您的新 IAM 角色的信任策略中。有关更多信息，请参阅[在 Amazon STS中传递会话标签](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_session-tags.html)。在新 IAM 角色的详细信息中，选择**信任关系**选项卡，然后选择**编辑信任关系\$1**。当 “编辑信任关系” 策略编辑器打开时，添加 **sts: TagSession \$1** 权限，如下所示：

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Federated": "arn:aws:iam::111122223333:saml-provider/IDENTITY-PROVIDER"
               },
               "Action": [
                   "sts:AssumeRoleWithSAML",
                   "sts:TagSession"
               ],
               "Condition": {
                   "StringEquals": {
                       "SAML:aud": "https://signin.aws.amazon.com/saml"
                   }
               }
           }
       ]
   }
   ```

------

将 `IDENTITY-PROVIDER` 替换为在步骤 1 中创建的 SAML IdP 的名称。然后选择**更新信任策略**。

## 步骤 3：为 IAM 角色嵌入内联策略
<a name="embed-inline-policy"></a>

接下来为您创建的角色嵌入内联 IAM 策略。嵌入内联策略时，策略中的权限不能意外分配给错误的主体实体。内联策略为联合用户提供了对 WorkSpaces 目录的访问权限。

**重要**  
该`workspaces:Stream`操作不支持 Amazon 根据源 IP 管理访问权限的 IAM 策略。要管理的 IP 访问控制 WorkSpaces，请使用 [IP 访问控制组](https://docs.amazonaws.cn/workspaces/latest/adminguide/amazon-workspaces-ip-access-control-groups.html)。此外，在使用 SAML 2.0 身份验证时，您可在 SAML 2.0 IdP 提供 IP 访问控制策略时使用此类策略。

1. 在您创建的 IAM 角色的详细信息中，选择**权限**选项卡，然后向该角色的权限策略添加所需的权限。**创建策略向导**将启动。

1. 在 **Create policy (创建策略)** 中，选择 **JSON** 选项卡。

1. 将以下 JSON 策略复制并粘贴到 JSON 窗口中。然后，通过输入您的 Amazon 区域代码、账户 ID 和目录 ID 来修改资源。在以下策略中，`"Action": "workspaces:Stream"`是向您的 WorkSpaces 用户提供在 WorkSpaces 目录中连接到其桌面会话的权限的操作。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "workspaces:Stream",
               "Resource": "arn:aws:workspaces:us-east-1:123456789012:directory/DIRECTORY-ID",
               "Condition": {
                   "StringEquals": {
                       "workspaces:userId": "${saml:sub}"
                   }
               }
           }
       ]
   }
   ```

------

   `REGION-CODE`替换为您的 WorkSpaces目录所在的 Amazon 区域。`DIRECTORY-ID`替换为 WorkSpaces 目录 ID，可在 WorkSpaces 管理控制台中找到。对于 Amazon GovCloud （美国西部）或 Amazon GovCloud （美国东部）中的资源，请使用以下格式的 ARN：。`arn:aws-us-gov:workspaces:REGION-CODE:ACCOUNT-ID-WITHOUT-HYPHENS:directory/DIRECTORY-ID`

1. 完成后，选择 **Review policy (审核策略)**。[策略验证程序](https://docs.amazonaws.cn/IAM/latest/UserGuide/access_policies_policy-validator.html)将报告任何语法错误。

## 步骤 4：配置 SAML 2.0 身份提供者
<a name="configure-saml-id-provider"></a>

接下来，根据您的 SAML 2.0 IdP，您可能需要通过将文件上传到 IdP 来手动更新您[https://signin.aws.amazon.com/static/的](https://signin.aws.amazon.com/static/saml-metadata.xml) IdP，使其成为 Amazon 值得信赖`saml-metadata.xml`的服务提供商。saml-metadata.xml 此步骤会更新您的 IdP 的元数据。对于某些人来说 IdPs，更新可能已经配置好了。如果是这样，请继续下一步。

如果您的 IdP 中尚未配置此更新，请查看您的 IdP 提供的文档，了解有关如何更新元数据的信息。一些提供商为您提供了键入 URL 并由 IdP 获取并安装该文件的选项。另一些提供商则要求您从该 URL 处下载该文件，然后将其作为本地文件提供。

**重要**  
此时，您还可以授权 IdP 中的用户访问您在 IdP 中配置的 WorkSpaces应用程序。有权访问您的目录 WorkSpaces 应用程序的用户不会自动为他们 WorkSpace 创建一个。同样，为其 WorkSpace 创建的用户也不会自动获得访问该 WorkSpaces 应用程序的权限。要成功连接 WorkSpace 使用 SAML 2.0 身份验证，用户必须获得 IdP 的授权并且必须已 WorkSpace创建。

**注意**  
如果您的最终用户在使用相同的 SAML 2.0 身份提供商 (IdP) 时经常在多个不同的 WorkSpaces 用户身份之间切换，请确保将 IdP 配置为在每次登录尝试时强制进行身份验证 ForceAuthn ()。这可以防止您的 IdP 重复使用现有 SSO 会话，否则当您的用户切换到另一个 SSO 会话时，这可能会导致身份验证失败。 WorkSpace有关启用 ForceAuthn （或等效）设置的指导，请参阅您的 IdP 文档。

## 步骤 5：为 SAML 身份验证响应创建断言
<a name="create-assertions-saml-auth"></a>

接下来，将您的 IdP 发送到的信息配置 Amazon 为身份验证响应中的 SAML 属性。根据您的 IdP，此配置已完成，跳过此步骤，并继续执行[步骤 6：配置联合身份验证的中继状态](https://docs.amazonaws.cn/workspaces/latest/adminguide/setting-up-saml.html#configure-relay-state)。

如果您的 IdP 中尚未配置此信息，请提供以下内容：
+ **SAML 主题 NameID** – 登录用户的唯一标识符。该值必须与 WorkSpaces 用户名相匹配，并且通常是 **Active Directory 用户的 “AMAccount名称**” 属性。
+ **SAML 主题类型**（值设为 `persistent`）– 将值设为 `persistent` 可确保在来自特定用户的所有 SAML 请求中，您的 IdP 会为 `NameID` 元素发送相同的唯一值。请确保您的 IAM 策略包含一个条件，仅允许将 SAML sub\$1type 设置为 `persistent` 的 SAML 请求（如[步骤 2：创建 SAML 2.0 联合身份验证 IAM 角色](https://docs.amazonaws.cn/appstream2/latest/developerguide/external-identity-providers-setting-up-saml.html#external-identity-providers-grantperms)中所述）。
+ **将 `Name` 属性设置为 `https://aws.amazon.com/SAML/Attributes/Role` 的 `Attribute` 元素** - 此元素中包含一个或多个 `AttributeValue` 元素，以列出您的 IdP 将用户映射到哪个 IAM 角色和 SAML IdP。角色和 IdP 以逗号分隔的一对指定。 ARNs预期值的一个示例是 `arn:aws:iam::ACCOUNTNUMBER:role/ROLENAME,arn:aws:iam::ACCOUNTNUMBER:saml-provider/PROVIDERNAME`。
+ **`Attribute``Name`属性设置为的元素 `https://aws.amazon.com/SAML/Attributes/RoleSessionName`** — 此元素包含一个元素，该`AttributeValue`元素为为 SSO 颁发的 Amazon 临时证书提供标识符。`AttributeValue` 元素中的值长度必须介于 2 到 64 个字符之间，只能包含字母数字字符、下划线和以下字符：**\$1 . : / = \$1 - @**。它不能包含空格。该值通常是电子邮件地址或用户主体名 (UPN)。该值不应包含空格，如用户的显示名称。
+ **将 `Name` 属性设置为 `https://aws.amazon.com/SAML/Attributes/PrincipalTag:Email` 的 `Attribute` 元素** - 此元素包含一个可提供用户电子邮件地址的 `AttributeValue` 元素。该值必须与 WorkSpaces 目录中定义的 WorkSpaces 用户电子邮件地址相匹配。标签值可能包括字母、数字、空格和 **\$1 . : / = \$1 - @** 字符的组合。有关更多信息，请参阅《IAM 用户指南》**中的[标记 IAM 用户和 Amazon STS的规则](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_tags.html#id_tags_rules)。
+ **将 `Name` 属性设置为 `https://aws.amazon.com/SAML/Attributes/PrincipalTag:UserPrincipalName` 的 `Attribute` 元素（可选）** - 此元素包含一个为登录用户提供 Active Directory `userPrincipalName` 的 `AttributeValue` 元素。必须采用 `username@domain.com` 格式提供该值。此参数与基于证书的身份验证一起使用，作为最终用户证书中的主题备用名称。有关更多信息，请参阅基于证书的身份验证。
+ **将 `Name` 属性设置为 `https://aws.amazon.com/SAML/Attributes/PrincipalTag:ObjectSid` 的 `Attribute` 元素（可选）** - 此元素包含一个为登录用户提供 Active Directory 安全标识符 (SID) 的 `AttributeValue` 元素。此参数与基于证书的身份验证一起使用，以启用到 Active Directory 用户的强映射。有关更多信息，请参阅基于证书的身份验证。
+ **将 `Name` 属性设置为 `https://aws.amazon.com/SAML/Attributes/PrincipalTag:ClientUserName` 的 `Attribute` 元素（可选）** - 此元素包含一个提供备用用户名格式的 `AttributeValue` 元素。如果您的用例需要用户名格式（例如`corp\username`、或）`username@corp.example.com`才能使用 WorkSpaces 客户端登录`corp.example.com\username`，请使用此属性。标签键和值可以包含字母、数字、空格以及 **\$1 : / . \$1 = @ -** 字符的任意组合。有关更多信息，请参阅《IAM 用户指南》**中的[标记 IAM 用户和 Amazon STS的规则](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_tags.html#id_tags_rules)。要声明 `corp\username` 或 `corp.example.com\username` 格式，请将 SAML 断言中的 **\$1** 替换为 **/**。
+ **`Attribute``Name`属性设置为 At https://aws.amazon.com/SAML/ tributes/: DomainPrincipalTag（可选）的元素 —** 此元素包含一个为登录用户提供 Active Directory DNS 完全限定域名 (FQDN) 的元素`AttributeValue`。当用户的 Active Directory `userPrincipalName` 包含备用后缀时，此参数用于基于证书的身份验证。必须采用 `domain.com` 提供该值，包括所有子域名。
+ **`Attribute``Name`属性设置为 A https://aws.amazon.com/SAML/ ttributes/SessionDuration（可选）的元素** — 此元素包含一个`AttributeValue`元素，用于指定在要求重新进行身份验证之前，用户的联合流媒体会话可以保持活动状态的最长时间。默认值为 3600 秒（60 分钟）。有关更多信息，请参阅 [SAML `SessionDurationAttribute`](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html#saml_role-session-duration)。
**注意**  
虽然 `SessionDuration` 是一个可选属性，但建议您将该属性包含在 SAML 响应中。如果您未指定此属性，则会话持续时间将设置为默认值 3600 秒（60 分钟）。 WorkSpaces 桌面会话将在会话持续时间到期后断开连接。

有关如何配置这些元素的更多信息，请参阅《IAM 用户指南》**中的[为身份验证响应配置 SAML 断言](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html)。有关 IdP 的具体配置要求的信息，请参阅 IdP 的文档。

## 步骤 6：配置联合身份验证的中继状态
<a name="configure-relay-state"></a>

接下来，使用您的 IdP 将联盟的中继状态配置为指向 WorkSpaces 目录中继状态 URL。成功通过身份验证后 Amazon，用户将被定向到 WorkSpaces 目录端点，该终端节点在 SAML 身份验证响应中定义为中继状态。

以下为中继状态 URL 格式：

```
https://relay-state-region-endpoint/sso-idp?registrationCode=registration-code
```

根据您的 WorkSpaces 目录注册码和与您的目录所在区域关联的中继状态端点构建您的中继状态 URL。可以在 WorkSpaces 管理控制台中找到注册码。

或者，如果您使用跨区域重定向 WorkSpaces，则可以将注册代码替换为与主区域和故障转移区域中的目录关联的完全限定域名 (FQDN)。有关更多信息，请参阅 [Amazon 的跨区域重定向](https://docs.amazonaws.cn/workspaces/latest/adminguide/cross-region-redirection.html)。 WorkSpaces使用跨区域重定向和 SAML 2.0 身份验证时，需要使用与每个区域关联的中继状态端点，为 SAML 2.0 身份验证启用主目录和故障转移目录，并使用 IdP 进行独立配置。这将允许用户在登录前注册其 WorkSpaces 客户端应用程序时正确配置 FQDN，并允许用户在故障转移事件期间进行身份验证。

下表列出了可用 WorkSpaces SAML 2.0 身份验证的区域的中继状态端点。


**支持 WorkSpaces SAML 2.0 身份验证的区域**  

| Region | 中继状态端点 | 
| --- | --- | 
| 美国东部（弗吉尼亚州北部）区域 | [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/workspaces/latest/adminguide/setting-up-saml.html) | 
| 美国西部（俄勒冈州）区域 | [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/workspaces/latest/adminguide/setting-up-saml.html) | 
| 非洲（开普敦）区域 | workspaces.euc-sso.af-south-1.aws.amazon.com | 
| 亚太地区（孟买）区域 | workspaces.euc-sso.ap-south-1.aws.amazon.com | 
| 亚太地区（首尔）区域 | workspaces.euc-sso.ap-northeast-2.aws.amazon.com | 
| 亚太地区（新加坡）区域 | workspaces.euc-sso.ap-southeast-1.aws.amazon.com | 
| 亚太地区（悉尼）区域 | workspaces.euc-sso.ap-southeast-2.aws.amazon.com | 
| 亚太地区（东京）区域 | workspaces.euc-sso.ap-northeast-1.aws.amazon.com | 
| 加拿大（中部）区域 | workspaces.euc-sso.ca-central-1.aws.amazon.com | 
| 欧洲地区（法兰克福）区域 | workspaces.euc-sso.eu-central-1.aws.amazon.com | 
| 欧洲地区（爱尔兰）区域 | workspaces.euc-sso.eu-west-1.aws.amazon.com | 
| 欧洲地区（伦敦）区域 | workspaces.euc-sso.eu-west-2.aws.amazon.com | 
| 南美洲（圣保罗）区域 | workspaces.euc-sso.sa-east-1.aws.amazon.com | 
| 以色列（特拉维夫）区域 | workspaces.euc-sso.il-central-1.aws.amazon.com | 
| Amazon GovCloud （美国西部） |  [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/workspaces/latest/adminguide/setting-up-saml.html)  有关更多信息，请参阅 *Amazon GovCloud （美国）用户指南 WorkSpaces*中的 [Amazon](https://docs.amazonaws.cn/govcloud-us/latest/UserGuide/govcloud-workspaces.html)。   | 
| Amazon GovCloud （美国东部） |  [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/workspaces/latest/adminguide/setting-up-saml.html)  有关更多信息，请参阅 *Amazon GovCloud （美国）用户指南 WorkSpaces*中的 [Amazon](https://docs.amazonaws.cn/govcloud-us/latest/UserGuide/govcloud-workspaces.html)。   | 

通过身份提供者（IdP）发起的流，您可以选择指定要用于 SAML 2.0 联合身份验证的客户端。为此，请在中继状态 URL 的末尾、`&client=` 后面指定 `native` 或 `web`。在中继状态 URL 中指定参数时，相应的会话将自动在指定的客户端中启动。

## 步骤 7：在您的 WorkSpaces 目录上启用与 SAML 2.0 的集成
<a name="enable-integration-saml"></a>

您可以使用 WorkSpaces 控制台在 WorkSpaces 目录上启用 SAML 2.0 身份验证。

**启用与 SAML 2.0 的集成**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.amazonaws.cn/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择**目录**。

1. 选择您的 “目录 ID” WorkSpaces。

1. 在**身份验证**下，选择**编辑**。

1. 选择**编辑 SAML 2.0 身份提供者**。

1. 选中**启用 SAML 2.0 身份验证**。

1. 对于**用户访问 URL** 和 **IdP 深层链接参数名称**，输入适用于您 IdP 和您在步骤 1 中配置的应用程序的值。如果您省略此参数，则 IdP 深度链接参数名称的默认值RelayState为 “”。下表列出了应用程序的各种身份提供者所独有的用户访问 URL 和参数名称。  
**要添加到允许列表的域和 IP 地址**    
[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/workspaces/latest/adminguide/setting-up-saml.html)

   用户访问 URL 通常由提供者针对未经请求的 IdP 发起的 SSO 定义。用户可以在 Web 浏览器中输入此 URL，以直接与 SAML 应用程序联合。要测试 IdP 的用户访问 URL 和参数值，请选择**测试**。将测试 URL 复制并粘贴到当前浏览器或其他浏览器的私有窗口，以便在不中断当前 Amazon 管理控制台会话的情况下测试 SAML 2.0 登录。当 IDP 启动的流程打开时，您可以注册您的 WorkSpaces 客户端。有关更多信息，请参阅[身份提供者 (IdP) 启动的流程](https://docs.amazonaws.cn/workspaces/latest/adminguide/amazon-workspaces-saml.html)。

1. 通过选中或取消选中**允许不支持 SAML 2.0 的客户端登录**，管理回退设置。启用此设置可继续为用户提供 WorkSpaces 使用不支持 SAML 2.0 的客户端类型或版本的访问权限，或者如果用户需要时间升级到最新的客户端版本。
**注意**  
此设置允许用户绕过 SAML 2.0 和使用旧版客户端通过目录身份验证进行的登录。

1. 要将 SAML 与 Web 客户端一起使用，请启用 Web Access。有关更多信息，请参阅[启用和配置 Amazon WorkSpaces Web Access](https://docs.amazonaws.cn/workspaces/latest/adminguide/web-access.html)。
**注意**  
PCoWeb 访问不支持带有 SAML 的 IP。

1. 选择**保存**。您的 WorkSpaces 目录现已启用 SAML 2.0 集成。您可以使用 IdP 启动的流程和客户端应用程序启动的流程来注册 WorkSpaces 客户端应用程序并登录。 WorkSpaces

# 基于证书的身份验证和个人 WorkSpaces
<a name="certificate-based-authentication"></a>

您可以使用基于证书的身份验证 WorkSpaces 来移除用户输入 Active Directory 域密码的提示。通过对您的 Active Directory 域使用基于证书的身份验证，您可以：
+ 依靠您的 SAML 2.0 身份提供商对用户进行身份验证，并提供 SAML 断言以匹配 Active Directory 中的用户。
+ 使用更少的用户提示启用单点登录体验。
+ 使用 SAML 2.0 身份提供商启用无密码身份验证流程。

基于证书的身份验证使用您Amazon 私有 CAAmazon账户中的资源。 Amazon 私有 CA允许创建私有证书颁发机构 (CA) 层次结构，包括根和从属 CAs结构。使用Amazon 私有 CA，您可以创建自己的 CA 层次结构，并使用它颁发证书，用于对内部用户进行身份验证。有关更多信息，请参阅 [Amazon 私有证书颁发机构《用户指南》](https://docs.amazonaws.cn/privateca/latest/userguide/PcaWelcome.html)。

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

使用最新的 WorkSpaces Web Access、Windows 和 macOS 客户端应用程序的 DCV 捆绑包 WorkSpaces 上的 Windows 支持基于证书的身份验证。打开 Amazon WorkSpaces [客户端下载](https://clients.amazonworkspaces.com/)以查找最新版本：
+ Windows 客户端 5.5.0 或更高版本
+ macOS 客户端 5.6.0 或更高版本

有关使用 Amazon 配置基于证书的身份验证的更多信息 WorkSpaces，请参阅[如何为 Amazon 配置基于证书的身份验证 WorkSpaces](https://www.amazonaws.cn/blogs/desktop-and-application-streaming/how-to-configure-certificate-based-authentication-for-amazon-workspaces/)和[在高度监管的环境中使用应用程序进行基于证书的身份验证的设计注意事项](https://www.amazonaws.cn/blogs/desktop-and-application-streaming/design-considerations-in-highly-regulated-environments-for-certificate-based-authentication-with-appstream-2-0-workspaces/)以及。 WorkSpaces WorkSpaces

## 先决条件
<a name="cert-based-auth-prerequesites"></a>

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

1. 使用 SAML 2.0 集成配置您的 WorkSpaces 目录，以使用基于证书的身份验证。有关更多信息，请参阅[与 SAML 2.0 WorkSpaces 集成](https://docs.amazonaws.cn/workspaces/latest/adminguide/amazon-workspaces-saml.html)。

1. 在 SAML 断言中配置 `userPrincipalName` 属性。有关更多信息，请参阅[为 SAML 身份验证响应创建断言](https://docs.amazonaws.cn/workspaces/latest/adminguide/setting-up-saml.html#create-assertions-saml-auth)。

1. 在 SAML 断言中配置 `ObjectSid` 属性。这是对 Active Directory 用户执行强映射所必须的属性。如果该属性与 SAML\$1Subject `NameID` 中指定的用户的 Active Directory 安全标识符 (SID) 不匹配，则基于证书的身份验证将失败。有关更多信息，请参阅[为 SAML 身份验证响应创建断言](https://docs.amazonaws.cn/workspaces/latest/adminguide/setting-up-saml.html#create-assertions-saml-auth)。
**注意**  
根据[微软 KB5 014754](https://support.microsoft.com/en-us/topic/kb5014754-certificate-based-authentication-changes-on-windows-domain-controllers-ad2c23b0-15d8-4340-a468-4d4f3b188f16) 的说法，在 2025 年 9 月 10 日之后，该`ObjectSid`属性将成为基于证书的身份验证的必备属性。

1. 将 [sts: TagSession](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_session-tags.html) 权限添加到用于 SAML 2.0 配置的 IAM 角色信任策略（如果尚未存在）。使用基于证书的身份验证时需要此权限。有关更多信息，请参阅[创建 SAML 2.0 联合身份验证 IAM 角色](https://docs.amazonaws.cn/workspaces/latest/adminguide/setting-up-saml.html#create-saml-iam-role)。

1. Amazon 私有 CA如果您的 Active Directory 中没有配置私有证书颁发机构 (CA)，请使用创建私有证书颁发机构 (CA)。 Amazon 私有 CA必须使用基于证书的身份验证。有关更多信息，请参阅[规划Amazon 私有 CA部署并](https://docs.amazonaws.cn/privateca/latest/userguide/PcaPlanning.html)按照指南为基于证书的身份验证配置 CA。以下Amazon 私有 CA设置是基于证书的身份验证用例中最常见的设置：

   1. CA 类型选项：

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

      1. 带有根 CA 的单级层次结构（或者，在希望与现有 CA 层次结构集成时选择从属 CA）

   1. 密钥算法选项：RSA 2048

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

   1. 证书吊销选项：CRL 分发
**注意**  
基于证书的身份验证需要一个可从桌面和域控制器访问的在线 CRL 分发点。这需要对为私有 CA CRL 条目配置的 Amazon S3 存储桶进行未经身份验证的访问权限，或者如果 CloudFront分配阻止公开访问，则该分配将有权访问 S3 存储桶。有关这些选项的更多信息，请参阅[计划证书吊销列表 (CRL)](https://docs.amazonaws.cn/privateca/latest/userguide/crl-planning.html#s3-bpa)。

1. 使用名为 `euc-private-ca` 的键标记您的私有 CA，以指定该 CA 用于 EUC 基于证书的身份验证。该键不需要值。有关更多信息，请参阅[管理私有 CA 的标签](https://docs.amazonaws.cn/privateca/latest/userguide/PcaCaTagging.html)。

1. 基于证书的身份验证使用虚拟智能卡进行登录。按照 Active Directory 中[使用第三方证书颁发机构启用智能卡登录的指导原则](https://learn.microsoft.com/en-us/troubleshoot/windows-server/windows-security/enabling-smart-card-logon-third-party-certification-authorities)，执行以下步骤：
   + 使用域控制器证书配置域控制器，以对智能卡用户进行身份验证。如果您在 Active Directory 中配置了 Active Directory 证书服务企业 CA，则系统会自动使用启用智能卡登录的证书注册域控制器。如果您没有 Active Directory 证书服务，请参阅[对第三方 CA 的域控制器证书的要求](https://learn.microsoft.com/en-US/troubleshoot/windows-server/windows-security/requirements-domain-controller)。您可以使用 Amazon 私有 CA 创建域控制器证书。如果这样做，请不要使用为短期证书配置的私有 CA。
**注意**  
如果您正在使用Amazon Managed Microsoft AD，则可以在 EC2 实例上配置证书服务以满足域控制器证书的要求。有关Amazon Managed Microsoft AD配置[Amazon Launch Wizard](https://docs.amazonaws.cn/launchwizard/latest/userguide/launch-wizard-ad-deploying-new-vpc.html)了 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 子网和安全组](https://docs.amazonaws.cn/directoryservice/latest/admin-guide/ms_ad_tutorial_setup_trust_prepare_mad.html#tutorial_setup_trust_open_vpc)。
   + 在Amazon 私有 CA控制台上或使用 SDK 或 CLI，选择您的 CA，然后在 CA 证书下导出 CA 私有证书。有关更多信息，请参阅[导出私有证书](https://docs.amazonaws.cn/acm/latest/userguide/export-private.html)。
   + 将 CA 发布到 Active Directory。登录到域控制器或已加入域的计算机。将私有 CA 证书复制到任意 `<path>\<file>`，然后以域管理员身份运行以下命令。或者，你可以使用组策略和 Microsoft PKI Health Tool (PKIView) 工具发布 CA。有关更多信息，请参阅[配置说明](https://learn.microsoft.com/en-us/troubleshoot/windows-server/windows-security/enabling-smart-card-logon-third-party-certification-authorities#configuration-instructions)。

     ```
     certutil -dspublish -f <path>\<file> RootCA
     certutil -dspublish -f  <path>\<file> NTAuthCA
     ```

     确保命令成功完成，然后删除私有证书文件。根据 Active Directory 复制设置，CA 可能需要几分钟才能发布到您的域控制器和桌面实例。
**注意**  
当 WorkSpaces 台式机加入域时，Active Directory 必须自动将 CA 分发给受信任的根证书颁发机构和企业 NTAuth 存储。

## 启用基于证书的身份验证
<a name="enable-cert-based-auth"></a>

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

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.amazonaws.cn/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择**目录**。

1. 选择您的目录 ID WorkSpaces。

1. 在**身份验证**下，单击**编辑**。

1. 单击**编辑基于证书的身份验证**。

1. 选中**启用基于证书的身份验证**。

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

1. 单击 **Save Changes**（保存更改）。基于证书的身份验证现已启用。

1. 重启你的 Windows WorkSpaces on DCV 捆绑包以使更改生效。有关更多信息，请参阅[重启 a WorkSpace](https://docs.amazonaws.cn/workspaces/latest/adminguide/reboot-workspaces.html)。

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

**注意**  
启用基于证书的身份验证登录时，即使在目录中启用了多重身份验证 (MFA) WorkSpaces，也不会提示用户进行多重身份验证 (MFA)。使用基于证书的身份验证时，可以通过 SAML 2.0 身份提供商启用 MFA。有关 Amazon Directory Service MFA 的更多信息，请参阅[多重身份验证 (AD Connector) 或为[启用多](https://docs.amazonaws.cn/directoryservice/latest/admin-guide/ms_ad_mfa.html#supportedamazonapps)因素身份验证](https://docs.amazonaws.cn/directoryservice/latest/admin-guide/ms_ad_mfa.html)。Amazon Managed Microsoft AD

## 管理基于证书的身份验证
<a name="manage-cert-based-auth"></a>

**CA 证书**  
在典型配置中，私有 CA 证书的有效期为 10 年。有关更换证书过期的 CA 或重新颁发具有新有效期的 CA 的更多信息，请参阅[管理私有 CA 生命周期](https://docs.amazonaws.cn/privateca/latest/userguide/ca-lifecycle.html)。

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

**审核报告**  
您可以创建审核报告，以列出您的私有 CA 已颁发和吊销的所有证书。有关更多信息，请参阅[将审核报告与私有 CA 结合使用](https://docs.amazonaws.cn/privateca/latest/userguide/PcaAuditReport.html)。

**日志记录和监控**  
您可以使用[Amazon CloudTrail](https://docs.amazonaws.cn/awscloudtrail/latest/userguide/)来记录对 by 的 API 调Amazon 私有 CA用 WorkSpaces。有关更多信息，请参阅[使用 CloudTrail](https://docs.amazonaws.cn/privateca/latest/userguide/PcaCtIntro.html)。在[CloudTrail事件历史记录](https://docs.amazonaws.cn/awscloudtrail/latest/userguide/view-cloudtrail-events.html)中`GetCertificate`，`IssueCertificate`您可以查看由 WorkSpaces`EcmAssumeRoleSession`用户名`acm-pca.amazonaws.com`创建的事件源中的事件名称。每个 EUC 基于证书的身份验证请求都将记录这些事件。

## 启用跨账户 PCA 共享
<a name="enable-pca-sharing"></a>

 当您使用私有 CA 跨账户共享时，您可以向其他账户授予使用集中式 CA 的权限，这样就无需在每个账户中都使用私有 CA。通过使用 [Amazon Resource Access Manager](https://www.amazonaws.cn/ram/) 来管理权限，该 CA 可以生成和颁发证书。私有 CA 跨账户共享可在同一区域内与 WorkSpaces 基于证书的身份验证 (CBA) 一起使用。Amazon

**与 CBA 一起使用共享的私有 WorkSpaces CA 资源**

1. 在集中Amazon账户中配置 CBA 的私有 CA。有关更多信息，请参阅 [基于证书的身份验证和个人 WorkSpaces](#certificate-based-authentication)。

1.  按照[如何使用 Amazon RAM 跨Amazon账户共享 ACM 私有 CA 中的步骤，与 WorkSpaces 资源使用 CBA 的资源账户共享私有 CA](https://www.amazonaws.cn/blogs/security/how-to-use-aws-ram-to-share-your-acm-private-ca-cross-account/)。您无需完成步骤 3 来创建证书。您可以与个人Amazon账户共享私有 CA，也可以通过 Organizations Amazon 共享。要与个人账户共享，您需要使用资源访问管理器 (RAM) 控制台或接受资源账户中的共享私有 CA APIs。在配置共享时，请确认资源账户中私有 CA 的 RAM 资源共享使用的是 `AmazonRAMBlankEndEntityCertificateAPICSRPassthroughIssuanceCertificateAuthority` 托管权限模板。此模板与 WorkSpaces 服务角色在颁发 CBA 证书时使用的 PCA 模板一致。

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

1. 使用 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>
   ```

# 访问加入 Microsoft Entra ID 的 WorkSpaces 个人版
<a name="access-entra-id"></a>

您可以创建加入 Microsoft Entra ID 并注册到 Intune 的 Windows 10 或 11 BYOL 个人版 WorkSpaces。有关更多详细信息，请参阅 [使用个人版创建专用的 Microsoft Entra ID 目录 WorkSpaces](launch-entra-id.md)。

## 身份验证工作流
<a name="authentication-workflow-entra"></a>

以下各节描述了由 WorkSpaces 客户端应用程序、WorkSpaces Web Access、SAML 2.0 身份提供者（IdP）和 Microsoft Entra ID 启动的身份验证工作流：
+ 当工作流由 IdP 启动时。例如，当用户使用 Web 浏览器在 Entra ID 用户门户中选择应用程序时。
+ 当工作流由 WorkSpaces 客户端启动时。例如，当用户打开客户端应用程序并登录时。

在这些示例中，用户输入 `user@example.onmicrosoft.com` 以登录 IdP。在 Entra ID 上，系统将企业应用程序配置为与 IAM Identity Center 相集成。用户在使用 IAM Identity Center 作为身份源连接到 Entra ID 租户的目录中创建自己的用户名所对应的 WorkSpace。此外，用户在自己的设备上安装 [WorkSpaces 客户端应用程序](https://clients.amazonworkspaces.com/)，或者用户在 Web 浏览器中使用 Web Access。

**由身份提供者 (IdP) 启动的客户端应用程序流**

IdP 启动的流允许用户在其设备上自动注册 WorkSpaces 客户端应用程序，而无需输入 WorkSpaces 注册码。用户不会使用 IdP 启动的流登录其 WorkSpaces。WorkSpaces 身份验证必须源自客户端应用程序。

1. 用户使用其 Web 浏览器登录 IdP（Microsoft Entra ID）。

1. 登录 IdP 后，用户从 IdP 用户门户中选择 Amazon IAM Identity Center 应用程序。

1. 系统在浏览器中将用户重定向到 Amazon 访问门户。然后，用户选择 WorkSpaces 图标。

1. 系统将用户重定向到下一页，并自动打开 WorkSpaces 客户端应用程序。如果客户端应用程序未自动打开，请选择**打开 Amazon WorkSpaces 应用程序**。  
![\[打开 WorkSpaces 应用程序重定向页面\]](http://docs.amazonaws.cn/workspaces/latest/adminguide/images/saml-redir.png)

1. WorkSpaces 客户端应用程序现已注册，用户可以单击**继续登录 WorkSpaces**，以继续登录。

**由 WorkSpaces 客户端启动的流**

客户端启动的流允许用户在登录 IdP 后登录其 WorkSpaces。

1. 用户启动 WorkSpaces 客户端应用程序（如果尚未运行），然后单击**继续登录 WorkSpaces**。

1. 系统会将用户重定向到其默认 Web 浏览器以登录 IdP。如果用户已经在浏览器中登录 IdP，则无需再次登录，可以跳过此步骤。

1. 登录 IdP 后，系统会将用户重定向到弹出窗口。按照提示允许您的 Web 浏览器打开客户端应用程序。

1. 系统在 Windows 登录屏幕上将用户重定向到 WorkSpaces 客户端应用程序。

1. 用户使用自己的 Entra ID 用户名和凭证登录到 Windows。

## 新用户体验
<a name="first-time-entra"></a>

如果您是首次登录加入 Microsoft Entra ID 的 Windows WorkSpaces，则必须体验开箱即用体验（OOBE）。在 OOBE 期间，WorkSpaces 会加入到 Entra ID。您可以通过配置分配给您为 WorkSpaces 创建的 Microsoft Intune 设备组的 Autopilot 配置文件，来自定义 OOBE 体验。有关更多信息，请参阅 [步骤 3：配置 Windows Autopilot 用户驱动模式](launch-entra-id.md#entra-step-3)。

# 在 “个人” 中 WorkSpaces 使用智能卡进行身份验证
<a name="smart-cards"></a>

DCV 捆绑包 WorkSpaces 上的 Windows 和 Linux 允许使用[通用访问卡 (CAC)](https://www.cac.mil/Common-Access-Card) 和[个人身份验证 (PIV)](https://www.idmanagement.gov/university/piv/) 智能卡进行身份验证。

Amazon WorkSpaces 支持使用智能卡进行*会话前身份验证和会话*中*身份验证*。会话前身份验证是指在用户登录时执行的智能卡身份验证。 WorkSpaces会话中身份验证是指登录后执行的身份验证。

例如，在使用 Web 浏览器和应用程序时，用户可以使用智能卡进行会话中身份验证。他们也可以使用智能卡执行需要管理权限的操作。例如，如果用户拥有其 Linux 的管理权限 WorkSpace，则他们可以在运行`sudo`和`sudo -i`命令时使用智能卡进行身份验证。

**Topics**
+ [要求](#smart-cards-requirements)
+ [限制](#smart-cards-limitations)
+ [目录配置](#smart-cards-directory-config)
+ [启用适用于 Windows 的智能卡 WorkSpaces](#smart-cards-windows-workspaces)
+ [为 Ubuntu、Rocky Linux 和红帽企业 Linux 启用智能卡 WorkSpaces](#smart-cards-linux-workspaces)
+ [为亚马逊 Linux 2 启用智能卡 WorkSpaces](#smart-cards-amazon-linux-workspaces)

## 要求
<a name="smart-cards-requirements"></a>
+ 会话前身份验证需要 Active Directory Connector (AD Connector) 目录。AD Connector 使用基于证书的相互传输层安全行协议身份验证（相互 TLS），通过基于硬件或软件的智能卡证书对 Active Directory 的用户进行身份验证。有关如何配置 AD Connector 和本地目录的更多信息，请参阅[目录配置](#smart-cards-directory-config)。
+ 要在 Windows 或 Linux 上使用智能卡 WorkSpace，用户必须使用亚马逊 WorkSpaces Windows 客户端版本 3.1.1 或更高版本、mac WorkSpaces OS 客户端版本 3.1.5 或更高版本，或 Ubuntu 22.04 客户端版本 2024.1 WorkSpaces 或更高版本（Ubuntu 20.04 客户端不支持智能卡身份验证）。 WorkSpaces 有关在 Windows 和 macOS 客户端上使用智能卡的更多信息，请参阅*亚马逊 WorkSpaces 用户*指南中的[智能卡支持](https://docs.amazonaws.cn/workspaces/latest/userguide/smart_card_support.html)。
+ 根 CA 和智能卡证书必须满足某些要求。有关更多信息，请参阅《Amazon Directory Service 管理指南》**中的[在 AD Connector 中启用 mTLS 身份验证以用于智能卡](https://docs.amazonaws.cn/directoryservice/latest/admin-guide/ad_connector_clientauth.html)以及 Microsoft 文档中的[证书要求](https://docs.microsoft.com/en-us/windows/security/identity-protection/smart-cards/smart-card-certificate-requirements-and-enumeration#certificate-requirements)。

  除这些要求外，用于向 Amazon 进行智能卡身份验证的用户证书还 WorkSpaces 必须包含以下属性：
  + 证书 userPrincipalName (SAN) 字段中的 AD 用户 subjectAltName (UPN)。建议为用户的默认 UPN 颁发智能卡证书。
**注意**  
亚马逊 Linux 2 WorkSpaces 依靠 UPN 进行 certificate-to-user映射。较新的 Linux WorkSpaces，例如 Ubuntu、Rocky Linux 和红帽企业 Linux WorkSpaces，支持更安全的[映射](https://www.idmanagement.gov/implement/scl-windows/#step-4---account-linking)方法。
  + 客户端身份验证 (1.3.6.1.5.5.7.3.2) 扩展密钥使用 (EKU) 属性。
  + 智能卡登录 (1.3.6.1.4.1.311.20.2.2) EKU 属性。
+ 对于会话前身份验证，需要在线证书状态协议 (OCSP) 来检查证书吊销。对于会话中身份验证，建议使用 OCSP，但不是必需的。
**注意**  
默认情况下，Ubuntu WorkSpaces、Rocky Linux WorkSpaces 和 Red Hat Enterprise Linux WorkSpaces 需要 OCSP 进行会话内身份验证，而这些系统中的 OCSP 验证要求 OCSP 响应者启用 NONCE 扩展以防止重播攻击。要禁用 NONCE 扩展，必须完全禁用会话中 OCSP 验证。要在 Ubuntu、Rocky Linux 和红帽企业 Linux 中禁用 OCSP 验证 WorkSpaces，请创建一个`/etc/sssd/conf.d/disable-ocsp.conf`包含以下内容的新文件：  

  ```
  [sssd]
  certificate_verification = no_ocsp
  ```

## 限制
<a name="smart-cards-limitations"></a>
+ 目前仅支持 WorkSpaces Windows 客户端应用程序版本 3.1.1 或更高版本、mac WorkSpaces OS 客户端应用程序版本 3.1.5 或更高版本 WorkSpaces 以及 Ubuntu 22.04 客户端应用程序版本 2024.1 或更高版本。 WorkSpaces 智能卡身份验证不支持 Ubuntu 20.04 或更早版本的客户端应用程序。
+ 只有在 64 位版本的 WorkSpaces Windows 上运行时，Windows 客户端应用程序 3.1.1 或更高版本才支持智能卡。
+ 目前只支持 AD Connector 目录进行智能卡身份验证。
+ 会话中身份验证在所有支持 DCV 的区域均可用。以下区域提供会话前身份验证：
  + 亚太地区（悉尼）区域
  + 亚太地区（东京）区域
  + 欧洲地区（爱尔兰）区域
  + Amazon GovCloud （美国东部）区域
  + Amazon GovCloud （美国西部）区域
  + 美国东部（弗吉尼亚州北部）区域
  + 美国西部（俄勒冈州）区域
+ 对于 Linux 或 Windows 上的会话内身份验证和会话前身份验证 WorkSpaces，目前一次只能使用一张智能卡。可以同时使用多张卡，但不支持。
+ 对于会话前身份验证，目前不支持在同一目录上同时启用智能卡身份验证和登录身份验证。
+ 目前仅支持 CAC 和 PIV 卡。其他类型基于硬件或软件的智能卡也可能起作用，但它们尚未经过与 DCV 配合使用的全面测试。

## 目录配置
<a name="smart-cards-directory-config"></a>

要启用智能卡身份验证，必须按以下方式配置 AD Connector 目录和本地目录。

**AD Connector 目录配置**  
在开始之前，请确保您的 AD Connector 目录已按照《Amazon Directory Service 管理指南》**内 [AD Connector 先决条件](https://docs.amazonaws.cn/directoryservice/latest/admin-guide/prereq_connector.html)中所述进行设置。特别是，请确保您已在防火墙中打开必要的端口。

要完成 AD Connector 目录的配置，请按照《Amazon Directory Service 管理指南》**内[在 AD Connector 中启用 mTLS 身份验证以用于智能卡](https://docs.amazonaws.cn/directoryservice/latest/admin-guide/ad_connector_clientauth.html)中的说明进行操作。

**注意**  
智能卡身份验证需要 Kerberos 约束委托 (KCD) 才能正常运行。KCD 要求 AD Connector 服务帐户的用户名部分与同一用户的AMAccount名称相匹配。A 的AMAccount名称不能超过 20 个字符。

**本地目录配置**  
除了配置 AD Connector 目录外：
+ 确保向本地目录的域控制器颁发的证书设置了 “KDC 身份验证” 扩展密钥用法 (EKU)。为此，请使用 Active Directory 域服务 (AD DS) 默认 Kerberos 身份验证证书模板。请勿使用域控制器证书模板或域控制器身份验证证书模板，因为这些模板不包含智能卡身份验证所需的设置。
+ 对于 Linux WorkSpaces，请确保颁发智能卡证书的 CA 的 OCSP 响应器已启用 NONCE 扩展。如果无法启用，则必须在 Ubuntu、Rocky Linux 和红帽企业 Linux 中禁用会话中 OCSP 验证。 WorkSpaces要禁用 OCSP 验证，请创建一个`/etc/sssd/conf.d/disable-ocsp.conf`包含以下内容的新文件：

  ```
  [sssd]
  certificate_verification = no_ocsp
  ```

## 启用适用于 Windows 的智能卡 WorkSpaces
<a name="smart-cards-windows-workspaces"></a>

有关如何在 Windows 上启用智能卡身份验证的一般指南，请参阅 Microsoft 文档中[使用第三方证书颁发机构启用智能卡登录指南](https://docs.microsoft.com/troubleshoot/windows-server/windows-security/enabling-smart-card-logon-third-party-certification-authorities)。

**检测 Windows 锁屏并断开会话连接**  
要允许用户在屏幕锁定时解锁启用了智能卡会话前身份验证的 Window WorkSpaces s，可以在用户会话中启用 Windows 锁屏检测。检测到 Windows 锁屏后， WorkSpace 会话将断开，用户可以使用其智能卡从 WorkSpaces 客户端重新连接。

 您可以使用组策略设置，启用在检测到 Windows 锁屏时断开会话连接。有关更多信息，请参阅 [配置 DCV 屏幕锁定时断开会话连接](group_policy.md#gp_lock_screen_in_wsp)。

**启用会话内或会话前身份验证**  
默认情况下，Windows WorkSpaces 不支持使用智能卡进行会话前或会话中身份验证。如果需要，您可以使用组策略设置为 Windows WorkSpaces 启用会话中和会话前身份验证。有关更多信息，请参阅 [为 DCV 配置智能卡重定向](group_policy.md#gp_smart_cards_in_wsp)。

要使用会话前身份验证，除了更新组策略设置外，您还必须通过 AD Connector 目录设置启用会话前身份验证。有关更多信息，请按照《Amazon Directory Service 管理指南》**内[在 AD Connector 中启用 mTLS 身份验证以用于智能卡](https://docs.amazonaws.cn/directoryservice/latest/admin-guide/ad_connector_clientauth.html)中的说明进行操作。

**允许用户在浏览器中使用智能卡**  
如果您的用户使用 Chrome 作为浏览器，则无需进行特殊配置即可使用智能卡。

如果您的用户使用 Firefox 作为浏览器，则您可以通过组策略允许您的用户在 Firefox 中使用智能卡。您可以在中使用这些 [Firefox 组策略模板](https://github.com/mozilla/policy-templates/tree/master/windows)。 GitHub

例如，您可以安装适用于 Windows 的 64 位版本的 [OpenSC](https://github.com/OpenSC/OpenSC/wiki) 来支持 PKCS \$111，然后使用以下组策略设置，其中 `NAME_OF_DEVICE` 是您要用来标识 PKCS \$111 的任何值，例如 `OpenSC`，其中 `PATH_TO_LIBRARY_FOR_DEVICE` 是 PKCS \$111 模块的路径。此路径应指向扩展名为 .DLL 的库，例如 `C:\Program Files\OpenSC Project\OpenSC\pkcs11\onepin-opensc-pkcs11.dll`。

```
Software\Policies\Mozilla\Firefox\SecurityDevices\NAME_OF_DEVICE = PATH_TO_LIBRARY_FOR_DEVICE
```

**提示**  
如果您使用的是 OpenSC，也可以通过运行 `pkcs11-register.exe` 程序，将 OpenSC `pkcs11` 模块加载到 Firefox 中。要运行此程序，请双击 `C:\Program Files\OpenSC Project\OpenSC\tools\pkcs11-register.exe` 中的文件，或者打开命令提示符窗口并运行以下命令：  

```
"C:\Program Files\OpenSC Project\OpenSC\tools\pkcs11-register.exe"
```
要验证 OpenSC `pkcs11` 模块是否已加载到 Firefox 中，请执行以下操作：  
如果 Firefox 已经在运行，请将其关闭。
打开 Firefox。选择右上角的菜单按钮 ![\[Firefox menu button\]](http://docs.amazonaws.cn/workspaces/latest/adminguide/images/firefox-menu-button.png)，然后选择**选项**。
在**关于: 首选项**页面上，在左侧导航窗格中选择**隐私与安全**。
在**证书**下，选择**安全设备**。
在**设备管理器**对话框中，您应该在左侧导航栏中看到 **OpenSC 智能卡框架 (0.21)**，当您选择它时，它应该具有以下值：  
**模块**：`OpenSC smartcard framework (0.21)`  
**路径**：`C:\Program Files\OpenSC Project\OpenSC\pkcs11\onepin-opensc-pkcs11.dll`

**问题排查**  
有关排查智能卡问题的信息，请参阅 Microsoft 文档中的[证书和配置问题](https://docs.microsoft.com/troubleshoot/windows-server/windows-security/enabling-smart-card-logon-third-party-certification-authorities#certificate-and-configuration-problems)。

可能导致问题的一些常见问题：
+ 槽与证书的映射不正确。
+ 智能卡上有多个可以与用户匹配的证书。证书使用以下标准进行匹配：
  + 证书的根 CA。
  + 证书的 `<KU>` 和 `<EKU>` 字段。
  + 证书主题中的 UPN。
+ 多个证书的密钥用法中存在 `<EKU>msScLogin`。

通常，最好只有一个用于智能卡身份验证的证书，该证书映射到智能卡的第一个槽。

用于管理智能卡上的证书和密钥（例如删除或重新映射证书和密钥）的工具可能因制造商而异。有关更多信息，请参阅智能卡制造商提供的文档。

## 为 Ubuntu、Rocky Linux 和红帽企业 Linux 启用智能卡 WorkSpaces
<a name="smart-cards-linux-workspaces"></a>

要在 Ubuntu、Rocky Linux 和 Red Hat Enterprise Linux WorkSpaces 上启用智能卡，你需要在 WorkSpace 镜像中包含所有 CAs 发行智能卡和所有颁发域控制器证书的中间 CA 证书。 CAs 

**要获取 CA 证书：**您可以通过多种方式获取 CA 证书：
+ 您可以使用第三方证书颁发机构的 CA 证书包。
+ 您可以使用 Web 注册网站导出自己的 CA 证书，该网站是`http://ip_address/certsrv`或`http://fqdn/certsrv`，其中`ip_address`和`fqdn`是 CA 服务器的 IP 地址和完全限定域名 (FQDN)。有关使用 Web 注册网站的更多信息，请参阅 Microsoft 文档中的[如何导出根证书颁发机构证书](https://docs.microsoft.com/troubleshoot/windows-server/identity/export-root-certification-authority-certificate)。
+ 您可以使用以下步骤从运行 Active Directory 证书服务 (AD CS) 的 CA 服务器中导出 CA 证书。有关安装 AD CS 的信息，请参阅 Microsoft 文档中的[安装证书颁发机构](https://docs.microsoft.com/windows-server/networking/core-network-guide/cncg/server-certs/install-the-certification-authority)。

  1. 使用管理员帐户登录 CA 服务器。

  1. 在 Windows 的**开始**菜单中，打开命令提示符窗口（**开始** > **Windows 系统** > **命令提示符**）。

  1. 使用以下命令将 CA 证书导出到新文件中，其中`rootca.cer`是新文件的名称：

     ```
     certutil -ca.cert rootca.cer
     ```

     有关运行 certutil 的更多信息，请参阅 Microsoft 文档中的 [certutil](https://docs.microsoft.com/windows-server/administration/windows-commands/certutil)。

  1. 使用以下 OpenSSL 命令将导出的 CA 证书从 DER 格式转换为 PEM 格式，其中*rootca*是证书的名称。有关 OpenSSL 的更多信息，请访问 [www.openssl.org](https://www.openssl.org/)。

     ```
     openssl x509 -inform der -in rootca.cer -out /tmp/rootca.pem
     ```

**将您的 CA 证书添加到 Linux WorkSpaces**

为了帮助您启用智能卡，我们已将该`enable_smartcard`脚本添加到我们的 Linux WorkSpaces DCV 捆绑包中。此脚本将执行以下操作：
+ 将您的 CA 证书导入私有 PEM 捆绑包，该包定义了 Linux WorkSpaces 上的 SSSD 的信任根）。
+ 更新 SSSD、PAM 和 Kerberos 配置，其中包括在置备期间启用`PKINIT`（使用证书而不是密码进行 Kerberos 身份验证）。 WorkSpace

以下过程说明如何使用`enable_smartcard`脚本导入 CA 证书以及如何为 Linux 启用智能卡身份验证 WorkSpaces。

1. 创建一个启用了 DCV 协议 WorkSpace 的新 Linux。在 Amazon WorkSpaces 控制台 WorkSpace 中启动时，请务必**在 “选择捆绑包**” 页面上为协议选择 **DCV**，然后选择一个 Linux WorkSpaces 公共捆绑包。

1. 在新创建的文件中 WorkSpace，确保`/etc/skylight.conf`文件在`[features]`章节中有`pam_smartcard = true`行：

   ```
   [features]
   pam_smartcard = true
   ```
**注意**  
如果尚未将所有用户配置为使用强`altSecurityIdentities`证书映射，您也可以在中的同一`[features]`部分中添加一`smartcard_weak_mapping = true`行`/etc/skylight.conf`以支持旧版映射方法，但我们建议尽快迁移这些用户以使用强映射方法。

1. 在 WorkSpace，以 root 身份运行以下命令`pem-path1`，其中`pem-path2`、等是文件的路径，每个文件都包含智能卡和域控制器证书信任链中的一个 CA 证书。所有这些文件都应采用 PEM 格式，每个文件包含一个证书。可以使用 Glob 模式（例如`*.pem`）

   ```
   /usr/lib/skylight/enable_smartcard --ca-cert pem-path1 pem-path2 pem-path3 ...
   ```
**注意**  
在运行上述命令 WorkSpace 之前，请确保在上安装了其他依赖包，并以 root 身份使用以下命令。  
对于 Rocky Linux 和红帽企业 Linux WorkSpaces：  

   ```
   dnf install sssd-dbus libsss_simpleifp sssd-tools krb5-pkinit opensc
   ```
 对于 Ubuntu WorkSpaces 来说：  

   ```
   apt install krb5-pkinit opensc
   ```

1. 在上执行任何其他自定义。 WorkSpace例如，您可能希望添加一个系统范围的策略，以[允许用户在 Firefox 中使用智能卡](#smart-cards-firefox-linux)。（Chrome 用户必须自己在客户端上启用智能卡。 有关更多信息，请参阅 *Amazon WorkSpaces 用户指南*中的[智能卡支持](https://docs.amazonaws.cn/workspaces/latest/userguide/smart_card_support.html)。） 

1. 从@@ [中创建自定义 WorkSpace 映像和捆绑包](create-custom-bundle.md) WorkSpace。

1. 使用新的自定义捆绑包 WorkSpaces 为用户启动。

您可以在 Linux WorkSpace 映像中添加 SecurityDevices 策略，让您的用户能够在 Firefox 中使用智能卡。有关向 Firefox 添加系统范围策略的更多信息，请参阅上的 [Mozilla 策略模板](https://github.com/mozilla/policy-templates/releases)。 GitHub

**允许用户在 Firefox 中使用智能卡**

1. 在你 WorkSpace 用来创建 WorkSpace 映像的系统上，创建一个名`policies.json`为的新文件，其中`PREFIX`位于`/usr/lib64`基于 Fedora 的系统（亚马逊 Linux 2 `PREFIX/firefox/distribution/`、红帽企业 Linux 和 Rocky Linux WorkSpaces）和基于 Debian 的系统（Ubuntu）`/usr/lib`上。 WorkSpaces

1. 在 JSON 文件中，添加以下 SecurityDevices 策略，其中`NAME_OF_DEVICE`是您要用来标识`pkcs`模块的任何值。例如，您可能想使用 `"OpenSC"` 这样的值：

   ```
   {
       "policies": {
           "SecurityDevices": {
               "NAME_OF_DEVICE": "PREFIX/opensc-pkcs11.so"
           }
       }
   }
   ```

**问题排查**  
当会话前设置为使用密码身份验证时，智能卡身份验证的故障排除更容易——在会话配置期间，Linux 会 WorkSpaces 自动将主机身份验证模式首选项切换为基于密码或基于智能卡的身份验证模式，具体取决于所使用的会话前身份验证方法。如果智能卡身份验证存在任何问题，则使用密码会话前身份验证断开连接并重新连接会将工作空间重置为主机上的密码身份验证。要手动将 Linux WorkSpaces 实例切换到智能卡身份验证，请以 root 身份运行`/usr/lib/skylight/resume_smartcard`命令。

Linux WorkSpaces 使用 OpenSC 软件来处理智能卡。该软件附带诸如`pkcs11-tool`和`pkcs15-tool`之类的工具，可用于解决智能卡问题。这些工具可用于检查智能卡读卡器、单个令牌以及每个智能卡令牌上的 PIV 插槽或证书。

`openssl`命令行工具可以帮助解决信任链、OCSP 响应器或缺失 KUs/EKUs （密 usage/extended 钥使用）标志的问题，尤其是与从智能卡中提取公共证书`pkcs15-tool`的功能结合使用时。

常见故障排除选项：
+ 首先从智能卡中提取证书（通常是 PIV 插槽 9A）并将其保存为：`card-cert.pem``pkcs15-tool --read-certificate 1 > card-cert.pem`
+ 根据信任数据库验证提取的证书 WorkSpace：`openssl verify -verbose -CAfile /etc/sssd/pki/sssd_auth_ca_db.pem -cert card-cert.pem`
+ 从提取的智能卡证书中获取 OCSP 网址：`openssl x509 -noout -ocsp_uri -in card-cert.pem`
+ 验证 OCSP 响应是否表明证书有效并且包含 NONCE:`openssl ocsp -issuer /etc/sssd/pki/sssd_auth_ca_db.pem -CAfile /etc/sssd/pki/sssd_auth_ca_db.pem -cert card-cert.pem -text -url OCSP_URI`，其中*OCSP\$1URI*是上面的 OCSP 网址。
+ 检查域控制器证书是否被视为可信：`openssl s_client -connect DC_HOSTNAME:636 -showcerts | openssl verify -verbose -CAfile /etc/sssd/pki/sssd_auth_ca_db.pem`，其中*DC\$1HOSTNAME*是 Active Directory 域中其中一个域控制器的主机名。
+ 确认域控制器证书已设置 KDC 身份验证 EKU（扩展密钥用法）：。`openssl s_client -connect DC_HOSTNAME:636 -showcerts | openssl x509 -noout -text`
+ 尝试手动 PKINIT，看看是否有任何错误代码可以用来缩小问题范围：`KRB5_TRACE=/dev/stdout kinit -X X509_user_identity=PKCS11:opensc-pkcs11.so:certid=01 -V`，卡上四个主 PIV 插槽之一的数量在*01*哪里 —— `01` for `9A`、`02` for 等。`9C`大多数卡在插槽 9A 中都有用于用户身份验证的证书。
+ 检查系统是否能够将智能卡证书映射到 AD 用户（以 root 身份执行）：`dbus-send --print-reply --system --dest=org.freedesktop.sssd.infopipe /org/freedesktop/sssd/infopipe/Users org.freedesktop.sssd.infopipe.Users.FindByCertificate string:"$(<card-cert.pem)"`。这可以与启用 SSSD 的调试日志记录相结合。

最常见的已知问题：
+ 智能卡证书的信任链不完整-使用`enable_smartcard`脚本导入证书时，必须提供所有根证书和中间 CA 证书的完整列表。如果由于列表中缺少根 CA 证书而并非所有导入的证书都可信，则该`enable_smartcard`工具将显示错误，但它无法检测到何时缺少整个信任链或其中一个信任链中最内层的中间 CA 证书。在这种情况下，它将毫无错误地导入证书，但是智能卡证书或域控制器证书仍可能被视为不受信任。
+ 缺少域控制器证书的信任链-如果域控制器证书由与智能卡不同的 CA 颁发（例如，[通用访问卡 (CAC)）](https://www.cac.mil/Common-Access-Card)，则需要将该 CA 信任链与颁发 CA 证书的智能卡一起导入。
+ OCSP 响应器中缺乏 NONCE 扩展支持-Linux WorkSpaces 要求智能卡发卡机构的 OCSP 响应器启用 NONCE 扩展。如果无法启用，则必须完全禁用 OCSP 验证。
+ 域控制器证书缺失 `KDC Authentication` EKU (OID 1.3.6.1.5.2.3.1)-要使智能卡身份验证起作用，需要重新颁发域控制器证书，以包括 KDC 身份验证 EKU。
+ 域控制器证书已过期-要使智能卡身份验证起作用，必须保留域控制器证书 up-to-date。
+ 使用弱映射方法将智能卡证书映射到 AD 中的用户——传统上， subjectAltName 属性中的 UPN 字段用于将证书映射到 AD 中的用户，并期望与 userPrincipalName 属性匹配。这不再被视为一种安全的映射方法，并且在默认情况下是不允许的。可以通过向`enable_smartcard`命令传递`--allow-weak-mapping`参数并在`/etc/skylight.conf`文件中的`[features]`部分中添加`smartcard_weak_mapping = true`行来重新启用它，但是更好的解决方案是使用一种强大的映射方法。有关更多详细信息，请参阅[账户关联](https://www.idmanagement.gov/implement/scl-windows/#step-4---account-linking)文档。

用于管理智能卡上的证书和密钥（例如删除或重新映射证书和密钥）的工具可能因制造商而异。可用来处理智能卡的其他工具包括：
+ `opensc-explorer`
+ `opensc-tool`
+ `pkcs11_inspect`
+ `pkcs11_listcerts`
+ `pkcs15-tool`

**启用调试日志记录**
+ `/etc/sssd/sssd.conf`为每个单独的部分添加一`debug_level = LEVEL`行，其中*LEVEL*是所需的详细程度，从 1 到 10。然后可以在`/var/log/sssd/`目录中找到每个相应部分的日志。有关更多详细信息，请参阅[此处和此](https://docs.pagure.org/sssd.sssd/users/troubleshooting.html#sssd-debug-logs)[处](https://sssd.io/troubleshooting/basics.html#sssd-debug-logs)的 SSSD 文档。

## 为亚马逊 Linux 2 启用智能卡 WorkSpaces
<a name="smart-cards-amazon-linux-workspaces"></a>

**注意**  
DCV WorkSpaces 上的 Amazon Linux 2 目前存在以下限制：  
不支持剪贴板、音频输入、视频输入和时区重定向。
不支持多个显示器。

要在 Amazon Linux 2 上启用智能卡 WorkSpaces，您需要在 WorkSpace 镜像中包含 PEM 格式的根 CA 证书文件。

**要获取根 CA 证书，请执行以下操作：**您可以通过多种方式获取根 CA 证书：
+ 您可以使用由第三方证书颁发机构运营的根 CA 证书。
+ 您可以使用 Web 注册网站导出自己的根 CA 证书，该网站为 `http://ip_address/certsrv` 或 `http://fqdn/certsrv`，其中 `ip_address` 和 `fqdn` 分别是根证书 CA 服务器的 IP 地址和完全限定域名 (FQDN)。有关使用 Web 注册网站的更多信息，请参阅 Microsoft 文档中的[如何导出根证书颁发机构证书](https://docs.microsoft.com/troubleshoot/windows-server/identity/export-root-certification-authority-certificate)。
+ 您可以使用以下步骤，从运行 Active Directory 证书服务 (AD CS) 的根 CA 证书服务器导出根 CA 证书。有关安装 AD CS 的信息，请参阅 Microsoft 文档中的[安装证书颁发机构](https://docs.microsoft.com/windows-server/networking/core-network-guide/cncg/server-certs/install-the-certification-authority)。

  1. 使用管理员账户登录根 CA 服务器。

  1. 在 Windows 的**开始**菜单中，打开命令提示符窗口（**开始** > **Windows 系统** > **命令提示符**）。

  1. 使用以下命令将根 CA 证书导出到新文件，其中 `rootca.cer` 是新文件的名称：

     ```
     certutil -ca.cert rootca.cer
     ```

     有关运行 certutil 的更多信息，请参阅 Microsoft 文档中的 [certutil](https://docs.microsoft.com/windows-server/administration/windows-commands/certutil)。

  1. 使用以下 OpenSSL 命令将导出的根 CA 证书从 DER 格式转换为 PEM 格式，其中*rootca*是证书的名称。有关 OpenSSL 的更多信息，请访问 [www.openssl.org](https://www.openssl.org/)。

     ```
     openssl x509 -inform der -in rootca.cer -out /tmp/rootca.pem
     ```

**将您的根 CA 证书添加到您的亚马逊 Linux 2 WorkSpaces**

为了帮助您启用智能卡，我们已将 `enable_smartcard` 脚本添加到我们的 Amazon Linux DCV 捆绑包中。此脚本将执行以下操作：
+ 将您的根 CA 证书导入[网络安全服务 (NSS)](https://developer.mozilla.org/docs/Mozilla/Projects/NSS) 数据库。
+ 安装可插入验证模块 (PAM) 身份验证的 `pam_pkcs11` 模块。
+ 执行默认配置，包括在 WorkSpace置备`pkinit`期间启用。

以下过程说明了如何使用`enable_smartcard`脚本将根 CA 证书添加到 Amazon Linux 2 WorkSpaces 以及如何为亚马逊 Linux 2 启用智能卡 WorkSpaces。

1. 创建一个启用 DCV 协议 WorkSpace 的新 Amazon Linux 2。在亚马逊 WorkSpaces 控制台 WorkSpace 中启动时，请务必**在 “选择捆绑包**” 页面上为协议选择 **DCV**，然后选择一个 Amazon Linux 2 公共捆绑包。

1. 在新版本中 WorkSpace，以 root 身份运行以下命令，其中`pem-path`是 PEM 格式的根 CA 证书文件的路径。

   ```
   /usr/lib/skylight/enable_smartcard --ca-cert pem-path
   ```
**注意**  
Amazon Linux 2 WorkSpaces 假设智能卡上的证书是针对用户的默认用户主体名称 (UPN) 颁发的，例如`sAMAccountName@domain`，其中`domain`是完全限定的域名 (FQDN)。  
要使用备用 UPN 后缀，请参阅 `run /usr/lib/skylight/enable_smartcard --help`，了解更多信息。备用 UPN 后缀的映射对每个用户来说都是唯一的。因此，必须对每个用户单独执行映射 WorkSpace。

1. （可选）默认情况下，所有服务都允许在 Amazon Linux 2 上使用智能卡身份验证 WorkSpaces。要将智能卡身份验证仅限于特定服务，必须编辑 `/etc/pam.d/system-auth`。取消 `pam_succeed_if.so` 对应的 `auth` 行的注释，并根据需要编辑服务列表。

   取消 `auth` 行的注释后，要允许服务使用智能卡身份验证，必须将其添加到列表中。要使服务仅使用密码身份验证，必须从列表中将其删除。

1. 对执行任何其他自定义。 WorkSpace例如，您可能希望添加一个系统范围的策略，以[允许用户在 Firefox 中使用智能卡](#smart-cards-firefox-amazon-linux)。（Chrome 用户必须自己在客户端上启用智能卡。 有关更多信息，请参阅 *Amazon WorkSpaces 用户指南*中的[智能卡支持](https://docs.amazonaws.cn/workspaces/latest/userguide/smart_card_support.html)。） 

1. 从@@ [中创建自定义 WorkSpace 映像和捆绑包](create-custom-bundle.md) WorkSpace。

1. 使用新的自定义捆绑包 WorkSpaces 为用户启动。

您可以通过向您的亚马逊 Linux 2 WorkSpace 映像添加 SecurityDevices 策略来允许您的用户在 Firefox 中使用智能卡。有关向 Firefox 添加系统范围策略的更多信息，请参阅上的 [Mozilla 策略模板](https://github.com/mozilla/policy-templates/releases)。 GitHub

**允许用户在 Firefox 中使用智能卡**

1. 在你 WorkSpace 用来创建 WorkSpace 图像的上，创建一个名为`policies.json`的新文件`/usr/lib64/firefox/distribution/`。

1. 在 JSON 文件中，添加以下 SecurityDevices 策略，其中`NAME_OF_DEVICE`是您要用来标识`pkcs`模块的任何值。例如，您可能想使用 `"OpenSC"` 这样的值：

   ```
   {
       "policies": {
           "SecurityDevices": {
               "NAME_OF_DEVICE": "/usr/lib64/opensc-pkcs11.so"
           }
       }
   }
   ```

**疑难解答：**为了排除故障，我们建议添加该`pkcs11-tools`实用程序。此实用工具允许您执行以下操作：
+ 列出每张智能卡。
+ 列出每张智能卡上的槽。
+ 列出每张智能卡上的证书。

可能导致问题的一些常见问题：
+ 槽与证书的映射不正确。
+ 智能卡上有多个可以与用户匹配的证书。证书使用以下标准进行匹配：
  + 证书的根 CA。
  + 证书的 `<KU>` 和 `<EKU>` 字段。
  + 证书主题中的 UPN。
+ 多个证书的密钥用法中存在 `<EKU>msScLogin`。

通常，最好只有一个用于智能卡身份验证的证书，该证书映射到智能卡的第一个槽。

用于管理智能卡上的证书和密钥（例如删除或重新映射证书和密钥）的工具可能因制造商而异。可用来处理智能卡的其他工具包括：
+ `opensc-explorer`
+ `opensc-tool`
+ `pkcs11_inspect`
+ `pkcs11_listcerts`
+ `pkcs15-tool`

**启用调试日志记录**

要排查 `pam_pkcs11` 和 `pam-krb5` 配置问题，您可以启用调试日志记录。

1. 在 `/etc/pam.d/system-auth-ac` 文件中，编辑 `auth` 操作，并将 `pam_pksc11.so` 的 `nodebug` 参数更改为 `debug`。

1. 在 `/etc/pam_pkcs11/pam_pkcs11.conf` 文件中，将 `debug = false;` 更改为 `debug = true;`。`debug` 选项分别适用于每个映射器模块，因此，您可能需要直接在`pam_pkcs11`部分下方和相应的映射器部分（默认情况下，这为 `mapper generic`）下，对其进行更改。

1. 在 `/etc/pam.d/system-auth-ac` 文件中，编辑 `auth` 操作，并将 `debug` 或 `debug_sensitive` 参数添加到 `pam_krb5.so`。

启用调试日志记录后，系统会直接在活动终端中打印出 `pam_pkcs11` 调试消息。来自 `pam_krb5` 的消息已记录在 `/var/log/secure` 中。

要检查智能卡证书映射到哪个用户名，请使用以下 `pklogin_finder` 命令：

```
sudo pklogin_finder debug config_file=/etc/pam_pkcs11/pam_pkcs11.conf
```

系统提示时，输入智能卡 PIN。`pklogin_finder` 在 `stdout` 上以 `NETBIOS\username` 的形式输出智能卡证书的用户名。此用户名应与 WorkSpace 用户名匹配。

在 Active Directory 域服务 (AD DS) 中，NetBIOS 域名是 Windows 2000 之前的域名。通常（但并非总是如此），NetBIOS 域名是域名系统 (DNS) 域名的子域。例如，如果 DNS 域名为 `example.com`，则 NetBIOS 域名通常为 `EXAMPLE`。如果 DNS 域名为 `corp.example.com`，则 NetBIOS 域名通常为 `CORP`。

例如，对于域 `corp.example.com` 中的用户 `mmajor`，来自 `pklogin_finder` 的输出为 `CORP\mmajor`。

**注意**  
如果您收到消息 `"ERROR:pam_pkcs11.c:504: verify_certificate() failed"`，则此消息表示 `pam_pkcs11` 已在智能卡上找到了符合用户名标准的证书，但该证书未链接到计算机可识别的根 CA 证书。发生这种情况时，`pam_pkcs11` 会输出上述消息，然后尝试下一个证书。它仅在找到与用户名匹配且链接到可识别的根 CA 证书的证书时，才允许进行身份验证。

要排查 `pam_krb5` 配置问题，您可以使用以下命令在调试模式下手动调用 `kinit`：

```
KRB5_TRACE=/dev/stdout kinit -V
```

此命令应成功获取 Kerberos 票证授予票证 (TGT)。如果失败，请尝试在命令中显式添加正确的 Kerberos 主体名称。例如，对于域 `corp.example.com` 中的用户 `mmajor`，使用以下命令：

```
KRB5_TRACE=/dev/stdout kinit -V mmajor
```

如果此命令成功，则问题很可能出在从 WorkSpace 用户名到 Kerberos 主体名称的映射中。检查 `/etc/krb5.conf` 文件中的 `[appdefaults]/pam/mappings` 部分。

如果此命令不成功，但基于密码的 `kinit` 命令成功了，请检查 `/etc/krb5.conf` 文件中的 `pkinit_` 相关配置。例如，如果智能卡包含多个证书，则可能需要对 `pkinit_cert_match` 进行更改。

# 为 WorkSpaces 个人版提供互联网访问权限
<a name="amazon-workspaces-internet-access"></a>

您的 WorkSpace 必须具有互联网的访问权限，以便您将更新安装到操作系统以及部署应用程序。您可以使用以下选项之一，以允许虚拟私有云 (VPC) 中的 WorkSpace 访问互联网。

**选项**
+ 在私有子网中启动您的 WorkSpace 并在 VPC 中的公有子网内配置 NAT 网关。
+ 在公有子网中启动您的 WorkSpaces 并自动或手动将公有 IP 地址分配到 WorkSpaces。

有关这些选项的更多信息，请参阅 [为 WorkSpaces 个人配置 VPC](amazon-workspaces-vpc.md)。

通过上述任一选项，您必须确保 WorkSpace 的安全组允许端口 80 (HTTP) 和 443 (HTTPS) 上的出站流量流向所有目的地 (`0.0.0.0/0`)。

**Amazon Linux Extras 库**  
如果您使用的是 Amazon Linux 存储库，则 Amazon Linux WorkSpaces 必须能够访问互联网，否则您必须配置指向此存储库和主 Amazon Linux 存储库的 VPC 端点。有关更多信息，请参阅 [Amazon S3 端点](https://docs.amazonaws.cn/vpc/latest/userguide/vpc-endpoints-s3.html)中的*示例：启用对 Amazon Linux AMI 存储库的访问*部分。每个区域中的 Amazon Linux AMI 存储库都是 Amazon S3 存储桶。如果您希望 VPC 中的实例通过端点访问该存储库，请创建端点策略以允许对这些存储桶进行访问。以下策略授予对 Amazon Linux 存储库的访问权限。

```
{
  "Statement": [
    {
        "Sid": "AmazonLinux2AMIRepositoryAccess",
        "Principal": "*",
        "Action": [
            "s3:GetObject"
        ],
        "Effect": "Allow",
        "Resource": [
            "arn:aws:s3:::amazonlinux.*.amazonaws.com/*"
        ]
    }
  ]
}
```

# WorkSpaces 个人安全组
<a name="amazon-workspaces-security-groups"></a>

向注册目录时 WorkSpaces，它会创建两个安全组，一个用于目录控制器，另一个用于目录 WorkSpaces 中。目录控制器的安全组的名称为目录标识符后跟 **\$1controllers**（例如，d-12345678e1\$1controllers）。的安全组的名称由目录标识符组成，后面跟着 \$1workspacesMembers（例如，d-123456fc **11\$1workspacesM** embers）。 WorkSpaces 

**警告**  
避免修改、删除或分离 **\$1controllers** 和 **\$1workspacesMembers** 安全组。修改或删除这些安全组时要小心，因为修改或删除这些安全组后，您将无法重新创建和重新添加它们。有关更多信息，请参阅适用于 [Linux 实例的亚马逊 EC2安全组](https://docs.amazonaws.cn//AWSEC2/latest/UserGuide/ec2-security-groups.html)或适用[于 Windows 实例的亚马逊 EC2 安全组](https://docs.amazonaws.cn//AWSEC2/latest/WindowsGuide/ec2-security-groups.html)。

您可以将默认 WorkSpaces 安全组添加到目录中。将新的安全组与 WorkSpaces 目录关联后 WorkSpaces ，您启动的新安全组或重建 WorkSpaces 的现有安全组将拥有新的安全组。您也可以[将这个新的默认安全组添加到现有安全组中， WorkSpaces 而无需对其进行重建](#security_group_existing_workspace)，如本主题后面所述。

当您将多个安全组与一个 WorkSpaces 目录关联时，每个安全组的规则会被有效地聚合以创建一组规则。建议尽可能精简您的安全组规则。

有关安全组的更多信息，请参阅《Amazon VPC 用户指南》**中的[您的 VPC 的安全组](https://docs.amazonaws.cn//vpc/latest/userguide/VPC_SecurityGroups.html)。

**向 WorkSpaces 目录中添加安全组**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.amazonaws.cn/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择**目录**。

1. 选择目录，然后选择 **Actions**、**Update Details**。

1. 展开 **Security Group** 并选择一个安全组。

1. 选择**更新并退出**。

要将安全组添加到现有安全组 WorkSpace 而不对其进行重建，请将新的安全组分配给的 elastic network interface (ENI) WorkSpace。

**向现有安全组添加安全组 WorkSpace**

1. 查找需要更新的每 WorkSpace 个 IP 地址。

   1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.amazonaws.cn/workspaces/v2/home) home 中打开 WorkSpaces 主机。

   1. 展开每个 WorkSpace 并记录其 WorkSpace IP 地址。

1. 找到每个弹性网卡 WorkSpace 并更新其安全组分配。

   1. 打开 Amazon EC2 控制台，网址为[https://console.aws.amazon.com/ec2/](https://console.amazonaws.cn/ec2/)。

   1. 在**网络与安全**下，选择**网络接口**。

   1. 搜索您在步骤 1 中记录的第一个 IP 地址。

   1. 选择与该 IP 地址关联的 ENI，选择**操作**，然后选择**更改安全组**。

   1. 选择新安全组，然后选择**保存**。

   1. 根据需要对其他任何过程重复此过程 WorkSpaces。

# 个 WorkSpaces 人 IP 访问控制组
<a name="amazon-workspaces-ip-access-control-groups"></a>

Amazon WorkSpaces 允许您控制 WorkSpaces 可以从哪些 IP 地址访问您的 IP 地址。通过使用基于 IP 地址的控制组，您可以定义和管理可信 IP 地址组，并且仅允许用户在连接到可信网络 WorkSpaces 时访问这些地址。

*IP 访问控制组*充当虚拟防火墙，用于控制允许用户访问自己的 IP 地址 WorkSpaces。要指定 CIDR 地址范围，请向 IP 访问控制组添加规则，然后将该组与您的目录关联。每个 IP 访问控制组最多可以添加 30 个规则，并且可以将每个 IP 访问控制组与一个或多个目录相关联。每个 Amazon 账户在每个区域最多可以创建 140 个 IP 访问控制组。但是，您最多只能将 35 个 IP 访问控制组与单个目录相关联。

每个目录都与一个默认 IP 访问控制组关联。此默认群组包含一条默认规则，允许用户 WorkSpaces 从任何地方访问自己的群组。您无法修改目录的默认 IP 访问控制组。如果您没有将 IP 访问控制组与您的目录关联，请使用默认组。如果您将 IP 访问控制组与目录关联，则默认的 IP 访问控制组将断开连接。

要为您的受信任网络指定公有 IP 地址和 IP 地址范围，请向 IP 访问控制组添加规则。如果您的用户 WorkSpaces 通过 NAT 网关或 VPN 访问他们，则必须创建规则，允许来自公有 IP 地址的流量进入该 NAT 网关或 VPN。

**注意**  
IP 访问控制组不允许使用动态 IP 地址 NATs。如果您使用 NAT，请将其配置为使用静态 IP 地址而不是动态 IP 地址。确保 NAT 在会 WorkSpaces 话期间通过相同的静态 IP 地址路由所有 UDP 流量。
IP 访问控制组控制用户可以连接直播会话的 IP 地址 WorkSpaces。用户仍然可以使用 Amazon p WorkSpaces ub APIs lic 从任何 IP 地址执行重启、重建、关闭等功能。
为目录配置用于流式传输的 VPC 端点时，IP 访问控制组不适用。
更改 IP 访问控制时，活动会话不会立即中断；更改仅应用于新会话。

你可以在 Web Access、 PCo IP zero 客户端以及适用于 macOS、iPad、Windows、 和安卓的客户端应用程序中使用此功能。

## 创建 IP 访问控制组
<a name="create-ip-access-control-group"></a>

可以按以下所述创建 IP 访问控制组。每个 IP 访问控制组最多可以包含 30 条规则。

**创建 IP 访问控制组**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.amazonaws.cn/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择 **IP Access Controls**。

1. 选择 **Create IP Group**。

1. 在 **Create IP Group (创建 IP 组)** 对话框中，输入组的名称和描述，然后选择 **Create (创建)**。

1. 选择所需组，然后选择 **Edit**。

1. 对于每个 IP 地址，选择 **Add Rule**。对于 **Source (来源)**，输入 IP 地址或 IP 地址范围。对于**说明**，输入说明。添加完规则后，选择 **Save**。

## 将 IP 访问控制组与目录关联
<a name="associate-ip-access-control-group"></a>

您可以将 IP 访问控制组与目录关联，以确保只能从 WorkSpaces可信网络访问该目录。

如果将没有规则的 IP 访问控制组与目录相关联，则会阻止所有人访问所有人 WorkSpaces。

**将 IP 访问控制组与目录关联**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.amazonaws.cn/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择**目录**。

1. 选择目录，然后选择 **Actions**、**Update Details**。

1. 展开 **IP Access Control Groups**，并选择一个或多个 IP 访问控制组。

1. 选择**更新并退出**。

## 复制 IP 访问控制组
<a name="copy-ip-access-control-group"></a>

您可以使用现有的 IP 访问控制组作为创建新 IP 访问控制组的基础。

**从现有的 IP 访问控制组创建一个 IP 访问控制组**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.amazonaws.cn/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择 **IP Access Controls**。

1. 选择所需组，然后选择 **Actions**、**Copy to New**。

1. 在 **Copy IP Group (复制 IP 组)** 对话框中，输入新组的名称和描述，然后选择 **Copy Group (复制组)**。

1. (可选) 要修改从原始组中复制的规则，请选择新组，然后选择 **Edit**。根据需要添加、更新或删除规则。选择**保存**。

## 删除 IP 访问控制组
<a name="delete-ip-access-control-group"></a>

您可以随时从 IP 访问控制组中删除规则。如果您删除了用于允许连接的规则 WorkSpace，则用户将断开与的连接 WorkSpace。

在可以删除 IP 访问控制组之前，必须将其与任何目录解除关联。

**删除 IP 访问控制组**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.amazonaws.cn/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择**目录**。

1. 对于每个与 IP 访问控制组关联的目录，请选择该目录，然后选择 **Actions**、**Update Details**。展开 **IP Access Control Groups (IP 访问控制组)**，清除 IP 访问控制组的复选框，然后选择 **Update and Exit (更新并退出)**。

1. 在导航窗格中，选择 **IP Access Controls**。

1. 选择所需组，然后选择 **Actions**、**Delete IP Group**。

# 为 WorkSpaces 个人版设置 PCoIP 零客户端
<a name="set-up-pcoip-zero-client"></a>

PCoIP 零客户端仅与使用 PCoIP 协议的 WorkSpaces 捆绑包兼容。

如果您的零客户端设备的固件为 6.0.0 或更高版本，您的用户就可以直接连接到 WorkSpaces。当您的用户使用零客户端设备直接连接到其 WorkSpaces 时，建议对您的 WorkSpaces 目录使用多重身份验证 (MFA)。有关对目录使用 MFA 的更多信息，请参阅以下文档：
+ **Amazon Managed Microsoft AD** -《Amazon Directory Service 管理指南》**中的[为 Amazon Managed Microsoft AD 启用多重身份验证](https://docs.amazonaws.cn/directoryservice/latest/admin-guide/ms_ad_mfa.html)。
+ **AD Connector** -《Amazon Directory Service 管理指南》**中的[为 AD Connector 启用多重身份验证](https://docs.amazonaws.cn/directoryservice/latest/admin-guide/ad_connector_mfa.html)以及[WorkSpaces 个人版的多重身份验证（AD Connector）](connect-mfa.md)
+ **受信任域** -《Amazon Directory Service 管理指南》**中的[为 Amazon Managed Microsoft AD 启用多重身份验证](https://docs.amazonaws.cn/directoryservice/latest/admin-guide/ms_ad_mfa.html)
+ **Simple AD** - 多重身份验证对 Simple AD 不可用。

自 2021 年 4 月 13 日起，在 4.6.0 和 6.0.0 之间的零客户端设备固件版本中，不再支持使用 PCoIP Connection Manager。如果您的零客户端固件版本不是 6.0.0 或更高版本，则可以访问以下网址通过 Desktop Access 订阅来获取最新固件：[https://www.teradici.com/desktop-access](https://www.teradici.com/desktop-access)。

**重要**  
在 Teradici PCoIP 管理 Web 接口 (AWI) 或 Teradici PCoIP 管理控制台 (MC) 中，请确保启用了网络时间协议 (NTP)。对于 NTP 主机 DNS 名称，请使用 **pool.ntp.org**，并将 NTP 主机端口设置为 **123**。如果未启用 NTP，PCoIP 零客户端用户可能会收到证书失败错误，例如“提供的证书由于时间戳而无效。”
从 PCoIP 代理的 20.10.4 版本开始，Amazon WorkSpaces 默认禁用通过 Windows 注册表进行的 USB 重定向。当您的用户使用 PCoIP 零客户端设备连接到其 WorkSpaces 时，此注册表设置会影响 USB 外围设备的行为。有关更多信息，请参阅 [USB 打印机和其他 USB 外围设备不适用于 PCo IP 零客户端](amazon-workspaces-troubleshooting.md#pcoip_zero_client_usb)。

有关设置和连接 PCoIP 零客户端设备的信息，请参阅《Amazon WorkSpaces 用户指南》**中的 [PCoIP 零客户端](https://docs.amazonaws.cn/workspaces/latest/userguide/amazon-workspaces-pcoip-zero-client.html)。有关经批准的 PCoIP 零客户端设备列表，请参阅 Teradici 网站上的 [PCoIP 零客户端](https://www.teradici.com/resource-center/product-service-finder/pcoip-zero-clients)。

# WorkSpaces 在 WorkSpaces 个人版中为你的 Linux 启用 SSH 连接
<a name="connect-to-linux-workspaces-with-ssh"></a>

如果您或您的用户想要使用命令行连接到您 WorkSpaces 的 Linux，则可以启用 SSH 连接。您可以启用与目录 WorkSpaces 中所有人或目录 WorkSpaces 中个人的 SSH 连接。

要启用 SSH 连接，您可以创建新的安全组或更新现有安全组，然后添加规则以允许入站流量用于此目的。安全组用作相关实例的防火墙，可在实例级别控制入站和出站的数据流。创建或更新安全组后，您的用户和其他人可以使用 Putty 或其他终端从其设备连接到您的 Linux。 WorkSpaces有关更多信息，请参阅 [WorkSpaces 个人安全组](amazon-workspaces-security-groups.md)。

有关视频教程，请参阅[如何 WorkSpaces 使用 SSH 连接到我的 Linux Amazon？](https://www.amazonaws.cn/premiumsupport/knowledge-center/linux-workspace-ssh/) 在 Amazon 知识中心上。本教程 WorkSpaces 仅适用于亚马逊 Linux 2。

**Topics**
+ [通过 SSH 连接到 Linux 的先决条件 WorkSpaces](#before-you-begin-enable-ssh-linux-workspaces)
+ [启用与目录中所有 Linux WorkSpaces 的 SSH 连接](#enable-ssh-directory-level-access-linux-workspaces)
+ [中基于密码的身份验证 WorkSpaces](#enable-ssh-access-old-version)
+ [启用与特定 Linux 的 SSH 连接 WorkSpace](#enable-ssh-access-specific-linux-workspace)
+ [WorkSpace 使用 Linux 或 Putty 连接到 Linux](#ssh-connection-linux-workspace-using-linux-or-putty)

## 通过 SSH 连接到 Linux 的先决条件 WorkSpaces
<a name="before-you-begin-enable-ssh-linux-workspaces"></a>
+ 启用到的入站 SSH 流量 WorkSpace -要添加允许入站 SSH 流量流向一个或多个 Linux WorkSpaces 的规则，请确保您拥有需要 SSH 连接到您的设备的公用或私有 IP 地址 WorkSpaces。例如，您可以指定虚拟私有云 (VPC) 之外的设备的公有 IP 地址，或者指定与您位于同一 VPC 中的其他 EC2 实例的私有 IP 地址 WorkSpace。

  如果您计划 WorkSpace 从本地设备连接到，则可以在互联网浏览器中使用搜索短语 “我的 IP 地址是什么” 或使用以下服务：[Check IP](https://checkip.amazonaws.com/)。
+ 连接到 WorkSpace — 启动从设备到 Linux 的 SSH 连接需要以下信息 WorkSpace。
  + 您连接到的 Active Directory 域的 NetBIOS 名称。
  + 您的 WorkSpace 用户名。
  + 您要连接的的的公 WorkSpace 有或私有 IP 地址。

    私有：如果您的 VPC 连接到公司网络并且您可以访问该网络，则可以指定该网络的私有 IP 地址 WorkSpace。

    公共：如果您 WorkSpace 有公有 IP 地址，则可以使用 WorkSpaces 控制台查找公有 IP 地址，如以下过程所述。

**要查找要连接的 Linux WorkSpace 的 IP 地址和您的用户名**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.amazonaws.cn/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，请选择 **WorkSpaces**。

1. 在列表中 WorkSpaces，选择 WorkSpace 要启用 SSH 连接的。

1. 在 “**运行模式**” 列中，确认 WorkSpace状态为 “**可用**”。

1. 单击 WorkSpace 名称左侧的箭头以显示行内摘要，并记下以下信息：
   + **WorkSpace 知识产权**。这是的私有 IP 地址 WorkSpace。

     需要私有 IP 地址才能获取与关联的 elastic network 接口 WorkSpace。需要网络接口才能检索诸如安全组或与之关联的公有 IP 地址之类的信息 WorkSpace。
   + 用户 WorkSpace **名**。这是您为连接而指定的用户名 WorkSpace。

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.amazonaws.cn/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**网络接口**。

1. 在搜索框中，键入您在步骤 5 中记下**WorkSpace 的 IP**。

1. 选择与 **WorkSpaceIP** 关联的网络接口。

1. 如果您 WorkSpace 有公有 IP 地址，则该地址会显示在 “**IPv4 公有 IP**” 列中。记下该地址（如果适用）。

**查找您连接到的 Active Directory 域的 NetBIOS 名称**

1. 打开 Amazon Directory Service 控制台，网址为[https://console.aws.amazon.com/directoryservicev2/](https://console.amazonaws.cn/directoryservicev2/)。

1. 在目录列表中，单击该**目录的目录 ID** 链接 WorkSpace。

1. 在 **Directory details (目录详细信息)** 部分，记下 **Directory NetBIOS name (目录 NetBIOS 名称)**。

## 启用与目录中所有 Linux WorkSpaces 的 SSH 连接
<a name="enable-ssh-directory-level-access-linux-workspaces"></a>

要启用与目录 WorkSpaces 中所有 Linux 的 SSH 连接，请执行以下操作。

**使用允许入站 SSH 流量流向目录 WorkSpaces 中所有 Linux 的规则创建安全组**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.amazonaws.cn/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择 **Security Groups**（安全组）。

1. 选择**创建安全组**。

1. 键入安全组的名称（可选）和描述。

1. 对于 **VP** C，请选择 WorkSpaces 包含要启用 SSH 连接的 VPC。

1. 在 **Inbound (入站)** 选项卡上，选择 **Add Rule (添加规则)**，然后执行以下操作：
   + 对于 **Type**，选择 **SSH**。
   + 对于 **Protocol (协议)**，在您选择 **SSH** 时会自动指定 TCP。
   + 对于 **Port Range (端口范围)**，在您选择 **SSH** 时会自动指定 22。
   + 对于 “**源**”，指定用户用于连接的计算机的公有 IP 地址的 CIDR 范围。 WorkSpaces例如，公司网络或家庭网络。
   + 对于 **Description (描述)**（可选），键入规则的描述。

1. 选择**创建**。

1. 将此安全组附加到您的 WorkSpaces。有关将此安全组添加到您的的更多信息 WorkSpaces，请参阅[WorkSpaces 个人安全组](amazon-workspaces-security-groups.md)。如果您想自动将其他安全组附加到您的 WorkSpaces，请参阅此[博客文章](https://www.amazonaws.cn/blogs/desktop-and-application-streaming/automatically-attach-additional-security-groups-to-amazon-appstream-2-0-and-amazon-workspaces/)。

## 中基于密码的身份验证 WorkSpaces
<a name="enable-ssh-access-old-version"></a>

**在新创建的 Linux 中启用密码身份验证 WorkSpaces**

1. 启动 WorkSpaces 客户端并登录到您的 WorkSpace。

1. 打开终端窗口。

1. 在终端窗口中，运行以下命令，以在 cloud-init 中启用 SSH 密码身份验证。

   ```
   sudo bash -c 'touch /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && echo "ssh_pwauth: true" > /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && sudo rm /var/lib/cloud/instance/sem/config_set_passwords && sudo cloud-init single --name set-passwords'
   ```

   该脚本将执行以下操作：
   + 在 cloud-init 目录 `/etc/cloud/cloud.cfg.d/` 中创建配置文件。
   + 修改配置文件，以告知 cloud-init 启用 SSH 密码身份验证。
   + 重置 `set-passwords` cloud-init 模块，使其可以再次运行。
   + 单独运行 `set-passwords` cloud-init 模块。这会将启用 SSH 密码身份验证的文件写入 SSH 配置目录 `/etc/ssh/sshd_config.d/`，然后重新启动 SSHD，以便立即进行设置。

 这将对您启用 SSH 密码身份验证 WorkSpace ，并将通过自定义映像保存。如果您仅在 SSHD 配置文件中启用 SSH 密码身份验证，而不配置 cloud-init，则在某些 Linux 上，该设置将无法通过映像保留。 WorkSpaces有关更多信息，请参阅 cloud-init 模块文档中的[设置密码]()。

**在现有 Linux 中禁用密码身份验证 WorkSpaces**

1. 启动 WorkSpaces 客户端并登录到您的 WorkSpace。

1. 打开终端窗口。

1. 在终端窗口中，运行以下命令，以在 cloud-init 中禁用 SSH 密码身份验证。

   ```
   sudo bash -c 'touch /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && echo "ssh_pwauth: false" > /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && sudo rm /var/lib/cloud/instance/sem/config_set_passwords && sudo cloud-init single —name set-passwords'
   ```

   该脚本将执行以下操作：
   + 在 cloud-init 目录 `/etc/cloud/cloud.cfg.d/` 中创建配置文件。
   + 修改配置文件，以告知 cloud-init 禁用 SSH 密码身份验证。
   + 重置 `set-passwords` cloud-init 模块，使其可以再次运行。
   + 单独运行 `set-passwords` cloud-init 模块。这会将启用 SSH 密码身份验证的文件写入 SSH 配置目录 `/etc/ssh/sshd_config.d/`，然后重新启动 SSHD，以便立即进行设置。

这会立即禁用中的 SSH， WorkSpace 并且将在自定义映像中保留。

## 启用与特定 Linux 的 SSH 连接 WorkSpace
<a name="enable-ssh-access-specific-linux-workspace"></a>

要启用与特定 Linux 的 SSH 连接 WorkSpace，请执行以下操作。

**向现有安全组添加规则以允许入站 SSH 流量流向特定 Linux WorkSpace**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.amazonaws.cn/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，在 **Network & Security (网络与安全性)** 下，选择 **Network Interfaces (网络接口)**。

1. 在搜索栏中，键入要启用 SSH 连接 WorkSpace 的的私有 IP 地址。

1. 在 **Security groups (安全组)** 列中，单击安全组的链接。

1. 在 **Inbound (入站)** 选项卡上，选择 **Edit (编辑)**。

1. 选择 **Add Rule (添加规则)**，然后执行以下操作：
   + 对于 **Type**，选择 **SSH**。
   + 对于 **Protocol (协议)**，在您选择 **SSH** 时会自动指定 TCP。
   + 对于 **Port Range (端口范围)**，在您选择 **SSH** 时会自动指定 22。
   + 对于 **Source (源)**，选择 **My IP (我的 IP)** 或 **Custom (自定义)**，然后用 CIDR 表示法指定单个 IP 地址或 IP 地址范围。例如，如果您的 IPv4 地址是`203.0.113.25`，请指定以 `203.0.113.25/32` CIDR 表示法列出此单个 IPv4 地址。如果您的公司要分配同一范围内的地址，请指定整个范围，例如 `203.0.113.0/24`。
   + 对于 **Description (描述)**（可选），键入规则的描述。

1. 选择**保存**。

## WorkSpace 使用 Linux 或 Putty 连接到 Linux
<a name="ssh-connection-linux-workspace-using-linux-or-putty"></a>

在您创建或更新安全组并添加所需规则后，您的用户和其他人可以使用 Linux 或 PuTTY 从其设备连接到您的设备。 WorkSpaces

**注意**  
在完成以下任一过程之前，请确保您具有：  
您连接到的 Active Directory 域的 NetBIOS 名称。
您用来连接的用户名 WorkSpace。
您要连接的的的公 WorkSpace 有或私有 IP 地址。
有关如何获取此信息的说明，请参阅本主题前面的 “通过 SSH 连接到 Linux 的先决条件 WorkSpaces”。

**WorkSpace 使用 Linux 连接到 Linux**

1. 以管理员身份打开命令提示符并输入以下命令。对于*NetBIOS name**Username*、和*WorkSpace IP*，输入适用的值。

   ```
   ssh "NetBIOS_NAME\Username"@WorkSpaceIP
   ```

   以下是 SSH 命令的示例，其中：
   + *NetBIOS\$1NAME*是任何公司
   + 这*Username *是 janedoe
   + 这*WorkSpace IP*是 203.0.113.25

   ```
   ssh "anycompany\janedoe"@203.0.113.25
   ```

1. 出现提示时，输入与 WorkSpaces 客户端进行身份验证时使用的相同密码（您的 Active Directory 密码）。

**WorkSpace 使用 Putty 连接到 Linux**

1. 打开 PuTTY。

1. 在 **PuTTY Configuration (PuTTY 配置)** 对话框中，执行以下操作：
   + 对于 **Host Name (or IP address) (主机名（或 IP 地址）)**，输入以下命令。将这些值替换为您所连接的 Active Directory 域的 NetBIOS 名称 WorkSpace、用于连接的用户名以及要连接的 IP 地址。 WorkSpace 

     ```
     NetBIOS_NAME\Username@WorkSpaceIP
     ```
   + 对于**端口**，输入 **22**。
   + 对于 **Connection type (连接类型)**，选择 **SSH**。

   有关 SSH 命令的示例，请参阅上一过程中的步骤 1。

1.  选择**打开**。

1. 出现提示时，输入与 WorkSpaces 客户端进行身份验证时使用的相同密码（您的 Active Directory 密码）。

# WorkSpaces 个人版所需的配置和服务组件
<a name="required-service-components"></a>

作为 WorkSpace 管理员，您必须了解有关所需配置和服务组件的以下内容。
+ [必需路由表配置](#routing-table-configuration)
+ [Windows 所需的服务组件](#required-service-components-windows)
+ [Linux 所需的服务组件](#required-service-components-linux)
+ [Ubuntu 所需的服务组件](#required-service-components-ubuntu)
+ [Rocky Linux 所需的服务组件](#required-service-components-rocky)
+ [Red Hat Enterprise Linux 的必需服务组件](#required-service-components-red-hat)

## 必需路由表配置
<a name="routing-table-configuration"></a>

我们建议您不要修改的操作系统级路由表。 WorkSpace该 WorkSpaces 服务需要此表中预先配置的路由来监控系统状态和更新系统组件。如果您的组织需要更改路由表，请在应用任何更改之前联系 Su Amazon pport 或您的 Amazon 客户团队。

## Windows 所需的服务组件
<a name="required-service-components-windows"></a>

在 Windows 上 WorkSpaces，服务组件安装在以下位置。不要删除、更改、阻止或隔离这些对象。如果这样做， WorkSpace 将无法正常运行。

如果上安装了防病毒软件 WorkSpace，请确保它不会干扰安装在以下位置的服务组件。
+ `C:\Program Files\Amazon`
+ `C:\Program Files\NICE`
+ `C:\Program Files\Teradici`
+ `C:\Program Files (x86)\Teradici`
+ `C:\ProgramData\Amazon`
+ `C:\ProgramData\NICE`
+ `C:\ProgramData\Teradici`

如果在 C WorkSpaces ore 上安装了防病毒软件，请确保它不会干扰安装在以下位置的服务组件。
+ C:\$1Program Files\$1Amazon
+ C:\$1ProgramData\$1 Amazon

### 32 位 PCo IP 代理
<a name="pcoip-agent-32-bit-to-64-bit"></a>

自 2021 年 3 月 29 日起，我们将 PCo IP 代理从 32 位更新为 64 位。对于使用 PCo IP 协议的 Windows WorkSpaces ，这意味着 Teradici 文件的位置已从`C:\Program Files (x86)\Teradici`更改为。`C:\Program Files\Teradici`由于我们在常规维护时段内更新了 PCo IP 代理，因此在过渡期间，有些人使用 32 位代理的时间 WorkSpaces 可能比其他人长。

如果您已根据 32 位代理的完整路径配置了防火墙规则、防病毒软件排除项（在客户端和主机端）、组策略对象 (GPO) 设置或 Microsoft 系统中心配置管理器 (SCCM)、Microsoft 端点配置管理器或类似的配置管理工具的设置，则还必须将 64 位代理的完整路径添加到这些设置中。

**如果您要筛选任何 32 位 PCo IP 组件的路径，请务必将路径添加到 64 位版本的组件。由于 WorkSpaces 可能不会同时更新所有路径，因此请不要将 32 位路径替换为 64 位路径，否则其中一些路径 WorkSpaces 可能无法正常工作。**例如，如果您的排除项或通信过滤器基于 `C:\Program Files (x86)\Teradici\PCoIP Agent\bin\pcoip_server_win32.exe`，则还必须添加 `C:\Program Files\Teradici\PCoIP Agent\bin\pcoip_server.exe`。同样，如果您的排除项或通信过滤器基于 `C:\Program Files (x86)\Teradici\PCoIP Agent\bin\pcoip_agent.exe`，则还必须添加 `C:\Program Files\Teradici\PCoIP Agent\bin\pcoip_agent.exe`。

**PCoIP 仲裁服务器服务更改**-请注意，当更新为使用 64 位代理时， PCoIP 仲裁服务 (`C:\Program Files (x86)\Teradici\PCoIP Agent\bin\pcoip_arbiter_win32.exe`) 将被删除。 WorkSpaces 

**PCoIP 零客户端和 USB 设备** — 从 PCo IP 代理的 20.10.4 版本开始，亚马逊默认通过 Windows 注册表 WorkSpaces 禁用 USB 重定向。当您的用户使用 PCo IP 零客户端设备连接到 USB 外围设备时，此注册表设置会影响 USB 外围设备的行为 WorkSpaces。有关更多信息，请参阅 [USB 打印机和其他 USB 外围设备不适用于 PCo IP 零客户端](amazon-workspaces-troubleshooting.md#pcoip_zero_client_usb)。

## Linux 所需的服务组件
<a name="required-service-components-linux"></a>

在 Amazon Linux WorkSpaces 上，服务组件安装在以下位置。不要删除、更改、阻止或隔离这些对象。如果这样做， WorkSpace将无法正常运行。

**注意**  
对其他文件进行更改`/etc/pcoip-agent/pcoip-agent.conf`可能会 WorkSpaces 导致您停止工作，并可能需要您重新构建它们。有关修改 `/etc/pcoip-agent/pcoip-agent.conf` 的信息，请参阅[WorkSpaces 在 WorkSpaces 个人版中管理你的 Amazon Linux 2](manage_linux_workspace.md)。
+ `/etc/dhcp/dhclient.conf`
+ `/etc/logrotate.d/pcoip-agent`
+ `/etc/logrotate.d/pcoip-server`
+ `/etc/os-release`
+ `/etc/pam.d/pcoip`
+ `/etc/pam.d/pcoip-session`
+ `/etc/pcoip-agent`
+ `/etc/profile.d/system-restart-check.sh`
+ `/etc/X11/default-display-manager`
+ `/etc/yum/pluginconf.d/halt_os_update_check.conf`
+ `/etc/systemd/system/euc-analytic-agent.service`
+ `/lib/systemd/system/pcoip.service`
+ `/lib/systemd/system/pcoip-agent.service`
+ `/lib64/security/pam_self.so`
+ `/usr/bin/pcoip-fne-view-license`
+ `/usr/bin/pcoip-list-licenses`
+ `/usr/bin/pcoip-validate-license`
+ `/usr/bin/euc-analytics-agent`
+ `/usr/lib/firewalld/services/pcoip-agent.xml`
+ `/usr/lib/modules-load.d/usb-vhci.conf`
+ `/usr/lib/pcoip-agent`
+ `/usr/lib/skylight`
+ `/usr/lib/systemd/system/pcoip.service`
+ `/usr/lib/systemd/system/pcoip.service.d/`
+ `/usr/lib/systemd/system/skylight-agent.service`
+ `/usr/lib/tmpfiles.d/pcoip-agent.conf`
+ `/usr/lib/yum-plugins/halt_os_update_check.py`
+ `/usr/sbin/pcoip-agent`
+ `/usr/sbin/pcoip-register-host`
+ `/usr/sbin/pcoip-support-bundler`
+ `/usr/share/doc/pcoip-agent`
+ `/usr/share/pcoip-agent`
+ `/usr/share/selinux/packages/pcoip-agent.pp`
+ `/usr/share/X11`
+ `/var/crash/pcoip-agent`
+ `/var/lib/pcoip-agent`
+ `/var/lib/skylight`
+ `/var/log/pcoip-agent` 
+ `/var/log/skylight`
+ `/var/logs/wsp`
+ `/var/log/eucanalytics` 

## Ubuntu 所需的服务组件
<a name="required-service-components-ubuntu"></a>

在 Ubuntu 上 WorkSpaces，服务组件安装在以下位置。不要删除、更改、阻止或隔离这些对象。如果这样做， WorkSpace将无法正常运行。
+ `/etc/X11/default-display-manager`
+ `/etc/dcv`
+ `/etc/default/grub.d/zz-hibernation.cfg`
+ `/etc/netplan`
+ `/etc/os-release`
+ `/etc/pam.d/dcv`
+ `/etc/pam.d/dcv-graphical-sso`
+ `/etc/sssd/sssd.conf`
+ `/etc/wsp`
+ `/etc/systemd/system/euc-analytic-agent.service` 
+ `/lib64/security/pam_self.so`
+ `/usr/lib/skylight`
+ `/usr/lib/systemd/system/dcvserver.service`
+ `/usr/lib/systemd/system/dcvsessionlauncher.service`
+ `/usr/lib/systemd/system/skylight-agent.service`
+ `/usr/lib/systemd/system/wspdcvhostadapter.service`
+ `/usr/share/X11`
+ `/usr/bin/euc-analytics-agent`
+ `/var/lib/skylight`
+ `/var/log/skylight`
+ `/var/log/eucanalytics` 

## Rocky Linux 所需的服务组件
<a name="required-service-components-rocky"></a>

在红帽企业 Linux 上 WorkSpaces，服务组件安装在以下位置。不要删除、更改、阻止或隔离这些对象。如果这样做， WorkSpace将无法正常运行。
+ `/etc/dcv`
+ `/etc/os-release`
+ `/etc/pam.d/dcv-graphical-sso`
+ `/etc/pam.d/dcv`
+ `/etc/systemd/system/euc-analytic-agent.service`
+ `/etc/wsp`
+ `/usr/bin/euc-analytics-agent`
+ `/usr/lib/skylight`
+ `/usr/lib/systemd/system/dcvserver.service`
+ `/usr/lib/systemd/system/dcvsessionlauncher.service`
+ `/usr/lib/systemd/system/skylight-agent.service`
+ `/usr/lib/systemd/system/wspdcvhostadapter.service`
+ `/usr/lib/systemd/system/xdcv-console.path`
+ `/usr/lib/systemd/system/xdcv-console.service`
+ `/usr/lib/systemd/system/xdcv-console-update.service`
+ `/usr/share/X11`
+ `/var/lib/skylight`
+ `/var/log/eucanalytics`
+ `/var/log/skylight`

## Red Hat Enterprise Linux 的必需服务组件
<a name="required-service-components-red-hat"></a>

在红帽企业 Linux 上 WorkSpaces，服务组件安装在以下位置。不要删除、更改、阻止或隔离这些对象。如果这样做， WorkSpace将无法正常运行。
+ `/etc/dcv`
+ `/etc/os-release`
+ `/etc/pam.d/dcv-graphical-sso`
+ `/etc/pam.d/dcv`
+ `/etc/systemd/system/euc-analytic-agent.service`
+ `/etc/wsp`
+ `/usr/bin/euc-analytics-agent`
+ `/usr/lib/skylight`
+ `/usr/lib/systemd/system/dcvserver.service`
+ `/usr/lib/systemd/system/dcvsessionlauncher.service`
+ `/usr/lib/systemd/system/skylight-agent.service`
+ `/usr/lib/systemd/system/wspdcvhostadapter.service`
+ `/usr/lib/systemd/system/xdcv-console.path`
+ `/usr/lib/systemd/system/xdcv-console.service`
+ `/usr/lib/systemd/system/xdcv-console-update.service`
+ `/usr/share/X11`
+ `/var/log/eucanalytics`
+ `/var/log/skylight`