

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

# Amazon WorkSpaces 的安全性
<a name="security"></a>

的雲端安全性 AWS 是最高優先順序。身為 AWS 客戶，您可以受益於資料中心和網路架構，該架構專為滿足最安全敏感組織的需求而建置。

安全性是 AWS 與您之間的共同責任。[共同責任模式](https://aws.amazon.com/compliance/shared-responsibility-model/)將其描述為雲端*的*安全性，和雲端*中*的安全性：
+ **雲端的安全性** – AWS 負責保護在 中執行 AWS 服務的基礎設施 AWS 雲端。 AWS 也為您提供可安全使用的服務。在[AWS 合規計劃](https://aws.amazon.com/compliance/programs/)中，第三方稽核人員會定期測試和驗證我們安全的有效性。若要了解適用於 Amazon WorkSpaces 的合規計劃，請參閱[AWS 合規計劃的 服務範圍](https://aws.amazon.com/compliance/services-in-scope/)。
+ **雲端的安全性** – 您的責任取決於您使用 AWS 的服務。您也必須對其他因素負責，包括資料的機密性、您公司的要求和適用法律和法規 

本文件有助於您了解如何在使用 WorkSpaces 時套用共同責任模型。下列主題說明如何設定 WorkSpaces 以符合您的安全與合規目標。您也會了解如何使用其他 AWS 服務來協助您監控和保護 WorkSpaces 資源。

**Topics**
+ [Amazon WorkSpaces 的資料保護](data-protection.md)
+ [適用於 WorkSpaces 的身分和存取管理](workspaces-access-control.md)
+ [Amazon WorkSpaces 的合規驗證](compliance-validation.md)
+ [Amazon WorkSpaces 的恢復能力](disaster-recovery-resiliency.md)
+ [Amazon WorkSpaces 中的基礎設施安全性](infrastructure-security.md)
+ [WorkSpaces 的更新管理](update-management.md)

# Amazon WorkSpaces 的資料保護
<a name="data-protection"></a>

 AWS [共同責任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)適用於 Amazon WorkSpaces 中的資料保護。如此模型所述， AWS 負責保護執行所有 的全域基礎設施 AWS 雲端。您負責維護在此基礎設施上託管內容的控制權。您也同時負責所使用 AWS 服務 的安全組態和管理任務。如需資料隱私權的詳細資訊，請參閱[資料隱私權常見問答集](https://aws.amazon.com/compliance/data-privacy-faq/)。如需有關歐洲資料保護的相關資訊，請參閱 *AWS 安全性部落格*上的 [AWS 共同的責任模型和 GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) 部落格文章。

基於資料保護目的，我們建議您保護 AWS 帳戶 登入資料，並使用 AWS IAM Identity Center 或 AWS Identity and Access Management (IAM) 設定個別使用者。如此一來，每個使用者都只會獲得授與完成其任務所必須的許可。我們也建議您採用下列方式保護資料：
+ 每個帳戶均要使用多重要素驗證 (MFA)。
+ 使用 SSL/TLS 與 AWS 資源通訊。我們需要 TLS 1.2 並建議使用 TLS 1.3。
+ 使用 設定 API 和使用者活動記錄 AWS CloudTrail。如需有關使用 CloudTrail 追蹤擷取 AWS 活動的資訊，請參閱*AWS CloudTrail 《 使用者指南*》中的[使用 CloudTrail 追蹤](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html)。
+ 使用 AWS 加密解決方案，以及其中的所有預設安全控制 AWS 服務。
+ 使用進階的受管安全服務 (例如 Amazon Macie)，協助探索和保護儲存在 Amazon S3 的敏感資料。
+ 如果您在 AWS 透過命令列界面或 API 存取 時需要 FIPS 140-3 驗證的密碼編譯模組，請使用 FIPS 端點。如需有關 FIPS 和 FIPS 端點的更多相關資訊，請參閱[聯邦資訊處理標準 (FIPS) 140-3](https://aws.amazon.com/compliance/fips/)。

我們強烈建議您絕對不要將客戶的電子郵件地址等機密或敏感資訊，放在標籤或自由格式的文字欄位中，例如**名稱**欄位。這包括當您使用 WorkSpaces 或其他 AWS 服務 主控台、API AWS CLI或 AWS SDKs時。您在標籤或自由格式文字欄位中輸入的任何資料都可能用於計費或診斷日誌。如果您提供外部伺服器的 URL，我們強烈建議請勿在驗證您對該伺服器請求的 URL 中包含憑證資訊。

如需有關 WorkSpaces 和 FIPS 端點加密的詳細資訊，請參閱 [設定 WorkSpaces Personal 的 FedRAMP 授權或 DoD SRG 合規](fips-encryption.md)。

## 靜態加密
<a name="encryption-rest"></a>

您可以使用 AWS KMS 金鑰來加密 WorkSpaces 的儲存磁碟區 AWS Key Management Service。如需詳細資訊，請參閱[WorkSpaces Personal 中的加密 WorkSpaces](encrypt-workspaces.md)。

當您建立具備加密磁碟區的 WorkSpace 時，WorkSpaces 會使用 Amazon Elastic Block Store (Amazon EBS) 來建立和管理這些磁碟區。EBS 會使用業界標準的 AES-256 演算法資料金鑰加密您的磁碟區。如需詳細資訊，請參閱《[Amazon EC2 使用者指南》中的 Amazon EBS 加密](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)。 *Amazon EC2 *

## 傳輸中加密
<a name="encryption-transit"></a>

對於 PCoIP，傳輸中的資料會使用 TLS 1.2 加密和 SigV4 要求簽署加密。PCoIP 通訊協定使用加密的 UDP 流量 (採用 AES 加密) 來串流像素。使用連接埠 4172 (TCP 和 UDP) 的串流連線已使用 AES-128 和 AES-256 密碼加密，但加密預設為 128 位元。您可以針對 Windows WorkSpaces 使用**設定 PCoIP 安全設定**群組政策設定，或針對 Amazon Linux WorkSpaces 修改 `pcoip-agent.conf` 檔案中的 **PCoIP 安全設定**，將此預設值變更為 256 位元。

若要進一步了解 Amazon WorkSpaces 的群組政策管理，請參閱 [在 WorkSpaces Personal 中管理您的 Windows WorkSpaces](group_policy.md) 中的 [設定 PCoIP 安全設定](group_policy.md#gp_security)。若要進一步了解如何修改 `pcoip-agent.conf` 檔案，請參閱 Teradici 文件中的 [控制 Amazon Linux WorkSpaces 上的 PCoIP 代理程式行為](manage_linux_workspace.md#pcoip_agent_linux) 和 [PCoIP 安全設定](https://www.teradici.com/web-help/pcoip_agent/standard_agent/linux/21.03/admin-guide/configuring/configuring/#pcoip-security-settings)。

對於 DCV，串流和控制傳輸中的資料會使用 TLS 1.3 加密進行 UDP 流量加密，並使用 AES-256 密碼進行 TLS 1.2 加密。

# 適用於 WorkSpaces 的身分和存取管理
<a name="workspaces-access-control"></a>

根據預設，IAM 使用者不具備 WorkSpaces 資源和操作的許可。若要允許 IAM 使用者管理 WorkSpaces 資源，您必須建立 IAM 政策，明確將許可授予使用者，然後將該政策連接到需要該些許可的 IAM 使用者或群組。

**注意**  
Amazon WorkSpaces 不支援在 WorkSpace 中佈建 IAM 憑證 (例如使用執行個體設定檔)。

若要提供存取權，請新增權限至您的使用者、群組或角色：
+ 中的使用者和群組 AWS IAM Identity Center：

  建立權限合集。請按照《*AWS IAM Identity Center 使用者指南*》中的[建立權限合集](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)說明進行操作。
+ 透過身分提供者在 IAM 中管理的使用者：

  建立聯合身分的角色。遵循《*IAM 使用者指南*》的[為第三方身分提供者 (聯合) 建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)中的指示。
+ IAM 使用者：
  + 建立您的使用者可擔任的角色。請按照《*IAM 使用者指南*》的[為 IAM 使用者建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)中的指示。
  + (不建議) 將政策直接附加至使用者，或將使用者新增至使用者群組。請遵循《*IAM 使用者指南*》的[新增許可到使用者 (主控台)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) 中的指示。

以下是 IAM 的其他資源：
+ 如需 IAM 政策的詳細資訊，請參閱《IAM 使用者指南》**中的[政策和許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)。
+ 如需 IAM 的詳細資訊，請參閱[身分和存取管理 (IAM)](https://aws.amazon.com/iam) 和 [https://docs.aws.amazon.com/IAM/latest/UserGuide/](https://docs.aws.amazon.com/IAM/latest/UserGuide/)。
+ 如需有關用於 IAM 許可政策的 WorkSpaces 特定資源、動作和條件內容金鑰的詳細資訊，請參閱《*IAM 使用者指南*》中的 [Amazon WorkSpaces 的動作、資源和條件金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonworkspaces.html)。
+ 如需協助您建立 IAM 政策的工具，請參閱 [AWS 政策產生器](https://aws.amazon.com/blogs/aws/aws-policy-generator/)。您也可以使用 [IAM 政策模擬器](https://docs.aws.amazon.com/IAM/latest/UsingPolicySimulatorGuide/)，測試政策會允許還是拒絕對 AWS的特定請求。

**Topics**
+ [政策範例](#workspaces-example-iam-policies)
+ [在 IAM 政策中指定 WorkSpaces 資源](#wsp_iam_resource)
+ [建立 workspaces\$1DefaultRole 角色](#create-default-role)
+ [建立 AmazonWorkSpacesPCAAccess 服務角色](#create-pca-access-role)
+ [AWS WorkSpaces 的 受管政策](managed-policies.md)
+ [在串流執行個體上存取 WorkSpaces 和指令碼](using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.md)
+ [Amazon WorkSpaces 主控台操作許可參考](wsp-console-permissions-ref.md)

## 政策範例
<a name="workspaces-example-iam-policies"></a>

以下範例顯示您可以用來控制 IAM 使用者具有之 Amazon WorkSpaces 許可的政策陳述式。

### 範例 1：授予執行 WorkSpaces 個人和集區任務的存取權
<a name="perform-workspaces-personal-pools-tasks"></a>

下列政策陳述式授予 IAM 使用者執行 WorkSpaces 個人和集區任務的許可。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ds:*",
                "workspaces:*",
                "application-autoscaling:DeleteScalingPolicy",
                "application-autoscaling:DeleteScheduledAction",
                "application-autoscaling:DeregisterScalableTarget",
                "application-autoscaling:DescribeScalableTargets",
                "application-autoscaling:DescribeScalingActivities",
                "application-autoscaling:DescribeScalingPolicies",
                "application-autoscaling:DescribeScheduledActions",
                "application-autoscaling:PutScalingPolicy",
                "application-autoscaling:PutScheduledAction",
                "application-autoscaling:RegisterScalableTarget",
                "cloudwatch:DeleteAlarms",
                "cloudwatch:DescribeAlarms",
                "cloudwatch:PutMetricAlarm",
                "ec2:AssociateRouteTable",
                "ec2:AttachInternetGateway",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateInternetGateway",
                "ec2:CreateNetworkInterface",
                "ec2:CreateRoute",
                "ec2:CreateRouteTable",
                "ec2:CreateSecurityGroup",
                "ec2:CreateSubnet",
                "ec2:CreateTags",
                "ec2:CreateVpc",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteSecurityGroup",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeInternetGateways",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeRouteTables",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs",
                "ec2:RevokeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupIngress",
                "iam:AttachRolePolicy",
                "iam:CreatePolicy",
                "iam:CreateRole",
                "iam:GetRole",
                "iam:ListRoles",
                "iam:PutRolePolicy",
                "kms:ListAliases",
                "kms:ListKeys",
                "secretsmanager:ListSecrets",
                "tag:GetResources",
                "sso-directory:SearchUsers",
                "sso:CreateApplication",
                "sso:DeleteApplication",
                "sso:DescribeApplication",
                "sso:DescribeInstance",
                "sso:GetApplicationGrant",
                "sso:ListInstances",
                
                "sso:PutApplicationAssignmentConfiguration",
                "sso:PutApplicationAuthenticationMethod",
                "sso:PutApplicationGrant"
            ],
            "Resource": "*"
        },
        {
            "Sid": "iamPassRole",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "workspaces.amazonaws.com"
                }
            }
        }
    ]
}
```

------

### 範例 2：授予執行 WorkSpaces Personal 任務的存取權
<a name="perform-workspaces-personal-tasks"></a>

下列政策陳述式授予 IAM 使用者執行所有 WorkSpaces Personal 任務的許可。

雖然 Amazon WorkSpaces 在使用 API `Action`和命令列工具時完全支援 和 `Resource`元素，但 IAM Amazon WorkSpaces AWS 管理主控台使用者必須具有下列動作和資源的許可：
+ 動作： `"ds:*"`
+ 資源：`"Resource": "*"`

下列政策範例顯示如何允許 IAM 使用者從 AWS 管理主控台使用 Amazon WorkSpaces。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "workspaces:*",
        "ds:*",
        "iam:GetRole",
        "iam:CreateRole",
        "iam:PutRolePolicy",
        "iam:CreatePolicy",
        "iam:AttachRolePolicy",
        "iam:ListRoles",
        "kms:ListAliases",
        "kms:ListKeys",
        "ec2:CreateVpc",
        "ec2:CreateSubnet",
        "ec2:CreateNetworkInterface",
        "ec2:CreateInternetGateway",
        "ec2:CreateRouteTable",
        "ec2:CreateRoute",
        "ec2:CreateTags",
        "ec2:CreateSecurityGroup",
        "ec2:DescribeInternetGateways",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeRouteTables",
        "ec2:DescribeVpcs",
        "ec2:DescribeSubnets",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribeAvailabilityZones",
        "ec2:AttachInternetGateway",
        "ec2:AssociateRouteTable",
        "ec2:AuthorizeSecurityGroupEgress",
        "ec2:AuthorizeSecurityGroupIngress",
        "ec2:DeleteSecurityGroup",
        "ec2:DeleteNetworkInterface",
        "ec2:RevokeSecurityGroupEgress",
        "ec2:RevokeSecurityGroupIngress",
        "secretsmanager:ListSecrets",
        "sso-directory:SearchUsers",
        "sso:CreateApplication",
        "sso:DeleteApplication",
        "sso:DescribeApplication",
        "sso:DescribeInstance",
        "sso:GetApplicationGrant",
        "sso:ListInstances",
        
        "sso:PutApplicationAssignmentConfiguration",
        "sso:PutApplicationAuthenticationMethod",
        "sso:PutApplicationGrant"
      ],
      "Resource": "*"
    },
    {
      "Sid": "iamPassRole",
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "workspaces.amazonaws.com"
        }
      }
    }
  ]
}
```

------

### 範例 3：授予執行 WorkSpaces 集區任務的存取權
<a name="perform-workspaces-pools-tasks"></a>

下列政策陳述式授予 IAM 使用者執行所有 WorkSpaces 集區任務的許可。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "workspaces:*",
                "application-autoscaling:DeleteScalingPolicy",
                "application-autoscaling:DeleteScheduledAction",
                "application-autoscaling:DeregisterScalableTarget",
                "application-autoscaling:DescribeScalableTargets",
                "application-autoscaling:DescribeScalingActivities",
                "application-autoscaling:DescribeScalingPolicies",
                "application-autoscaling:DescribeScheduledActions",
                "application-autoscaling:PutScalingPolicy",
                "application-autoscaling:PutScheduledAction",
                "application-autoscaling:RegisterScalableTarget",
                "cloudwatch:DeleteAlarms",
                "cloudwatch:DescribeAlarms",
                "cloudwatch:PutMetricAlarm",
                "ec2:CreateSecurityGroup",
                "ec2:CreateTags",
                "ec2:DescribeInternetGateways",
                "ec2:DescribeRouteTables",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs",
                "iam:AttachRolePolicy",
                "iam:CreatePolicy",
                "iam:CreateRole",
                "iam:GetRole",
                "iam:ListRoles",
                "iam:PutRolePolicy",
                "secretsmanager:ListSecrets",
                "tag:GetResources"
            ],
            "Resource": "*"
        },
        {
            "Sid": "iamPassRole",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "workspaces.amazonaws.com"
                }
            }
        },
        {
            "Action": "iam:CreateServiceLinkedRole",
            "Effect": "Allow",
            "Resource": "arn:aws:iam::*:role/aws-service-role/workspaces.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_WorkSpacesPool",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName": "workspaces.application-autoscaling.amazonaws.com"
                }
            }
        }
    ]
}
```

------

### 範例 4：執行 BYOL WorkSpaces 的所有 WorkSpaces 任務
<a name="perform-byol-workspaces-tasks"></a>

下列政策陳述式授予 IAM 使用者執行所有 WorkSpaces 任務的許可，包括建立自帶授權 (BYOL) WorkSpaces 所需的 Amazon EC2 任務。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ds:*",
                "workspaces:*",
                "ec2:AssociateRouteTable",
                "ec2:AttachInternetGateway",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateInternetGateway",
                "ec2:CreateNetworkInterface",
                "ec2:CreateRoute",
                "ec2:CreateRouteTable",
                "ec2:CreateSecurityGroup",
                "ec2:CreateSubnet",
                "ec2:CreateTags",
                "ec2:CreateVpc",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteSecurityGroup",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeImages",
                "ec2:DescribeInternetGateways",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeRouteTables",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs",
                "ec2:ModifyImageAttribute",
                "ec2:RevokeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupIngress",
                "iam:CreateRole",
                "iam:GetRole",
                "iam:PutRolePolicy",
                "kms:ListAliases",
                "kms:ListKeys"
            ],
            "Resource": "*"
        },
        {
            "Sid": "iamPassRole",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "workspaces.amazonaws.com"
                }
            }
        }
    ]
}
```

