

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

# 適用於 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  | 