Amazon WorkSpaces
管理指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

适用于 Amazon WorkSpaces 的 Identity and Access Management

默认情况下,IAM 用户无权管理 Amazon WorkSpaces 资源和操作。要允许 IAM 用户管理 Amazon WorkSpaces 资源,您必须创建一个 IAM 策略以明确向他们授予权限,并将该策略连接到需要这些权限的 IAM 用户或组。有关 IAM 策略的更多信息,请参阅 IAM 用户指南 指南中的策略和权限

Amazon WorkSpaces 还创建了一个 IAM 角色来允许 Amazon WorkSpaces 服务访问所需资源。

有关 IAM 的更多信息,请参阅 Identity and Access Management (IAM)IAM 用户指南

例 1:执行所有 Amazon WorkSpaces 任务

以下策略语句将授予 IAM 用户执行所有 Amazon WorkSpaces 任务的权限,包括创建和管理目录以及运行快速设置过程。

注意,尽管在使用 API 和命令行工具时 Amazon WorkSpaces 完全支持 ActionResource 元素,但是您必须将它们都设置为“*”才能成功使用 Amazon WorkSpaces 控制台。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "workspaces:*", "ds:*", "iam:PassRole", "iam:GetRole", "iam:CreateRole", "iam:PutRolePolicy", "kms:ListAliases", "kms:ListKeys", "ec2:CreateVpc", "ec2:CreateSubnet", "ec2:CreateNetworkInterface", "ec2:CreateInternetGateway", "ec2:CreateRouteTable", "ec2:CreateRoute", "ec2:CreateTags", "ec2:CreateSecurityGroup", "ec2:DescribeInternetGateways", "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", "workdocs:RegisterDirectory", "workdocs:DeregisterDirectory", "workdocs:AddUserToGroup", "workdocs:RemoveUserFromGroup" ], "Resource": "*" } ] }

例 2:执行 WorkSpace 特定任务

以下策略语句将为 IAM 用户授予执行 WorkSpace 特定任务的权限,比如启动和删除 WorkSpace。在策略语句中,ds:* 操作授予广泛的权限 — 这包括对账户中所有目录服务对象的完整控制权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "workspaces:*", "ds:*", "iam:PutRolePolicy" ], "Resource": "*" } ] }

要同时授予用户为 Amazon WorkSpaces 内用户启用 Amazon WorkDocs 的权限,请添加下例所示的 workdocs 操作。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "workspaces:*", "ds:*", "workdocs:AddUserToGroup", "workdocs:RemoveUserFromGroup" ], "Resource": "*" } ] }

要同时授予用户使用启动 WorkSpace 向导的权限,请添加下例所示的 kms 操作。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "workspaces:*", "ds:*", "workdocs:AddUserToGroup", "workdocs:RemoveUserFromGroup", "kms:ListAliases", "kms:ListKeys" ], "Resource": "*" } ] }

在 IAM 策略中指定 Amazon WorkSpaces 资源

要在策略语句的 Resource 元素中指定 Amazon WorkSpaces 资源,您需要使用资源的 Amazon 资源名称 (ARN)。通过允许或拒绝使用 IAM 策略语句的 Action 元素中指定的 API 操作的权限,您可以控制对 Amazon WorkSpaces 资源的访问。Amazon WorkSpaces 会为 WorkSpace、服务包、IP 组及目录定义 ARN。

WorkSpace ARN

WorkSpace ARN 具有以下语法:

arn:aws:workspaces:region:account_id:workspace/workspace_identifier
区域

WorkSpace 所在的区域(例如,us-west-2)。

account_id

AWS 账户的 ID,不含连字符 (例如,123456789012)。

workspace_identifier

WorkSpace 的 ID (例如,ws-0123456789)。

以下是用于标识某个特定 WorkSpace 的策略语句的 Resource 元素的格式:

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

您可以使用 * 通配符来指定属于特定区域中特定账户的所有 WorkSpace。

服务包 ARN

服务包 ARN 具有以下语法:

arn:aws:workspaces:region:account_id:workspacebundle/bundle_identifier
区域

WorkSpace 所在的区域(例如,us-west-2)。

account_id

AWS 账户的 ID,不含连字符 (例如,123456789012)。

bundle_identifier

WorkSpace 服务包的 ID (例如,wsb-0123456789)。

以下是用于标识某个特定服务包的策略语句的 Resource 元素的格式:

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

您可以使用 * 通配符来指定属于特定区域中特定账户的所有服务包。

IP 组 ARN

IP 组 ARN 具有以下语法:

arn:aws:workspaces:region:account_id:workspaceipgroup/ipgroup_identifier
区域

WorkSpace 所在的区域(例如,us-west-2)。

account_id

AWS 账户的 ID,不含连字符(例如,123456789012)。

ipgroup_identifier

IP 组的 ID(例如 wsipg-a1bcd2efg)。

以下是用于标识某个特定 IP 组的策略语句的 Resource 元素的格式:

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

您可以使用 * 通配符来指定属于特定区域中特定账户的所有 IP 组。

目录 ARN

目录 ARN 具有以下语法:

arn:aws:workspaces:region:account_id:directory/directory_identifier
区域

WorkSpace 所在的区域(例如,us-west-2)。

account_id

AWS 账户的 ID,不含连字符(例如,123456789012)。

directory_identifier

目录的 ID(例如 d-12345a67b8)。

以下是用于标识某个特定目录的策略语句的 Resource 元素的格式:

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

您可以使用 * 通配符来指定属于特定区域中特定账户的所有目录。

不支持资源级权限的 API 操作

您不能使用以下 API 操作指定资源 ARN:

  • AssociateIpGroups

  • CreateIpGroup

  • CreateTags

  • DeleteTags

  • DeleteWorkspaceImage

  • DescribeAccount

  • DescribeAccountModifications

  • DescribeTags

  • DescribeWorkspaceDirectories

  • DescribeWorkspaceImages

  • DescribeWorkspaces

  • DescribeWorkspacesConnectionStatus

  • DisassociateIpGroups

  • ImportWorkspaceImage

  • ListAvailableManagementCidrRanges

  • ModifyAccount

对于不支持资源级权限的 API 操作,必须指定以下资源语句:

"Resource": "*"