適用於 WorkSpaces 的 Identity to Management - Amazon WorkSpaces

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

適用於 WorkSpaces 的 Identity to Management

預設情況下,IAM 使用者並未具備 WorkSpaces 資源和操作的許可。若要允許 IAM 使用者管理 WorkSpaces 資源,您必須建立 IAM 政策,明確將許可授予使用者,然後將該政策連線到需要該些許可的 IAM 使用者或組。如需 IAM 政策的詳細資訊,請參政策和許可中的IAM User Guide指南。

WorkSpaces 還會創建 IAM 角色,以允許 WorkSpaces 服務訪問所需資源。

注意

Amazon WorkSpaces 不支持將 IAM 證書置備到工作 WorkSpace(例如使用實例配置文件)。

如需關於 IAM 的詳細資訊,請參Identity and Access Management (IAM)IAM User Guide。您可以在 IAM 許可政策中使用的工作區特定資源、動作和條件內容金鑰,請訪問Amazon WorkSpaces 的動作、資源和條件金鑰中的IAM User Guide

如需建立 IAM 政策的工具,請參AWS政策產生器。您也可以使用IAM 策略模擬器來測試政策是允許還是拒絕AWS。

範例 1:執行所有 WorkSpaces 任務

以下策略聲明授予 IAM 用户執行所有 WorkSpaces 任務的權限,包括創建和管理目錄。它還授予運行快速安裝過程的權限。

重要

儘管 Amazon WorkSpaces 完全支持ActionResource元素使用 API 和命令行工具時,使用AWS Management Console,IAM 用户必須具有以下操作和資源的權限:

  • 動作:」workspaces:*""ds:*"

  • 資源:"Resource": "*"

下列政策範例顯示如何允許 Amazon WorkSpaces 使用者從AWS Management Console。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "workspaces:*", "ds:*", "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: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", "workdocs:RegisterDirectory", "workdocs:DeregisterDirectory", "workdocs:AddUserToGroup" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "workspaces.amazonaws.com" } } } ] }

範例 2: 執行特定於工作區的任務

以下策略聲明授予 IAM 用户執行特定於 WorkSpaces 的任務的權限,例如啟動和刪除 WorkSpace。在政策聲明中,ds:*操作授予廣泛權限 — 完全控制帳户中的所有目錄服務對象。

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

要同時授予用户在 WorkSpace 中為用户啟用 Amazon WorkDocs 的功能,請添加workdocs操作,如下列範例所示。

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

若要同時授予用户使用「啟動 WorkSpaces」嚮導的功能,請添加kms操作,如下列範例所示。

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

範例 3: 執行 BYOL WorkSpaces 的所有 WorkSpaces 任務

以下策略聲明授予 IAM 用户執行所有 WorkSpaces 任務的權限,包括創建自帶許可證 (BYOL) WorkSpaces 所需的 Amazon EC2 任務。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "workspaces:*", "ds:*", "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:DescribeImages", "ec2:ModifyImageAttribute", "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", "workdocs:RegisterDirectory", "workdocs:DeregisterDirectory", "workdocs:AddUserToGroup" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "workspaces.amazonaws.com" } } } ] }

創建工作空間默認角色

若要使用 API 註冊目錄,如果工作空間不存在,必須先建立該目錄。