------

## 在 IAM 政策中指定 WorkSpaces 資源
<a name="wsp_iam_resource"></a>

若要在政策陳述式的 `Resource` 元素中指定 WorkSpaces 資源，請使用資源的 Amazon Resource Name (ARN)。您可藉由允許或拒絕使用 IAM 政策陳述式的 `Action` 元素中指定的 API 動作的許可，控制對 WorkSpaces 資源的存取。WorkSpaces 定義 WorkSpaces、套件、IP 群組和目錄的 ARN。

### WorkSpace ARN
<a name="wsp_arn_syntax"></a>

WorkSpace ARN 具有下列範例所示的語法。

```
arn:aws:workspaces:region:account_id:workspace/workspace_identifier
```

*region*  
WorkSpace 所在的區域 (例如 `us-east-1`)。

*account\$1id*  
 AWS 帳戶 ID，不含連字號 （例如 `123456789012`)。

*workspace\$1identifier*  
WorkSpace 的 ID (例如 `ws-a1bcd2efg`)。

以下是識別特定 WorkSpace 之政策陳述式的 `Resource` 元素格式。

```
"Resource": "arn:aws:workspaces:region:account_id:workspace/workspace_identifier"
```

您可使用 `*` 萬用字元來指定屬於特定區域中特定帳戶的所有 WorkSpaces。

### WorkSpace 集區 ARN
<a name="wsp_pools_arn_syntax"></a>

WorkSpace 集區 ARN 具有下列範例所示的語法。

