

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon WorkSpaces 應用程式中的基礎設施安全性
<a name="infrastructure-security"></a>

Amazon WorkSpaces 應用程式是受管服務，受到 AWS 全球網路安全的保護。如需 AWS 安全服務以及 如何 AWS 保護基礎設施的相關資訊，請參閱[AWS 雲端安全](https://aws.amazon.com/security/)。若要使用基礎設施安全的最佳實務設計您的 AWS 環境，請參閱*安全支柱 AWS Well-Architected Framework* 中的[基礎設施保護](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html)。

您可以使用 AWS 發佈的 API 呼叫，透過網路存取 WorkSpaces 應用程式。使用者端必須支援下列專案：
+ Transport Layer Security (TLS)。我們需要 TLS 1.2 並建議使用 TLS 1.3。
+ 具備完美轉送私密(PFS)的密碼套件，例如 DHE (Ephemeral Diffie-Hellman)或 ECDHE (Elliptic Curve Ephemeral Diffie-Hellman)。現代系統(如 Java 7 和更新版本)大多會支援這些模式。

下列主題提供有關 WorkSpaces 應用程式基礎設施安全性的其他資訊。

**Topics**
+ [網路隔離](network-isolation.md)
+ [實體主機上的隔離](physical-isolation.md)
+ [控制網路流量](control-network-traffic.md)
+ [WorkSpaces 應用程式界面 VPC 端點](interface-vpc-endpoints.md)
+ [使用 FIPS 端點保護傳輸中資料](protecting-data-in-transit-FIPS-endpoints.md)

# 網路隔離
<a name="network-isolation"></a>

Virtual Private Cloud (VPC) 是 Amazon Web Services 雲端中您自己的邏輯隔離區域中的虛擬網路。使用不同的 VPC，依工作負載或組織實體來隔離基礎設施。

子網是您的 VPC 中的 IP 地址範圍。啟動執行個體時，您會在 VPC 的子網中啟動它。使用子網來隔離單一 VPC 內的應用程式層 (例如，Web、應用程式及資料庫)。如果不應該從網際網路直接存取，則針對您的執行個體使用私有子網。

您可以從 VPC 中的 WorkSpaces 應用程式串流執行個體進行串流，而無需透過公有網際網路。如果要這麼做，請使用界面 VPC 端點 (界面端點)。如需詳細資訊，請參閱[教學課程：從介面 VPC 端點建立和串流](creating-streaming-from-interface-vpc-endpoints.md)。

您也可以從 VPC 呼叫 WorkSpaces 應用程式 API 操作，而無需使用介面端點透過公有網際網路傳送流量。如需相關資訊，請參閱[透過介面 VPC 端點存取 WorkSpaces 應用程式 API 操作和 CLI 命令](access-api-cli-through-interface-vpc-endpoint.md)。

# 實體主機上的隔離
<a name="physical-isolation"></a>

相同實體主機上的不同串流執行個體會彼此隔離，如同位於不同的實體主機上一樣。Hypervisor 會隔離 CPU 和記憶體，而且執行個體式提供的虛擬化磁碟，而非存取原始磁碟裝置。

當您停止或終止串流執行個體時，Hypervisor 會先清除配置到該執行個體的記憶體 (表示其設定為零)，然後再將之配置到新執行個體，而且會重設儲存體的每個區塊。這可確保不會向其他執行個體公開您的資料。

# 控制網路流量
<a name="control-network-traffic"></a>

為了協助控制 WorkSpaces 應用程式串流執行個體的網路流量，請考慮下列選項：
+ 啟動 Amazon AppStream 串流執行個體時，您會在 VPC 的子網路中啟動它。如果不希望開放從網際網路存取串流執行個體，您可以在私有子網路中部署。
+ 如果要提供私有子網路中串流執行個體的網際網路存取權，請使用 NAT 閘道。如需詳細資訊，請參閱[建立含有私有子網路與 NAT 閘道的 VPC](managing-network-internet-NAT-gateway.md)。
+ 屬於 VPC 的安全群組可讓您控制 WorkSpaces 應用程式串流執行個體與 VPC 資源之間的網路流量，例如授權伺服器、檔案伺服器和資料庫伺服器。安全群組也會隔離串流執行個體與 WorkSpaces 應用程式管理服務之間的流量。

  使用安全群組來限制存取您的串流執行個體。例如，您可以允許僅來自於企業網路位址範圍的流量。如需詳細資訊，請參閱[Amazon WorkSpaces 應用程式中的安全群組](managing-network-security-groups.md)。
+ 您可以從 VPC 中的 WorkSpaces 應用程式串流執行個體進行串流，而無需透過公有網際網路。如果要這麼做，請使用界面 VPC 端點 (界面端點)。如需詳細資訊，請參閱[教學課程：從介面 VPC 端點建立和串流](creating-streaming-from-interface-vpc-endpoints.md)。

  您也可以從 VPC 呼叫 WorkSpaces 應用程式 API 操作，而無需使用介面端點透過公有網際網路傳送流量。如需詳細資訊，請參閱[透過介面 VPC 端點存取 WorkSpaces 應用程式 API 操作和 CLI 命令](access-api-cli-through-interface-vpc-endpoint.md)。
+ 使用 IAM 角色和政策來管理管理員對 WorkSpaces 應用程式、Application Auto Scaling 和 Amazon S3 儲存貯體的存取。如需詳細資訊，請參閱下列主題：
  + [使用 AWS 受管政策和連結角色來管理管理員對 WorkSpaces 應用程式資源的存取](controlling-administrator-access-with-policies-roles.md)
  + [使用 IAM 政策管理對應用程式自動擴展的管理員存取](autoscaling-iam-policy.md)
  + [限制管理員存取用於主資料夾和應用程式設定持續性的 Amazon S3 儲存貯體](s3-iam-policy-restricted-access.md)
+ 您可以使用 SAML 2.0 將身分驗證聯合到 WorkSpaces 應用程式。如需詳細資訊，請參閱[Amazon WorkSpaces 應用程式Service Quotas](limits.md)。
**注意**  
對於較小的 WorkSpaces 應用程式部署，您可以使用 WorkSpaces 應用程式使用者集區。根據預設， 使用者集區最多支援 50 個使用者。如需 WorkSpaces 應用程式配額 （也稱為限制） 的詳細資訊，請參閱 [Amazon WorkSpaces 應用程式Service Quotas](limits.md)。對於必須支援 100 個或更多 WorkSpaces 應用程式使用者的部署，建議使用 SAML 2.0。

# WorkSpaces 應用程式界面 VPC 端點
<a name="interface-vpc-endpoints"></a>

Virtual Private Cloud (VPC) 是 Amazon Web Services 雲端中您自己的邏輯隔離區域中的虛擬網路。如果您使用 Amazon Virtual Private Cloud 託管AWS資源，您可以在 VPC 和 WorkSpaces 應用程式之間建立私有連線。您可以使用此連線讓 WorkSpaces 應用程式與 VPC 上的資源通訊，而無需透過公有網際網路。

介面端點採用AWSPrivateLink，這項技術可讓您使用私有 IP 地址，將串流流量保留在您指定的 VPC 內。當您搭配 Direct Connect或 AWS Virtual Private Network通道使用 VPC 時，您可以將串流流量保留在您的網路中。

下列主題提供 WorkSpaces 應用程式界面端點的相關資訊。

**Topics**
+ [教學課程：從介面 VPC 端點建立和串流](creating-streaming-from-interface-vpc-endpoints.md)
+ [透過介面 VPC 端點存取 WorkSpaces 應用程式 API 操作和 CLI 命令](access-api-cli-through-interface-vpc-endpoint.md)

# 教學課程：從介面 VPC 端點建立和串流
<a name="creating-streaming-from-interface-vpc-endpoints"></a>

您可以使用 Amazon Web Services 帳戶中的介面 VPC 端點，將 Amazon VPC 和 WorkSpaces 應用程式之間的所有網路流量限制在 Amazon 網路。建立此端點之後，您可以將 WorkSpaces 應用程式堆疊或映像建置器設定為使用它。

**先決條件**

設定 WorkSpaces 應用程式的介面 VPC 端點之前，請注意下列先決條件：
+ 需要網際網路連線才能驗證使用者，並提供 WorkSpaces 應用程式運作所需的 Web 資產。此串流界面端點可將串流流量保持在 VPC 內。串流流量包含像素、USB、使用者輸入、音訊、剪貼簿、檔案上傳和下載，以及印表機流量。若要允許此流量，您必須允許 [允許的網域](allowed-domains.md) 中所列的網域。建立 VPC 端點之後，您必須允許 WorkSpaces 應用程式使用者身分驗證網域。不過，對於串流閘道，您可以限制只能存取 <vpc-endpoint-id>.streaming.appstream.<aws-region>.vpce.amazonaws.com。不需要允許列出至 \$1.amazonappstream.com。VPC 端點完整網域名稱會取代該相依性。
+ 使用者裝置所連線的網路必須能夠將流量路由到界面端點。
+ 與此界面端點關聯的安全群組必須允許從使用者連接的 IP 地址範圍對連接埠 443 (TCP) 和連接埠 1400-1499 (TCP) 的傳入存取。
+ 子網路的網路存取控制清單必須允許從暫時性網路連接埠 1024-65535 (TCP) 到使用者連接的 IP 地址範圍的傳出流量。
+ 您的 中必須有 IAM 許可政策AWS 帳戶，提供執行 `ec2:DescribeVpcEndpoints` API 動作的許可。根據預設，連接到 AmazonAppStreamServiceAccess 角色的 IAM 政策中會定義此許可。如果您有必要的許可，當您在 AWS區域中開始使用 WorkSpaces 應用程式服務時，WorkSpaces 應用程式會自動建立此服務角色，並連接必要的 IAM 政策。如需詳細資訊，請參閱[Amazon WorkSpaces 應用程式的 Identity and Access Management](controlling-access.md)。

**建立界面端點**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中，選擇 **Endpoints (端點)**，**Create Endpoint (建立端點)**。

1. 選擇**建立端點**。

1. 針對**服務類別**，請確定已選取**AWS服務**。

1. 針對**服務名稱**，選擇 **com.amazonaws.***<AWS 區域>***.appstream.streaming**。

1. 請指定下列資訊。完成時，請選擇 **Create endpoint (建立端點)**。
   + 針對 **VPC (VPC)**，選擇要在其中建立界面端點的 VPC。您可以選擇與具有 WorkSpaces 應用程式資源的 VPC 不同的 VPC。
   + 對於 **Subnets (子網路)**，請選擇欲建立端點的子網路 (可用區域)。建議您在至少兩個可用區域中選擇子網路。
   + 針對 **IP 地址類型**，選擇 IPV6 或 IPV4。
   + 確保已選取 **Enable Private DNS Name (啟用私有 DNS 名稱)** 核取方塊。
**注意**  
如果您的使用者使用網路 Proxy 存取串流執行個體，請停用網域上的任何 Proxy 快取，以及與私人端點相關聯的 DNS 名稱。應允許透過代理的 VPC 端點 DNS 名稱。
   + 針對 **Security group (安全群組)**，選擇要與端點網路界面建立關聯的安全群組。
**注意**  
安全群組必須提供從使用者連線的 IP 地址範圍對這些連接埠的傳入存取。

正在建立界面端點時，主控台中的端點狀態會顯示為 **Pending (待定)**。建立端點後，此狀態會變更為 **Available (可用)**。

 若要更新堆疊以使用您為串流工作階段建立的界面端點，請執行以下步驟。

**更新堆疊來使用新的界面端點**

1. 在 https：//[https://console.aws.amazon.com/appstream2/home](https://console.aws.amazon.com/appstream2/home) 開啟 WorkSpaces 應用程式主控台。

   請確定您在與您要使用的介面端點相同的AWS區域中開啟主控台。

1. 在導覽窗格中，選擇 **Stacks (堆疊)**，然後選擇您想要的堆疊。

1. 選擇 **VPC 端點**索引標籤，然後選擇**編輯**。

1. 在**編輯 VPC 端點**對話方塊中，針對**串流端點**選擇要用來串流流量的端點。

1. 選擇**更新**。

將透過此端點路由新串流工作階段的流量。不過，會透過先前指定的端點繼續路由目前串流工作階段的流量。

**注意**  
指定介面端點時，使用者無法使用網際網路端點串流。

# 透過介面 VPC 端點存取 WorkSpaces 應用程式 API 操作和 CLI 命令
<a name="access-api-cli-through-interface-vpc-endpoint"></a>

如果您使用 Amazon Virtual Private Cloud 託管AWS資源，您可以透過虛擬私有雲端 (VPC) 中的[介面 VPC 端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html) （介面端點） 直接連線至 WorkSpaces 應用程式 API 操作或命令列介面 (CLI) 命令，而不是透過網際網路連線。介面端點採用AWSPrivateLink 技術，這項技術可讓您使用私有 IP 地址，將串流流量保留在您指定的 VPC 內。當您使用界面端點時，VPC 和 WorkSpaces 應用程式之間的通訊會完全安全地在AWS網路中執行。

**注意**  
本主題說明如何透過介面端點存取 WorkSpaces 應用程式 API 操作和 CLI 命令。如需如何從 WorkSpaces 應用程式界面端點建立和串流的資訊，請參閱 [教學課程：從介面 VPC 端點建立和串流](creating-streaming-from-interface-vpc-endpoints.md)。

**先決條件**

若要使用界面端點，您必須符合下列先決條件：
+ 與此界面端點關聯的安全群組必須允許從使用者連接的 IP 地址範圍對連接埠 443 (TCP) 的傳入存取。
+ 子網路的網路存取控制清單必須允許從暫時性網路連接埠 1024-65535 (TCP) 到使用者連接的 IP 地址範圍的傳出流量。

**Topics**
+ [建立介面端點以存取 WorkSpaces 應用程式 API 操作和 CLI 命令](access-api-cli-through-interface-vpc-endpoint-create-interface-endpoint.md)
+ [使用界面端點存取 WorkSpaces 應用程式 API 操作和 CLI 命令](how-to-access-api-cli-through-interface-vpc-endpoint.md)

# 建立介面端點以存取 WorkSpaces 應用程式 API 操作和 CLI 命令
<a name="access-api-cli-through-interface-vpc-endpoint-create-interface-endpoint"></a>

執行下列步驟來建立界面端點。

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中，選擇 **Endpoints (端點)**，**Create Endpoint (建立端點)**。

1. 選擇**建立端點**。

1. 對於**服務類別**，請確定已選取**AWS服務**。

1. 針對**服務名稱**，選擇 **com.amazonaws.***<AWS 區域>***.appstream.api**。

1. 請指定下列資訊。完成時，請選擇 **Create endpoint (建立端點)**。
   + 針對 **VPC (VPC)**，選取要在其中建立界面端點的 VPC。
   + 針對 **Subnets (子網路)**，選取要在其中建立端點網路界面的子網路 (可用區域)。建議您在至少兩個可用區域中選擇子網路。
   + 或者，您可以選取 **Enable Private DNS Name (啟用私有 DNS 名稱)** 核取方塊。
**注意**  
如果您選取此選項，請確定您視需要設定 VPC 和 DNS 來支援私有 DNS。如需詳細資訊，請參閱《Amazon VPC 使用者指南》**中的[私有 DNS](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#vpce-private-dns)。
   + 針對 **Security group (安全群組)**，選取要與端點網路介面建立關聯的安全群組。
**注意**  
安全群組必須提供從使用者連線的 IP 地址範圍對這些連接埠的傳入存取。

正在建立界面端點時，主控台中的端點狀態會顯示為 **Pending (待定)**。建立端點後，此狀態會變更為 **Available (可用)**。

# 使用界面端點存取 WorkSpaces 應用程式 API 操作和 CLI 命令
<a name="how-to-access-api-cli-through-interface-vpc-endpoint"></a>

在您建立的介面 VPC 端點狀態變更為**可用**後，您可以使用端點來存取 WorkSpaces 應用程式 API 操作和 CLI 命令。若要這樣做，請在使用這些操作和命令時，使用界面端點的 DNS 名稱來指定 `endpoint-url` 參數。DNS 名稱為可公開解析，但此參數只能在您的 VPC 中順利路由流量。

以下範例示範當您使用 **describe-fleets** CLI 命令時，如何指定界面端點的 DNS 名稱：

```
aws appstream describe-fleets --endpoint-url <vpc-endpoint-id>.api.appstream.<aws-region>.vpce.amazonaws.com
```

下列範例示範如何在執行個體化 WorkSpaces 應用程式 Boto3 Python 用戶端時指定介面端點的 DNS 名稱：

```
appstream2client = boto3.client('appstream',region_name='<aws-region>',endpoint_url='<vpc-endpoint-id>.api.appstream.<aws-region>.vpce.amazonaws.com'
```

使用 `appstream2client` 物件的後續命令會自動使用您指定的界面端點。

如果您在界面端點上啟用私有 DNS 主機名稱，則不需要指定端點 URL。API 和 CLI 預設使用的 WorkSpaces 應用程式 API DNS 主機名稱會在 VPC 內解析。如需私有 DNS 主機名稱的詳細資訊，請參閱《Amazon VPC 使用者指南》**中的[私有 DNS](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#vpce-private-dns)。

# 使用 FIPS 端點保護傳輸中資料
<a name="protecting-data-in-transit-FIPS-endpoints"></a>

根據預設，當您與 WorkSpaces 應用程式服務通訊時，無論是使用 WorkSpaces 應用程式主控台、 AWS 命令列界面 (AWS CLI) 或 AWS SDK 的管理員，還是從映像建置器或機群執行個體串流的使用者，所有傳輸中的資料都會使用 TLS 1.2 加密。

如果您在 AWS 透過命令列界面或 API 存取 時需要 FIPS 140-2 驗證的密碼編譯模組，請使用 FIPS 端點。WorkSpaces 應用程式在所有可使用 WorkSpaces 應用程式的美國 AWS 區域中提供 FIPS 端點。當您使用 FIPS 端點時，傳輸中的所有資料都會使用符合聯邦資訊處理標準 (FIPS) 140-2 的密碼編譯標準加密。如需 FIPS 端點的資訊，包括 WorkSpaces 應用程式端點清單，請參閱[聯邦資訊處理標準 (FIPS) 140-2](https://aws.amazon.com/compliance/fips)。

**Topics**
+ [系統管理使用的 FIPS 端點](FIPS-for-administrative-use.md)
+ [FIPS 端點的使用者串流工作階段](FIPS-for-user-streaming-sessions.md)
+ [例外狀況](FIPS-exceptions.md)

# 系統管理使用的 FIPS 端點
<a name="FIPS-for-administrative-use"></a>

若要在為 WorkSpaces 應用程式執行 AWS CLI 命令時指定 FIPS 端點，請使用 `endpoint-url` 參數。下列範例使用美國西部 （奧勒岡） 區域中的 WorkSpaces 應用程式 FIPS 端點來擷取區域中所有堆疊的清單：

```
aws appstream describe-stacks --endpoint-url https://appstream2-fips.us-west-2.amazonaws.com
```

若要為 WorkSpaces 應用程式 API 操作指定 FIPS 端點，請使用 AWS SDK 中的程序來指定自訂端點。

# FIPS 端點的使用者串流工作階段
<a name="FIPS-for-user-streaming-sessions"></a>

如果您使用 SAML 2.0 或串流 URL 驗證使用者，您就可以為使用者的串流工作階段設定 FIPS 相容連線。

若要為使用 SAML 2.0 進行身分驗證的使用者使用 FIPS 相容連線，請在設定聯合的轉送狀態時指定 WorkSpaces 應用程式 FIPS 端點。如需使用 SAML 2.0 做為聯合身分的建構轉送狀態 URL 相關詳細資訊，請參閱 [正在設定 SAML](external-identity-providers-setting-up-saml.md)。

若要為透過串流 URL 驗證的使用者設定符合 FIPS 的連線，請在從 CLI 或 SDK 呼叫 [CreateStreamingURL](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html) 或 AWS [CreateImageBuilderStreamingURL](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateImageBuilderStreamingURL.html) 操作時指定 WorkSpaces 應用程式 FIPS AWS 端點。使用產生的 URL 連線至串流執行個體的使用者，會透過與 FIPS 相容的連線來連線。下列範例使用美國東部 （維吉尼亞） 區域的 WorkSpaces 應用程式 FIPS 端點來產生符合 FIPS 的串流 URL：

```
aws appstream create-streaming-url --stack-name stack-name --fleet-name fleet-name --user-id user-id --endpoint-url https://appstream2-fips.us-east-1.amazonaws.com
```

# 例外狀況
<a name="FIPS-exceptions"></a>

在下列情況下，系統不支援與 FIPS 相容的連線：
+ 透過 WorkSpaces 應用程式主控台管理 WorkSpaces 應用程式
+ 使用 WorkSpaces 應用程式使用者集區功能進行身分驗證的使用者串流工作階段
+ 使用介面 VPC 端點串流
+ 透過 WorkSpaces 應用程式主控台產生符合 FIPS 標準的串流 URLs 
+ 連線到您的 Google 雲端硬碟或 OneDrive 儲存帳戶，且您的儲存空間供應商未提供 FIPS 端點