創建工作空間默認角色

  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 在左側導覽窗格中,選擇 Roles (角色)。

  3. 選擇 Create Role (建立角色)。

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

  5. 適用於帳戶 ID,輸入您的帳户 ID,無連字號或空格。

  6. 適用於選項,請勿指定 Multi-Format Access (MFA)。

  7. 選擇 Next: (下一步:) Permissions (許可)。

  8. 連接許可政策頁面上,選擇AWS受管政策AmazonWorkSpacesServiceAccessAmazonWorkSpacesSelfServiceAccess

  9. UNDER設定許可界限,我們建議您不要使用權限邊界,因為可能與附加到 WorkSpace _defaultrole 角色的策略發生衝突。此類衝突可能會阻止角色的某些必要權限。

  10. 選擇 Next: (下一步:) Tags (標籤)。

  11. 新增標籤 (可選)頁面上,根據需要新增標籤。

  12. 選擇 Next: (下一步:) Review (檢閱)。

  13. Review (檢閱) 頁面,針對 Role name (角色名稱) 輸入 workspaces_DefaultRole

  14. (選用) 針對 Role description (角色描述),輸入描述。

  15. 選擇 Create Role (建立角色)。

  16. 摘要頁面上,選擇信任關係選項卡。

  17. Trust relationships (信任關係) 標籤上,選擇 Edit trust relationship (編輯信任關係)

  18. 編輯信任關係頁面上,將現有政策陳述式替換為下列陳述式。

    { "Statement": [ { "Effect": "Allow", "Principal": { "Service": "workspaces.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  19. 選擇 Update Trust Policy (更新信任政策)。

在 IAM 策略中指定 WorkSpaces 資源

若要指定 WorkSpaces 資源,請在Resource元素,請使用資源的 Amazon Resource Name (ARN)。您可以通過允許或拒絕使用在Action元素。工作空間定義了 WorkSpaces、捆綁包、IP 組和目錄的 ARN。

WorkSpace ARN

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

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

WorkSpace 所在的區域(例如us-east-1

account_id

的 IDAWS帳户,無連字號 (例如,123456789012

工作區標識符

WorkSpace 的 ID(例如ws-a1bcd2efg

以下為其格式Resource元素,用於標識特定 WorkSpace 的策略語句。

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

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

影像 ARN

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

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

WorkSpace 圖像所在的區域(例如us-east-1

account_id

的 IDAWS帳户,無連字號 (例如,123456789012

捆綁標識符

WorkSpace 映像的 ID(例如wsi-a1bcd2efg

以下為其格式Resource元素,用於標識特定映像的策略聲明。

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

您可以使用*萬用字元指定屬於特定區域中特定帳户的所有影像。

綁定 ARN

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

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

WorkSpace 所在的區域(例如us-east-1

account_id

的 IDAWS帳户,無連字號 (例如,123456789012

捆綁標識符

WorkSpace 捆綁包的 ID(例如,wsb-a1bcd2efg

以下為其格式Resource元素,用於標識特定捆綁包的策略語句。

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

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

IP 羣組 ARN

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

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

WorkSpace 所在的區域(例如us-east-1

account_id

的 IDAWS帳户,無連字號 (例如,123456789012

IP 組標識符

IP 組的 ID (例如,) IP 組的 ID (例如,)wsipg-a1bcd2efg

以下為其格式Resource元素,用於標識特定 IP 組的策略語句。

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

您可以使用*萬用字元指定屬於特定區域中的特定帳户的所有 IP 組。

目錄 ARN

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

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

WorkSpace 所在的區域(例如us-east-1

account_id

的 IDAWS帳户,無連字號 (例如,123456789012

目錄標識符

目錄的 ID (例如,) 目錄的 ID (例如,d-12345a67b8

以下為其格式Resource元素,用於標識特定目錄的策略語句。

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

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

連接別名 ARN

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

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

連接別名所在的區域(例如us-east-1

account_id

的 IDAWS帳户,無連字號 (例如,123456789012

連接別名標識符

連接別名的 ID(例如wsca-12345a67b8

以下為其格式Resource元素,用於標識特定連接別名的策略語句。

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

您可以使用*通配字元指定屬於特定區域中的所有連接別名。

不支援資源層級許可的 API 動作

您無法使用以下 API 操作指定資源 ARN:

  • AssociateIpGroups

  • CreateIpGroup

  • CreateTags

  • DeleteTags

  • DeleteWorkspaceImage

  • DescribeAccount

  • DescribeAccountModifications

  • DescribeIpGroups

  • DescribeTags

  • DescribeWorkspaceDirectories

  • DescribeWorkspaceImages

  • DescribeWorkspaces

  • DescribeWorkspacesConnectionStatus

  • DisassociateIpGroups

  • ImportWorkspaceImage

  • ListAvailableManagementCidrRanges

  • ModifyAccount

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

"Resource": "*"

不支持對共享資源的帳户級限制的 API 操作

對於以下 API 操作,如果資源不屬於賬户所有,則無法在資源 ARN 中指定帳户 ID:

  • AssociateConnectionAlias

  • CopyWorkspaceImage

  • DisassociateConnectionAlias

對於這些 API 操作,只有當資源 ARN 擁有要執行操作的資源時,您才可以在該資源 ARN 中指定帳户 ID。如果帳户不擁有這些資源,則必須指定*作為帳户 ID,如下列範例所示。

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