```
arn:aws:workspaces:region:account_id:workspacespool/workspacespool_identifier
```

*region*  
WorkSpace 所在的區域 (例如 `us-east-1`)。

*account\$1id*  
 AWS 帳戶 ID，不含連字號 （例如 `123456789012`)。

*workspacespool\$1identifier*  
WorkSpace 集區的 ID （例如 `ws-a1bcd2efg`)。

以下是識別特定 WorkSpace 之政策陳述式的 `Resource` 元素格式。

```
"Resource": "arn:aws:workspaces:region:account_id:workspacespool/workspacespool_identifier"
```

您可使用 `*` 萬用字元來指定屬於特定區域中特定帳戶的所有 WorkSpaces。

### 憑證 ARN
<a name="wsp_cert_arn_syntax"></a>

WorkSpace 憑證 ARN 具有下列範例中顯示的語法。

```
arn:aws:workspaces:region:account_id:workspacecertificate/workspacecertificateidentifier
```

*region*  
WorkSpace 所在的區域 (例如 `us-east-1`)。

*account\$1id*  
 AWS 帳戶 ID，不含連字號 （例如 `123456789012`)。

*workspacecertificate\$1identifier*  
WorkSpace 憑證的 ID （例如 `ws-a1bcd2efg`)。

以下是識別特定 WorkSpace 憑證之政策陳述式的 `Resource`元素格式。

```
"Resource": "arn:aws:workspaces:region:account_id:workspacecertificate/workspacecertificate_identifier"
```

您可使用 `*` 萬用字元來指定屬於特定區域中特定帳戶的所有 WorkSpaces。

### 映像 ARN
<a name="image_arn_syntax"></a>

WorkSpace 映像 ARN 具有下列範例所示的語法。

```
arn:aws:workspaces:region:account_id:workspaceimage/image_identifier
```

*region*  
WorkSpace 映像所在的區域 (例如 `us-east-1`)。

*account\$1id*  
 AWS 帳戶 ID，不含連字號 （例如 `123456789012`)。

*bundle\$1identifier*  
WorkSpace 映像的 ID (例如 `wsi-a1bcd2efg`)。

以下是識別特定映象之政策陳述式 `Resource` 元素的格式。

```
"Resource": "arn:aws:workspaces:region:account_id:workspaceimage/image_identifier"
```

您可使用 `*` 萬用字元來指定屬於特定區域中特定帳戶的所有映像。

### 套件 ARN
<a name="bundle_arn_syntax"></a>

套件 ARN 具有下列範例所示的語法。

```
arn:aws:workspaces:region:account_id:workspacebundle/bundle_identifier
```

*region*  
WorkSpace 所在的區域 (例如 `us-east-1`)。

*account\$1id*  
 AWS 帳戶 ID，不含連字號 （例如 `123456789012`)。

*bundle\$1identifier*  
WorkSpace 套件的 ID (例如 `wsb-a1bcd2efg`)。

以下是識別特定套件之政策陳述式 `Resource` 元素的格式。

```
"Resource": "arn:aws:workspaces:region:account_id:workspacebundle/bundle_identifier"
```

您可使用 `*` 萬用字元來指定屬於特定區域中特定帳戶的所有套件。

### IP 群組 ARM
<a name="ipgroup_arn_syntax"></a>

IP 群組 ARN 具有下列範例所示的語法。

```
arn:aws:workspaces:region:account_id:workspaceipgroup/ipgroup_identifier
```

*region*  
WorkSpace 所在的區域 (例如 `us-east-1`)。

*account\$1id*  
 AWS 帳戶 ID，不含連字號 （例如 `123456789012`)。

*ipgroup\$1identifier*  
IP 群組的 ID (例如 `wsipg-a1bcd2efg`)。

以下是識別特定 IP 群組之政策陳述式 `Resource` 元素的格式。

```
"Resource": "arn:aws:workspaces:region:account_id:workspaceipgroup/ipgroup_identifier"
```

您可使用 `*` 萬用字元來指定屬於特定區域中特定帳戶的所有 IP 群組。

### 目錄 ARN
<a name="directory_arn_syntax"></a>

目錄 ARN 具有下列範例所示的語法。

```
arn:aws:workspaces:region:account_id:directory/directory_identifier
```

*region*  
WorkSpace 所在的區域 (例如 `us-east-1`)。

*account\$1id*  
 AWS 帳戶 ID，不含連字號 （例如 `123456789012`)。

*directory\$1identifier*  
目錄的 ID (例如 `d-12345a67b8`)。

以下是識別特定目錄之政策陳述式 `Resource` 元素的格式。

```
"Resource": "arn:aws:workspaces:region:account_id:directory/directory_identifier"
```

您可使用 `*` 萬用字元來指定屬於特定區域中特定帳戶的所有目錄。

### 連線別名 ARN
<a name="connection_alias_arn_syntax"></a>

連線別名 ARN 具有下列範例所示的語法。

```
arn:aws:workspaces:region:account_id:connectionalias/connectionalias_identifier
```

*region*  
連線別名所在的區域 (例如 `us-east-1`)。

*account\$1id*  
 AWS 帳戶 ID，不含連字號 （例如 `123456789012`)。

*connectionalias\$1identifier*  
連線別名的 ID (例如 `wsca-12345a67b8`)。

以下是識別特定連線別名之政策陳述式 `Resource` 元素的格式。

```
"Resource": "arn:aws:workspaces:region:account_id:connectionalias/connectionalias_identifier"
```

您可使用 `*` 萬用字元來指定屬於特定區域中特定帳戶的所有連線別名。

### 不支援資源層級許可的 API 動作
<a name="no-resource-level-permissions"></a>

您不能使用以下 API 動作指定資源 ARN：
+ `AssociateIpGroups`
+ `CreateIpGroup`
+ `CreateTags`
+ `DeleteTags`
+ `DeleteWorkspaceImage`
+ `DescribeAccount`
+ `DescribeAccountModifications`
+ `DescribeIpGroups`
+ `DescribeTags`
+ `DescribeWorkspaceDirectories`
+ `DescribeWorkspaceImages`
+ `DescribeWorkspaces`
+ `DescribeWorkspacesConnectionStatus`
+ `DisassociateIpGroups`
+ `ImportWorkspaceImage`
+ `ListAvailableManagementCidrRanges`
+ `ModifyAccount`

對於不支援資源層級許可的 API 動作，您必須指定下列資源陳述式，如下列範例所示。

```
"Resource": "*"
```

### 不支援共用資源帳戶層級限制的 API 動作
<a name="shared-resource-permissions"></a>

對於下列 API 動作，如果帳戶並未擁有資源，則無法在資源 ARN 中指定帳號 ID：
+ `AssociateConnectionAlias`
+ `CopyWorkspaceImage`
+ `DisassociateConnectionAlias`

對於這些 API 動作，只有在帳戶擁有要採取動作的資源時，您才可在資源 ARN 中指定帳戶 ID。當帳戶並未擁有資源時，您必須針對帳戶 ID 指定 `*`，如以下範例所示。

```
"arn:aws:workspaces:region:*:resource_type/resource_identifier"
```

## 建立 workspaces\$1DefaultRole 角色
<a name="create-default-role"></a>

您必須先確認名為 `workspaces_DefaultRole` 的角色是否存在，才能使用 API 註冊目錄。此角色是由 Quick Setup 建立，或者如果您使用 啟動 WorkSpace AWS 管理主控台，則會授予 Amazon WorkSpaces 代表您存取特定 AWS 資源的許可。如果此角色不存在，您可以使用下列程序加以建立。

**建立 workspaces\$1DefaultRole 角色**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 的 IAM 主控台。

1. 在左側導覽窗格中，選擇 **Roles** (角色)。

1. 選擇建**立角色**。

1. 在 **Select type of trusted entity** (選取信任的實體類型) 下，選擇 **Another AWS account** (另一個 帳戶)。

1. 針對**帳戶 ID**，輸入不含連字號或空格的帳戶 ID。

1. 針對**選項**，請勿指定多重要素驗證 (MFA)。

1. 選擇**下一步：許可**。

1. 在**連接許可政策**頁面上，選取 AWS 受管政策 **AmazonWorkSpacesServiceAccess**、**AmazonWorkSpacesSelfServiceAccess** 和 **AmazonWorkSpacesPoolServiceAccess**。如需這些受管政策的詳細資訊，請參閱 [AWS WorkSpaces 的 受管政策](managed-policies.md)。

1. 在**設定許可界限**之下，建議您不要使用許可界限，因為附加至此角色的政策可能發生衝突。這類衝突可能會封鎖角色的某些必要許可。

1. 選擇**下一步：標籤**。

1. 在**新增標籤 (選用)** 頁面上，視需要新增標籤。

1. 選擇 **Next:Review (下一步：檢閱)**。

1. 在 **Review** (檢閱) 頁面，針對 **Role name** (角色名稱) 輸入 **workspaces\$1DefaultRole**。

1. (選用) 針對 **Role description (角色描述)**，輸入描述。

1. 選擇**建立角色**。

1. 在 workspaces\$1DefaultRole 角色的**摘要**頁面上，選擇**信任關係**索引標籤。

1. 在 **Trust relationships (信任關係)** 標籤上，選擇 **Edit trust relationship (編輯信任關係)**。

1. 在**編輯信任關係**頁面上，以下列陳述式取代現有的政策陳述式。

   ```
   {
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "workspaces.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

1. 選擇 **Update Trust Policy** (更新信任政策)。

## 建立 AmazonWorkSpacesPCAAccess 服務角色
<a name="create-pca-access-role"></a>

您必須先確認名為 `AmazonWorkSpacesPCAAccess` 的角色是否存在，使用者才能使用憑證型驗證進行登入。當您使用 在目錄上啟用憑證型身分驗證時，會建立此角色 AWS 管理主控台，並授予 Amazon WorkSpaces 代表您存取 AWS 私有 CA 資源的許可。如果因為您未使用主控台來管理憑證型驗證而不存在此角色，您可以使用下列程序加以建立。

**使用 建立 AmazonWorkSpacesPCAAccess 服務角色 AWS CLI**

1. 使用以下文字建立名為 `AmazonWorkSpacesPCAAccess.json` 的 JSON 檔案。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "prod.euc.ecm.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. 視需要調整`AmazonWorkSpacesPCAAccess.json`路徑並執行下列 AWS CLI 命令，以建立服務角色並連接 [AmazonWorkspacesPCAAccess](managed-policies.md#workspaces-pca-access) 受管政策。

   ```
   aws iam create-role --path /service-role/ --role-name AmazonWorkSpacesPCAAccess --assume-role-policy-document file://AmazonWorkSpacesPCAAccess.json
   ```

   ```
   aws iam attach-role-policy —role-name AmazonWorkSpacesPCAAccess —policy-arn arn:aws:iam::aws:policy/AmazonWorkspacesPCAAccess
   ```

# AWS WorkSpaces 的 受管政策
<a name="managed-policies"></a>

使用 AWS 受管政策可讓您更輕鬆地將許可新增至使用者、群組和角色。建立 [IAM 客戶受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)需要時間和專業知識，而受管政策可為您的團隊提供其所需的許可。使用 AWS 受管政策快速入門。這些政策涵蓋常見的使用案例，並且可在您的帳戶中使用 AWS 。如需 AWS 受管政策的詳細資訊，請參閱《*IAM 使用者指南*》中的 [AWS 受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。

AWS 服務會維護和更新 AWS 受管政策。您無法變更 AWS 受管政策中的許可。服務可能會偶爾將其他許可新增至 AWS 受管政策，以支援新功能。此類型的更新會影響已連接政策的所有身分識別 (使用者、群組和角色)。當新功能啟動或新操作可用時，服務最有可能更新 AWS 受管政策。服務不會從 AWS 受管政策中移除許可，因此政策更新不會破壞您現有的許可。

此外， AWS 支援跨多個 服務之任務函數的受管政策。例如， `ReadOnlyAccess` AWS 受管政策提供所有 AWS 服務和資源的唯讀存取權。當服務啟動新功能時， AWS 會為新的操作和資源新增唯讀許可。如需任務職能政策的清單和說明，請參閱 *IAM 使用者指南*中[有關任務職能的AWS 受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)。

## AWS 受管政策：AmazonWorkSpacesAdmin
<a name="workspaces-admin"></a>

**注意**  
列出的許可僅適用於 SDK，不適用於 主控台。主控台需要 [Amazon WorkSpaces 主控台操作許可參考中列出的其他許可](wsp-console-permissions-ref.md)。

此政策提供對 Amazon WorkSpaces 管理動作的存取許可。其可提供下列許可：
+ `workspaces` - 允許存取對 WorkSpaces Personal 和 WorkSpaces 集區資源執行管理動作。
+ `kms` - 允許存取以列出和描述 KMS 金鑰以及列表別名。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AmazonWorkSpacesAdmin",
            "Effect": "Allow",
            "Action": [
                "kms:DescribeKey",
                "kms:ListAliases",
                "kms:ListKeys",
                "workspaces:CreateTags",
                "workspaces:CreateWorkspaceImage",
                "workspaces:CreateWorkspaces",
                "workspaces:CreateWorkspacesPool",
                "workspaces:CreateStandbyWorkspaces",
                "workspaces:DeleteTags",
                "workspaces:DeregisterWorkspaceDirectory",
                "workspaces:DescribeTags",
                "workspaces:DescribeWorkspaceBundles",
                "workspaces:DescribeWorkspaceDirectories",
                "workspaces:DescribeWorkspaces",
                "workspaces:DescribeWorkspacesPools",
                "workspaces:DescribeWorkspacesPoolSessions",
                "workspaces:DescribeWorkspacesConnectionStatus",
                "workspaces:ModifyCertificateBasedAuthProperties",
                "workspaces:ModifySamlProperties",
                "workspaces:ModifyStreamingProperties",
                "workspaces:ModifyWorkspaceCreationProperties",
                "workspaces:ModifyWorkspaceProperties",
                "workspaces:RebootWorkspaces",
                "workspaces:RebuildWorkspaces",
                "workspaces:RegisterWorkspaceDirectory",
                "workspaces:RestoreWorkspace",
                "workspaces:StartWorkspaces",
                "workspaces:StartWorkspacesPool",
                "workspaces:StopWorkspaces",
                "workspaces:StopWorkspacesPool",
                "workspaces:TerminateWorkspaces",
                "workspaces:TerminateWorkspacesPool",
                "workspaces:TerminateWorkspacesPoolSession",
                "workspaces:UpdateWorkspacesPool"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## AWS 受管政策：AmazonWorkspacesPCAAccess
<a name="workspaces-pca-access"></a>

此受管政策可讓您存取 AWS 帳戶中的 AWS Certificate Manager Private Certificate Authority (Private CA) 資源，以進行憑證型身分驗證。其包含在 AmazonWorkSpacesPCAAccess 角色中，並提供下列許可：
+ `acm-pca` - 允許存取 AWS 私有 CA 以管理憑證型身分驗證。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "acm-pca:IssueCertificate",
                "acm-pca:GetCertificate",
                "acm-pca:DescribeCertificateAuthority"
            ],
            "Resource": "arn:*:acm-pca:*:*:*",
            "Condition": {
                "StringLike": {
                    "aws:ResourceTag/euc-private-ca": "*"
                }
            }
        }
    ]
}
```

------

## AWS 受管政策：AmazonWorkSpacesSelfServiceAccess
<a name="workspaces-self-service-access"></a>

此政策可供存取 Amazon WorkSpaces 服務，以執行使用者初始的 WorkSpaces 自助式動作。其包含在 `workspaces_DefaultRole` 角色中，並提供下列許可：
+ `workspaces` - 允許存取使用者的自助式 WorkSpaces 管理功能。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "workspaces:RebootWorkspaces",
                "workspaces:RebuildWorkspaces",
                "workspaces:ModifyWorkspaceProperties"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

------

## AWS 受管政策：AmazonWorkSpacesServiceAccess
<a name="workspaces-service-access"></a>

此政策可供客戶帳戶存取 Amazon WorkSpaces 服務，以便啟動 WorkSpace。其包含在 `workspaces_DefaultRole` 角色中，並提供下列許可：
+ `ec2` - 允許存取以管理與 WorkSpace 相關聯的 Amazon EC2 資源，例如網路介面。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:DeleteNetworkInterface",
                "ec2:DescribeNetworkInterfaces"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

------

## AWS 受管政策：AmazonWorkSpacesPoolServiceAccess
<a name="workspaces-pools-service-access"></a>

此政策用於 workspaces\$1DefaultRole，WorkSpaces 會使用此政策來存取 WorkSpaces 集區客戶 AWS 帳戶中的必要資源。如需更多資訊，請參閱[建立 workspaces\$1DefaultRole 角色](workspaces-access-control.md#create-default-role)。其可提供下列許可：
+ `ec2` - 允許存取以管理與 WorkSpaces 集區相關聯的 Amazon EC2 資源，例如 VPCs、子網路、可用區域、安全群組和路由表。
+ `s3` - 允許存取對日誌、應用程式設定和主資料夾功能所需的 Amazon S3 儲存貯體執行動作。

------
#### [ Commercial AWS 區域 ]

下列政策 JSON 適用於商業 AWS 區域。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ProvisioningWorkSpacesPoolPermissions",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeRouteTables",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "WorkSpacesPoolS3Permissions",
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:ListBucket",
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:GetObjectVersion",
                "s3:DeleteObjectVersion",
                "s3:GetBucketPolicy",
                "s3:PutBucketPolicy",
                "s3:PutEncryptionConfiguration"
            ],
            "Resource": [
                "arn:aws:s3:::wspool-logs-*",
                "arn:aws:s3:::wspool-app-settings-*",
                "arn:aws:s3:::wspool-home-folder-*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

------

------
#### [ AWS GovCloud (US) Regions ]

下列政策 JSON 適用於商業 AWS GovCloud (US) Regions。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ProvisioningWorkSpacesPoolPermissions",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeRouteTables",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "WorkSpacesPoolS3Permissions",
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:ListBucket",
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:GetObjectVersion",
                "s3:DeleteObjectVersion",
                "s3:GetBucketPolicy",
                "s3:PutBucketPolicy",
                "s3:PutEncryptionConfiguration"
            ],
            "Resource": [
                "arn:aws-us-gov:s3:::wspool-logs-*",
                "arn:aws-us-gov:s3:::wspool-app-settings-*",
                "arn:aws-us-gov:s3:::wspool-home-folder-*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

------

------

## AWS 受管政策的 WorkSpaces 更新
<a name="updates-managed-policies"></a>

檢視自此服務開始追蹤這些變更以來，WorkSpaces AWS 受管政策更新的詳細資訊。


| 變更 | 描述 | Date | 
| --- | --- | --- | 
| [AWS 受管政策：AmazonWorkSpacesPoolServiceAccess](#workspaces-pools-service-access) - 新增的政策。 | WorkSpaces 新增了新的受管政策，以授予檢視 Amazon EC2 VPCs 和相關資源的許可，以及檢視和管理 WorkSpaces 集區的 Amazon S3 儲存貯體。 | 2024 年 6 月 24 日 | 
| [AWS 受管政策：AmazonWorkSpacesAdmin](#workspaces-admin) - 更新的政策 | WorkSpaces 將 WorkSpaces 集區的數個動作新增至 Amazon WorkSpacesAdmin 受管政策，授予管理員管理 WorkSpace 集區資源的存取權。 | 2024 年 6 月 24 日 | 
| [AWS 受管政策：AmazonWorkSpacesAdmin](#workspaces-admin) - 更新的政策 | WorkSpaces 將 workspaces:RestoreWorkspace 動作新增至 Amazon WorkSpacesAdmin 受管政策，並授予管理員還原 WorkSpaces 的存取權。 | 2023 年 6 月 25 日 | 
| [AWS 受管政策：AmazonWorkspacesPCAAccess](#workspaces-pca-access) - 新增的政策。 | WorkSpaces 新增了新的受管政策，以授予管理 AWS 私有 CA 以管理憑證型身分驗證的acm-pca許可。 | 2022 年 11 月 18 日 | 
| WorkSpaces 已開始追蹤變更 | WorkSpaces 已開始追蹤其 WorkSpaces 受管政策的變更。 | 2021 年 3 月 1 日 | 

# 在串流執行個體上存取 WorkSpaces 和指令碼
<a name="using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances"></a>

在 WorkSpaces 串流執行個體上執行的應用程式和指令碼必須在其 AWSAPI 請求中包含AWS登入資料。您可以建立 IAM 角色來管理這些憑證。IAM 角色會指定一組可用於存取 AWS資源的許可。不過，此角色並非與某個人單獨關聯。反之，任何需要此角色的任何人都可以擔任此角色。

您可以將 IAM 角色套用至 WorkSpaces 串流執行個體。當串流執行個體切換為 (擔任) 該角色時，該角色會提供暫時安全登入資料。您的應用程式或指令碼會使用這些憑證，在串流執行個體上執行 API 動作和管理任務。WorkSpaces 會為您管理臨時登入資料切換。

**Topics**
+ [搭配 WorkSpaces 串流執行個體使用 IAM 角色的最佳實務](#best-practices-for-using-iam-role-with-streaming-instances)
+ [設定現有的 IAM 角色以搭配 WorkSpaces 串流執行個體使用](#configuring-existing-iam-role-to-use-with-streaming-instances)
+ [如何建立 IAM 角色以搭配 WorkSpaces 串流執行個體使用](#how-to-create-iam-role-to-use-with-streaming-instances)
+ [如何搭配 WorkSpaces 串流執行個體使用 IAM 角色](#how-to-use-iam-role-with-streaming-instances)

## 搭配 WorkSpaces 串流執行個體使用 IAM 角色的最佳實務
<a name="best-practices-for-using-iam-role-with-streaming-instances"></a>

當您搭配 WorkSpaces 串流執行個體使用 IAM 角色時，建議您遵循下列實務：
+ 限制您授予 AWSAPI 動作和資源的許可。

  當您建立 IAM 政策並將其連接至與 WorkSpaces 串流執行個體相關聯的 IAM 角色時，請遵循最低權限原則。當您使用需要存取 AWSAPI 動作或資源的應用程式或指令碼時，請判斷所需的特定動作和資源。然後，建立允許應用程式或指令碼僅執行那些動作的政策。如需詳細資訊，請參閱*《IAM 使用者指南》*中的[授予最低權限](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)。
+ 為每個 WorkSpaces 資源建立 IAM 角色。

  為每個 WorkSpaces 資源建立唯一的 IAM 角色是遵循最低權限原則的做法。這樣做也可讓您修改資源的許可，而不會影響其他資源。
+ 限制可使用登入資料的位置。

  IAM 政策可讓您定義可使用 IAM 角色來存取資源的條件。例如，您可以包含條件，以指定請求可能來自的 IP 地址範圍。這樣做可防止登入資料在您的環境外遭到使用。如需詳細資訊，請參閱《IAM 使用者指南》**中的[使用政策條件提供額外的安全性](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#use-policy-conditions)。

## 設定現有的 IAM 角色以搭配 WorkSpaces 串流執行個體使用
<a name="configuring-existing-iam-role-to-use-with-streaming-instances"></a>

本主題說明如何設定現有的 IAM 角色，以便與 WorkSpaces 搭配使用。

**先決條件**

您想要與 WorkSpaces 搭配使用的 IAM 角色必須符合下列先決條件：
+ IAM 角色必須與 WorkSpaces 串流執行個體位於相同的 Amazon Web Services 帳戶中。
+ IAM 角色不能是服務角色。
+ 連接至 IAM 角色的信任關係政策必須包含 WorkSpaces 服務做為委託人。*委託*人是 中的實體AWS，可執行動作和存取資源。政策也必須包含 `sts:AssumeRole` 動作。此政策組態將 WorkSpaces 定義為信任的實體。

  
+ 如果您要將 IAM 角色套用至 WorkSpaces，WorkSpaces 必須執行 2019 年 9 月 3 日當天或之後發行的 WorkSpaces 代理程式版本。如果您要將 IAM 角色套用至 WorkSpaces，WorkSpaces 必須使用在相同日期或之後發行的代理程式版本映像。

**若要讓 WorkSpaces 服務主體擔任現有的 IAM 角色**

若要執行以下步驟，您必須以有權列出和更新 IAM 角色的 IAM 使用者身分登入帳戶。如果您沒有所需許可，可請 Amazon Web Services 帳戶管理員在您的帳戶中執行這些步驟，或授予您必要的許可。

1. 在以下網址開啟 IAM 主控台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在導覽窗格中，選擇**角色**。

1. 在您帳戶的角色清單中，選擇您想要修改的角色名稱。

1. 選擇 **Trust Relationships (信任關係)** 標籤，然後選擇 **Edit Trust Relationship (編輯信任關係)**。

1. 在 **Policy Document (政策文件)** 下，確認信任關係政策包含適用於 `workspaces.amazonaws.com` 服務委託人的 `sts:AssumeRole` 動作：

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "workspaces.amazonaws.com"
           ]
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. 當您完成編輯您的信任政策，請選擇 **Update Trust Policy (更新信任政策)** 來儲存您的變更。

1. 您選取的 IAM 角色會顯示在 WorkSpaces 主控台中。此角色會將許可授予應用程式和指令碼，來在串流執行個體上執行 API 動作和管理任務。

## 如何建立 IAM 角色以搭配 WorkSpaces 串流執行個體使用
<a name="how-to-create-iam-role-to-use-with-streaming-instances"></a>

本主題說明如何建立新的 IAM 角色，以便與 WorkSpaces 搭配使用

1. 在以下網址開啟 IAM 主控台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在導覽窗格中，選擇**角色**，然後選擇**建立角色**。

1. 對於 **Select type of trusted entity (選取信任的實體類型)**，選擇 **AWSservice ( 服務)**。

1. 從AWS服務清單中，選擇 **WorkSpaces**。

1. 在**選取您的使用案例**下，已選取 **WorkSpaces — 允許 WorkSpaces 執行個體代表您呼叫 AWS服務**。選擇**下一步：許可**。

1. 可以的話，請選取用於許可政策的政策，或者選擇 **Create policy (建立政策)** 以開啟新的瀏覽器標籤，並從頭建立新的政策。如需詳細資訊，請參閱《IAM 使用者指南》**中的[建立 IAM 政策 (主控台)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start) 程序的步驟 4。

   在您建立政策後，關閉該標籤並返回您的原始標籤。選取您希望 WorkSpaces 擁有的許可政策旁的核取方塊。

1. (選用) 設定許可界限。這是進階功能，可用於服務角色，而不是服務連結的角色。如需詳細資訊，請參閱《IAM 使用者指南》**中的 [IAM 實體許可界限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)。

1. 選擇下**一步：標籤**。您可以選擇將標籤附加為金鑰值配對。如需詳細資訊，請參閱《IAM 使用者指南》**中的[標記 IAM 使用者和角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)。

1. 選擇下**一步：檢閱**。

1. 在**角色名稱**中，輸入您 Amazon Web Services 帳戶中的唯一角色名稱。由於其他AWS資源可能會參考角色，因此您無法在建立角色之後編輯角色的名稱。

1. 在 **Role description** (角色描述) 中，保留預設角色描述或輸入新的角色描述。

1. 檢閱角色，然後選擇 **Create role** (建立角色)。

## 如何搭配 WorkSpaces 串流執行個體使用 IAM 角色
<a name="how-to-use-iam-role-with-streaming-instances"></a>

建立 IAM 角色之後，您可以在啟動 WorkSpaces 時將其套用至 WorkSpaces。您也可以將 IAM 角色套用至現有的 WorkSpaces。

當您將 IAM 角色套用至 WorkSpaces 時，WorkSpaces 會擷取臨時登入資料，並在執行個體上建立 **workspaces\$1machine\$1role** 登入資料設定檔。臨時憑證的有效期為 1 小時，而且每小時都會擷取新的憑證。之前的登入資料不會過期，因此您可以在有效期間進行使用。您可以使用登入資料設定檔，使用AWS Command Line Interface (AWSCLI)、AWSTools for PowerShell 或 AWSSDK 搭配您選擇的語言，以程式設計方式呼叫 AWS服務。

當您進行 API 呼叫時，請指定 **workspaces\$1machine\$1role** 做為登入資料設定檔。否則，此操作會因許可不足而失敗。

佈建串流執行個體時，WorkSpaces 會擔任指定的角色。由於 WorkSpaces 使用連接到 VPC 的彈性網路界面進行 AWSAPI 呼叫，因此您的應用程式或指令碼必須等待彈性網路界面變成可用，才能進行 AWSAPI 呼叫。如果在彈性網路界面變成可用前已進行 API 呼叫，則呼叫會失敗。

下列範例示範如何使用 **workspaces\$1machine\$1role** 登入資料描述檔來描述串流執行個體 (EC2 執行個體） 和建立 Boto 用戶端。Boto 是適用於 Python 的 Amazon Web Services (AWS) SDK。

**使用 CLI 描述串流執行個體 (EC2 AWS執行個體）**

```
aws ec2 describe-instances --region us-east-1 --profile workspaces_machine_role
```

**使用 AWSTools for PowerShell 描述串流執行個體 (EC2 執行個體）**

您必須使用 AWSTools for PowerShell 3.3.563.1 版或更新版本，搭配 Amazon Web Services SDK for .NET 3.3.103.22 版或更新版本。您可以從 Tools for PowerShell 網站下載 AWSTools for Windows 安裝程式，其中包括 AWSTools for [AWS PowerShell 和 Amazon Web Services SDK for ](https://aws.amazon.com/powershell/).NET。

```
Get-EC2Instance -Region us-east-1 -ProfileName workspaces_machine_role
```

**使用適用於 Python 的 AWSSDK 建立 Boto 用戶端**

```
session = boto3.Session(profile_name=workspaces_machine_role')
```

# Amazon WorkSpaces 主控台操作許可參考
<a name="wsp-console-permissions-ref"></a>

有些 Amazon WorkSpaces APIs 只能透過 AWS 管理主控台呼叫。它們不是公有 APIs，因此無法以程式設計方式呼叫，而且不是由任何 SDK 提供。這些 API 操作包括：
+ workspaces：DirectoryAccessManagement
+ workspaces：CreateRootClientCertificate
+ workspaces：UpdateRootClientCertificate
+ workspaces：DeleteRootClientCertificate
+ workspaces：DescribeConsent
+ workspaces：UpdateConsent

## WorkSpaces 主控台操作和動作所需的許可
<a name="wsp-console-operations"></a>

主控台對其功能使用其他 API 動作，因此 WorkSpaces 公有 APIs的許可可能不足。例如，具有透過 CLI/SDK 使用 [CreateWorkspaces](https://docs.aws.amazon.com/workspaces/latest/api/API_CreateWorkspaces.html) API 許可的使用者可能會在嘗試在主控台上建立 WorkSpace 時遇到錯誤，因為他們缺少選取或建立使用者的特定許可。此資料表列出只能在 WorkSpaces 主控台上使用的功能，以及讓使用者能夠使用主控台這些特定部分所需的額外許可。

[範例政策](https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-access-control.html#workspaces-example-iam-policies)區段提供許可清單，以針對個人、集區和 BYOL WorkSpaces 執行所有 WorkSpaces 任務。

或者，您也可以使用精細許可來套用最低權限許可來執行任務。

此資料表列出依賴 SDK 未提供的 APIs 的 WorkSpaces 主控台功能，以及讓使用者能夠使用主控台這些特定部分的必要許可。除了 SDK 提供的 APIs 所需的其他動作之外，還應該新增這些許可。


| WorkSpaces 主控台操作 | 所需的許可 | 
| --- | --- | 
|  [WorkSpaces 個人快速設定](https://docs.aws.amazon.com/workspaces/latest/adminguide/managing-wsp-personal.html#getting-started)  |  workspaces：DirectoryAccessManagement ds：\$1 ec2：CreateVpc ec2：CreateSubnet ec2:CreateNetworkInterface ec2：CreateInternetGateway ec2：CreateRouteTable ec2：CreateRoute ec2：CreateTags ec2：CreateSecurityGroup ec2：DescribeInternetGateways ec2：DescribeSecurityGroups ec2：DescribeRouteTables ec2：DescribeVpcs ec2：DescribeSubnets ec2:DescribeNetworkInterfaces ec2：DescribeAvailabilityZones ec2:AttachInternetGateway ec2:AssociateRouteTable ec2:AuthorizeSecurityGroupIngress ec2:AuthorizeSecurityGroupEgress iam:CreateRole iam:GetRole iam：PutRolePolicy workspaces:DescribeAccount workspaces:DescribeWorkspaceDirectories workspaces:CreateWorkspaces workspaces:DescribeWorkspaces workspaces:RegisterWorkspaceDirectory workspaces:DescribeWorkspaceBundles workspaces:DescribeWorkspaces  | 
|  [限制對 WorkSpaces Personal 受信任裝置的存取](https://docs.aws.amazon.com/workspaces/latest/adminguide/trusted-devices.html#configure-restriction)  |  workspaces：CreateRootClientCertificate workspaces：UpdateRootClientCertificate workspaces：DeleteRootClientCertificate ds:DescribeDirectories ec2：DescribeSubnets ec2：DescribeSecurityGroups workspaces:DescribeAccount workspaces:DescribeWorkspaceDirectories workspaces：DescribeTags workspaces:DescribeClientProperties workspaces：DescribeConnectClientAddins workspaces：DirectoryAccessManagement  | 
|  [在主控台的 WorkSpace WorkSpaces](https://docs.aws.amazon.com/workspaces/latest/adminguide/create-workspaces-personal.html)：create/search/describe Directory Service 目錄使用者  |  workspaces：DirectoryAccessManagement workspaces:DescribeAccount workspaces:CreateWorkspaces workspaces:DescribeWorkspaces workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaceBundles workspaces：DescribeTags workspaces：CreateTags workspaces:DescribeClientProperties kms:ListKeys kms:ListAliases kms:描述金鑰 ds:DescribeTrusts ds:DescribeDirectories ec2：DescribeSubnets ec2：DescribeSecurityGroups  | 
|  在[ WorkSpaces Personal 中管理使用者](https://docs.aws.amazon.com/workspaces/latest/adminguide/manage-workspaces-users.html) – 編輯使用者並傳送使用者邀請電子郵件  |  workspaces：DirectoryAccessManagement workspaces:DescribeAccount workspaces:DescribeWorkspaceDirectories workspaces:DescribeWorkspaces workspaces：DescribeTags workspaces:DescribeWorkspaceBundles workspaces:DescribeWorkspacesConnectionStatus workspaces:DescribeWorkspaceAssociations workspaces:DescribeWorkspaceSnapshots workspaces：DescribeWorkspaceImages workspaces:DescribeConnectionAliases  | 
|  [更新 WorkSpaces Personal 的 AD Connector 帳戶 (AD Connector)](https://docs.aws.amazon.com/workspaces/latest/adminguide/connect-account.html)  |  workspaces：DirectoryAccessManagement ds:DescribeDirectories ds：UpdateDirectory ec2：DescribeSubnets ec2：DescribeSecurityGroups workspaces:DescribeAccount workspaces:DescribeWorkspaceDirectories workspaces：DescribeTags workspaces:DescribeClientProperties workspaces：DescribeConnectClientAddins  | 
|  [選取 WorkSpaces Personal 的組織單位](https://docs.aws.amazon.com/workspaces/latest/adminguide/select-ou.html)  |  workspaces：DirectoryAccessManagement ds:DescribeDirectories ec2：DescribeSubnets ec2：DescribeSecurityGroups workspaces:DescribeAccount workspaces:DescribeWorkspaceDirectories workspaces：DescribeTags workspaces:DescribeClientProperties workspaces：DescribeConnectClientAddins workspaces:ModifyWorkspaceCreationProperties  | 
|  [啟用您的 BYOL 帳戶](https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html) – 確認了解使用 BYOL WorkSpaces 的要求  |  workspaces：DescribeConsent workspaces：UpdateConsent workspaces:DescribeAccount workspaces:ListAccountLinks workspaces:DescribeWorkspaceBundles workspaces：DescribeWorkspaceImages workspaces:DescribeWorkspaceDirectories  | 

# Amazon WorkSpaces 的合規驗證
<a name="compliance-validation"></a>

第三方稽核人員會在多個合規計畫中評估 Amazon WorkSpaces 的安全性和 AWS 合規性。這些計劃包括 SOC、PCI、FedRAMP、HIPAA 等等。

如需特定合規計劃範圍內 AWS 的服務清單，請參閱[AWS 合規計劃範圍內的服務](https://aws.amazon.com/compliance/services-in-scope/)。如需一般資訊，請參閱 [AWS 合規計劃](https://aws.amazon.com/compliance/programs/) 。

您可以使用 下載第三方稽核報告 AWS Artifact。如需詳細資訊，請參閱[在 中下載報告 AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html)。

如需 WorkSpaces 和 FedRAMP 的詳細資訊，請參閱 [設定 WorkSpaces Personal 的 FedRAMP 授權或 DoD SRG 合規](fips-encryption.md)。

您使用 WorkSpaces 時的合規責任取決於資料的敏感度、您公司的合規目標，以及適用的法律和法規。 AWS 提供以下資源協助您處理合規事宜：
+ [安全與合規快速入門指南](https://aws.amazon.com/quickstart/?awsf.quickstart-homepage-filter=categories%23security-identity-compliance)：這些部署指南討論架構考量，並提供在 AWS上部署以安全及合規為重心之基準環境的步驟。
+ [Amazon Web Services 上的 HIPAA 安全與合規架構](https://docs.aws.amazon.com/pdfs/whitepapers/latest/architecting-hipaa-security-and-compliance-on-aws/architecting-hipaa-security-and-compliance-on-aws.pdf) – 本白皮書說明公司如何使用 AWS 來建立符合 HIPAA 規範的應用程式。
+ [AWS 合規資源](https://aws.amazon.com/compliance/resources/) – 此工作手冊和指南的集合可能適用於您的產業和位置。
+ 使用 *AWS Config 開發人員指南* 中的[規則評估資源](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) AWS Config：評估資源組態符合內部實務、產業準則和法規的程度。
+ [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html) – AWS 此服務提供 內安全狀態的全面檢視 AWS ，可協助您檢查是否符合安全產業標準和最佳實務。

# Amazon WorkSpaces 的恢復能力
<a name="disaster-recovery-resiliency"></a>

 AWS 全域基礎設施是以 AWS 區域和可用區域為基礎。區域提供多個分開且隔離的實際可用區域，並以低延遲、高輸送量和高度備援網路連線相互連結。透過可用區域，您可以設計與操作的應用程式和資料庫，在可用區域之間自動容錯移轉而不會發生中斷。可用區域的可用性、容錯能力和擴展能力，均較單一或多個資料中心的傳統基礎設施還高。

如需 AWS 區域和可用區域的詳細資訊，請參閱[AWS 全球基礎設施](https://aws.amazon.com/about-aws/global-infrastructure/)。

Amazon WorkSpaces 也提供跨區域重新導向，這項功能可搭配您的網域名稱系統 (DNS) 容錯移轉路由政策使用，在主要 WorkSpaces 無法使用時，將您的 WorkSpaces 使用者重新導向至另一個 AWS 區域中的替代 WorkSpaces。如需詳細資訊，請參閱[WorkSpaces Personal 的跨區域重新導向](cross-region-redirection.md)。

# 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 和更新版本)大多會支援這些模式。

**Topics**
+ [網路隔離](network-isolation.md)
+ [實體主機上的隔離](physical-isolation.md)
+ [Credential Guard/以虛擬化為基礎的安全性 (VBS)](credential-guard-vbs.md)
+ [公司使用者驗證](authorization.md)
+ [從介面 VPC 端點建立和串流](creating-streaming-vpc-endpoints.md)
+ [透過 VPC 介面端點提出 Amazon WorkSpaces API 請求](interface-vpc-endpoint.md)
+ [為 Amazon WorkSpaces 建立 VPC 端點政策。](api-private-link-policy.md)
+ [將私有網路連線到 VPC](notebook-private-link-vpn.md)

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

虛擬私有雲端 (VPC) 是 AWS 雲端中您自己的邏輯隔離區域中的虛擬網路。您可以將 WorkSpaces 部署到 VPC 的私有子網路。如需詳細資訊，請參閱 [為 WorkSpaces Personal 設定 VPC](amazon-workspaces-vpc.md)。

若要只允許來自特定位址範圍的流量 (例如，來自您的公司網路)，請更新 VPC 的安全群組或使用 [IP 存取控制群組](amazon-workspaces-ip-access-control-groups.md)。

您可使用有效的憑證來限制 WorkSpace 對受信任裝置的存取。如需詳細資訊，請參閱[限制對 WorkSpaces Personal 受信任裝置的存取](trusted-devices.md)。

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

相同實體主機上的不同 WorkSpaces 已透過 Hypervisor 彼此隔離。就好像它們位於不同的實體主機上一樣。刪除 WorkSpace 時，Hypervisor 會先清除配置給它的記憶體 (設定為零)，然後再將其配置到新的 WorkSpace。

# Credential Guard/以虛擬化為基礎的安全性 (VBS)
<a name="credential-guard-vbs"></a>

Windows WorkSpaces 可以利用 Credential Guard 和虛擬化型安全性 (VBS) 來提供硬體型隔離，並保護作業系統中的登入資料。您可以透過群組政策設定停用 Credential Guard 或 VBS。

**重要**  
停用 VBS 可減少 Windows WorkSpace 的安全狀態。只有在特定效能或相容性需求需要時才停用 VBS。

**停用 VBS 的安全性影響**
+ **減少核心層級保護** – 作業系統核心更容易受到惡意程式碼的攻擊。
+ **憑證遭竊的風險增加** – 攻擊者可能會更輕鬆地從 lsass.exe 程序擷取憑證。
+ **已停用的程式碼完整性檢查** – Hypervisor 強制執行的程式碼完整性 (HVCI) 將無法運作，允許未簽署的驅動程式在核心模式下執行。
+ **漏洞增加 –** 系統更容易受到可能導致完整系統入侵的攻擊。
+ **失去進階安全功能** – Windows Defender Credential Guard 和 System Guard 等功能無法如預期般運作。

# 公司使用者驗證
<a name="authorization"></a>

使用 WorkSpaces 時，目錄可透過 Directory Service管理。您可以為使用者建立獨立的受管理目錄。或者，您也可與現有的 Active Directory 環境整合，讓使用者可以使用其目前的認證來取得企業資源的無縫存取權。如需詳細資訊，請參閱[管理 WorkSpaces Personal 的目錄](manage-workspaces-directory.md)。

若要進一步控制對 WorkSpaces 的存取，請使用多重要素驗證。如需詳細資訊，請參閱[如何啟用 AWS 服務的多重要素驗證](https://aws.amazon.com/blogs/security/how-to-enable-multi-factor-authentication-for-amazon-workspaces-and-amazon-quicksight-by-using-microsoft-ad-and-on-premises-credentials/)。

# 從介面 VPC 端點建立和串流
<a name="creating-streaming-vpc-endpoints"></a>

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

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

您可以使用AWS帳戶中的 VPC 端點，將 Amazon VPC 和 WorkSpaces 之間的所有串流流量限制在AWS網路。建立端點之後，請將 WorkSpaces 目錄設定為使用它。

## 先決條件和限制
<a name="vpc-prerequisites"></a>

在為 WorkSpaces 設定 VPC 端點之前，請注意下列先決條件和限制。
+ 此功能目前支援 IPv4 或 IPv6 DNS 記錄 IP 類型。不支援雙堆疊 DNS 記錄 IP 類型。
+ 您只能設定AWS 帳戶與目錄位於相同 的 VPC 端點。不支援其他AWS 帳戶 中的 VPC 端點，包括共用 VPCs中的端點。
+ 此功能目前僅支援 VPC 端點的私有 DNS 名稱。VPC 端點的私有 DNS 名稱無法公開解析。
+ 此功能目前僅適用於 WorkSpaces Personal。WorkSpaces 集區不支援 VPC 端點進行串流。
+ VPC 端點功能僅適用於使用 Amazon DCV 的 WorkSpaces。當您為目錄設定 VPC 端點時，使用者無法透過網際網路從 Amazon DCV 串流。不過，您可以在 VPC 端點組態期間，為相同目錄中的 PCoIP WorkSpaces 啟用網際網路串流。
+ 若要維護 VPC 內的串流流量，請使用串流 VPC 端點。您的 WorkSpaces 用戶端需要網際網路連線才能進行使用者身分驗證。在連接埠 443 (UDP 和 TCP) 上啟用身分驗證流量的傳出存取。此外，您必須根據您選擇的身分驗證方法，將必要的網域和 IP 地址新增至允許清單。如需每個類別的完整網域清單，請參閱[要新增至允許清單的網域和 IP 地址](https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-port-requirements.html#whitelisted_ports)。
  + CAPTCHA
  + 目錄設定
  + 如果您使用智慧卡，則為工作階段前智慧卡身分驗證端點
  + 使用者登入頁面
  + WS 中介裝置
  + 適用於 SAML 單一登入 (SSO) 的 WorkSpaces 節點
+ 您使用者裝置連線的網路必須能夠將流量路由到 VPC 端點。
+ 您必須擁有AWS帳戶中 IAM 使用者或 IAM 角色的 IAM 許可政策，才能執行 `ec2:DescribeVpcEndpoints` API 動作。
+ WorkSpaces 串流 VPC 端點目前不支援 FIPS 加密。如果您已為目錄啟用 FIPS 加密，則需要在設定 VPC 端點之前停用 FIPS 加密。
+ AWS透過 VPC 端點串流時，無法使用 Global Accelerator (AGA) 整合。
+ 為目錄設定 VPC 端點時，不再套用為目錄指定的 IP 存取控制群組。

## 設定 WorkSpaces 串流的 VPC 端點
<a name="setting-up-vpc-endpoint"></a>

若要設定 WorkSpaces 串流的 VPC 端點，請完成下列步驟：

### 步驟 1：建立安全群組
<a name="create-security-group"></a>

在此步驟中，您會建立安全群組，讓 WorkSpaces 用戶端與您要建立的 VPC 端點通訊。

1. 在 Amazon EC2 主控台的導覽窗格中，移至**網路與安全**，然後移至**安全群組**。

1. 選取**建立安全群組**。

1. 在**基本詳細資訊**下，輸入下列項目：
   + 針對**安全群組名稱** – 輸入可識別安全群組的唯一名稱。
   + 針對**描述** – 輸入一些描述安全群組用途的文字。
   + 對於 **VPC** – 選擇 VPC 端點所在的 VPC。

1. 前往**傳入規則**，然後選取**新增規則**以建立 TCP 流量的傳入規則。

1. 輸入下列資料：
   + 針對**類型** – 選擇自訂 TCP。
   + 針對**連接埠範圍** – 輸入下列連接埠號碼：`443`、`4195`。
   + 針對**來源類型** – 選擇自訂。
   + 針對**來源** – 輸入私有 IP CIDR 範圍或使用者從中連線至 VPC 端點的其他安全群組 IDs。請務必允許來自 IPv4 或 IPv6 地址來源的傳入流量。

1. 為每個 CIDR 範圍或安全群組重複步驟 4 和 5。

1. 前往**傳入規則**，選取**新增規則**以建立 UDP 流量的傳入規則。

1. 輸入下列資料：
   + 針對**類型** - 選擇**自訂 UDP**。
   + 針對**連接埠範圍** – 輸入下列連接埠號碼：443、4195。
   + 針對**來源類型** – 選擇**自訂**。
   + 針對**來源** – 輸入在步驟 5 中輸入的相同私有 IP CIDR 範圍或安全群組 IDs。請務必允許來自 IPv4 或 IPv6 地址來源的傳入流量。

1. 為每個 CIDR 範圍或安全群組重複步驟 7 和 8。

1. 選取**建立安全群組**。

### 步驟 2：建立 VPC 端點
<a name="create-vpc-endpoint"></a>

在 Amazon VPC 中，VPC 端點可讓您將 VPC 連線至支援AWS的服務。在此範例中，您會設定 Amazon VPC，讓您的 WorkSpaces 使用者可以從 WorkSpaces 串流。

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

1. 在導覽窗格中，前往**端點**，然後**建立端點**。

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

1. 請確認下列事項：
   + **服務類別** – 確定已選取**AWS服務**。
   + **服務名稱** – 選擇 **com.amazonaws.*Region*.highlander**。
   + **VPC** – 選擇要在其中建立介面端點的 VPC。只要網路將流量路由到 VPC 端點，您就可以選擇與具有 WorkSpaces 資源的 VPC 不同的 VPC。
   + **啟用私有 DNS 名稱** – 已選取核取方塊。如果您的使用者使用網路 Proxy 存取串流執行個體，請停用網域上的任何 Proxy 快取，以及與私人端點相關聯的 DNS 名稱。應允許透過代理的 VPC 端點 DNS 名稱。若要成功解析 DNS 名稱，請務必使用 VPC 中的私有 DNS 伺服器，這是因為公有 DNS 伺服器不會解析 VPC 端點 DNS 名稱。
   + **DNS 記錄 IP 類型** – 選擇 IPv4 或 IPv6。目前不支援雙堆疊 DNS 記錄 IP 類型。如果您選擇 Dualstack，您將無法使用 VPC 端點從 WorkSpaces 串流。
   + **子網路** – 選擇子網路 （可用區域） 以建立 VPC 端點。建議您選擇至少兩個子網路。
   + **IP 地址類型** – 根據您選擇的子網路支援，選擇 IPv4, IPv6 或 Dualstack。
   + **安全群組面板** – 選取您先前建立的安全群組。

1. (選用) 在 **標籤** 面板中，您可以建立一個或多個標籤。

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

端點準備好可以使用時，**Status** (狀態) 欄中的值會變更為 **Available** (可用)。

### 步驟 3：設定 WorkSpaces 目錄以使用 VPC 端點
<a name="configure-directory-vpc-endpoint"></a>

您需要將 WorkSpaces 目錄設定為使用您為串流建立的 VPC 端點。

1. 在與 VPC 端點相同的AWS區域中開啟 [WorkSpaces 主控台](https://console.aws.amazon.com/workspaces/v2/home)。

1. 在**導覽**窗格中，選取**目錄**，然後選取 。

1. 選取您要使用的目錄。

1. 前往 **VPC 端點**區段，然後**編輯**。

1. 在**編輯 VPC 端點**對話方塊**的串流端點**下，選取您建立的 VPC 端點。

1. 或者，您可以啟用**允許具有 PCoIP WorkSpaces 的使用者從網際網路串流**。
**注意**  
啟用時，您的使用者可以透過公有網際網路從其 PCoIP WorkSpaces 串流。否則，由於 PCoIP WorkSpaces 不支援 VPC 端點進行串流，因此 目錄中的 PCoIP WorkSpaces 將無法連線。

1. 選取**儲存**。

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

**注意**  
指定 VPC 端點時，具有 DCV WorkSpaces 的使用者無法使用公有網際網路進行串流。

# 透過 VPC 介面端點提出 Amazon WorkSpaces API 請求
<a name="interface-vpc-endpoint"></a>

您可以透過虛擬私有雲端 (VPC) 中的[介面端點](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-interface.html)直接連線至 Amazon WorkSpaces API 端點，而不是透過網際網路進行連線。當您使用 VPC 介面端點時，VPC 與 Amazon WorkSpaces API 端點之間的通訊會在 AWS 網路內完全安全地執行。

**注意**  
此功能只能用於連線到 WorkSpaces API 端點。若要使用 WorkSpaces 用戶端連線至 WorkSpaces，需要網際網路連線能力，如 [WorkSpaces Personal 的 IP 位址和連接埠要求](workspaces-port-requirements.md) 所述。

Amazon WorkSpaces API 端點支援由 [AWS PrivateLink](https://aws.amazon.com/privatelink/) 提供支援的 [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html) (Amazon VPC) 介面端點。每個 VPC 端點都是由您的 VPC 子網路中一個或多個具私有 IP 地址的[網路介面](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) (也稱為彈性網路介面，或 ENI) 來表示。

VPC 介面端點會將您的 VPC 直接連線至 Amazon WorkSpaces API 端點，無需網際網路閘道、NAT 裝置、VPN 連接或 Direct Connect 連線。VPC 中的執行個體不需要公用 IP 地址，就能與 Amazon WorkSpaces API 端點進行通訊。

您可以使用 或 AWS Command Line Interface (AWS CLI) 命令建立介面端點以連線至 AWS 管理主控台 Amazon WorkSpaces。如需指示，請參閱[建立介面端點](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-interface.html#create-interface-endpoint)。

*建立 VPC 端點之後*，您可透過下列使用 `endpoint-url` 參數的 CLI 命令範例，將介面端點指定至 Amazon WorkSpaces API 端點：

```
aws workspaces copy-workspace-image --endpoint-url VPC_Endpoint_ID.workspaces.Region.vpce.amazonaws.com

aws workspaces delete-workspace-image --endpoint-url VPC_Endpoint_ID.api.workspaces.Region.vpce.amazonaws.com

aws workspaces describe-workspace-bundles --endpoint-url VPC_Endpoint_ID.workspaces.Region.vpce.amazonaws.com  \
   --endpoint-name Endpoint_Name \
   --body "Endpoint_Body" \
   --content-type "Content_Type" \
       Output_File
```

如果您為 VPC 端點啟用私有 DNS 主機名稱，則不需要指定端點 URL。CLI 和 Amazon WorkSpaces SDK 根據預設使用的 Amazon WorkSpaces API DNS 主機名稱 (https://api.workspaces.*Region*.amazonaws.com) 會解析為您的 VPC 端點。

Amazon WorkSpaces API 端點在所有可使用 Amazon VPC 和 [Amazon WorkSpaces](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services) 的 AWS 區域中支援 VPC 端點。 [https://docs.aws.amazon.com/general/latest/gr/rande.html#vpc_region](https://docs.aws.amazon.com/general/latest/gr/rande.html#vpc_region)Amazon WorkSpaces 支援在您的 VPC 內呼叫其所有的[公用 API](https://docs.aws.amazon.com/workspaces/latest/api/welcome.html)。

若要進一步了解 AWS PrivateLink，請參閱 [AWS PrivateLink 文件](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html#what-is-privatelink)。請參閱 [VPC 定價](https://aws.amazon.com/vpc/pricing/)以取得 VPC 端點的價格。若要進一步了解 VPC 與端點，請參閱 [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)。

若要查看各區域的 Amazon WorkSpaces API 端點清單，請參閱 [WorkSpaces API 端點](workspaces-port-requirements.md#workspaces_api_endpoints)。

# 為 Amazon WorkSpaces 建立 VPC 端點政策。
<a name="api-private-link-policy"></a>

您可以為 Amazon WorkSpaces 的 Amazon VPC 端點建立政策，以指定下列各項：
+ 可執行動作的主體。
+ 可執行的動作。
+ 可供執行動作的資源。

如需詳細資訊，請參閱《Amazon VPC 使用者指南》**中的[使用 VPC 端點控制服務的存取](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)。

**注意**  
聯邦資訊處理標準 (FIPS) Amazon WorkSpaces 端點不支援 VPC 端點政策。

以下 VPC 端點政策範例指定所有可存取 VPC 介面端點的使用者都獲准調用名為 `ws-f9abcdefg` 的 Amazon WorkSpaces 託管端點。

```
{
     "Statement": [
         {
             "Action": "workspaces:*",
             "Effect": "Allow",
             "Resource": "arn:aws:workspaces:us-west-2:1234567891011:workspace/ws-f9abcdefg",
             "Principal": "*"
         }
     ]
}
```

在這個範例中，下列動作會遭到拒絕：
+ 調用 `ws-f9abcdefg` 以外 Amazon WorkSpaces 託管的端點。
+ 對指定資源 (WorkSpace ID：`ws-f9abcdefg`) 以外的任何資源執行動作。

**注意**  
在這個範例中，使用者仍然可以從 VPC 外部執行其他 Amazon WorkSpaces API 動作。若要限制 VPC 內的 API 呼叫，請參閱 [適用於 WorkSpaces 的身分和存取管理](workspaces-access-control.md) 以取得有關使用身分型政策來控制 Amazon WorkSpaces API 端點存取權的相關資訊。

# 將私有網路連線到 VPC
<a name="notebook-private-link-vpn"></a>

若要透過 VPC 呼叫 Amazon WorkSpaces API，您必須從 VPC 內的執行個體連線，或使用 AWS Virtual Private Network (Site-to-Site VPN) 或 將私有網路連線至 VPC Direct Connect。如需詳細資訊，請參閱《Amazon Virtual Private Cloud 使用者指南》**中的 [VPN 連線](https://docs.aws.amazon.com/vpc/latest/userguide/vpn-connections.html)。如需 的詳細資訊 AWS Direct Connect，請參閱*Direct Connect 《 使用者指南*》中的[建立連線](https://docs.aws.amazon.com/directconnect/latest/UserGuide/create-connection.html)。

# WorkSpaces 的更新管理
<a name="update-management"></a>

建議您定期修補、更新和保護 WorkSpaces 上的作業系統與應用程式。您可以將 WorkSpaces 設定為在定期維護時段由 WorkSpaces 更新，也可以自行更新它們。如需詳細資訊，請參閱[WorkSpaces Personal 中的維護](workspace-maintenance.md)。

對於 WorkSpaces 上的應用程式，您也可使用所提供的任何自動更新服務，或遵循應用程式廠商所提供的安裝更新建議。