本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
的身分識別與存取管理 WorkSpaces
根據預設,IAM使用者沒有 WorkSpaces 資源和作業的權限。若要允許IAM使用者管理 WorkSpaces 資源,您必須建立明確授與他們權限的原IAM則,並將原則附加至需要這些權限的IAM使用者或群組。
注意
Amazon WorkSpaces 不支援將IAM登入資料佈建到 WorkSpace (例如使用執行個體設定檔)。
若要提供存取權,請新增權限至您的使用者、群組或角色:
-
中的使用者和群組 AWS IAM Identity Center:
建立權限合集。遵循中建立權限集中的指示 AWS IAM Identity Center 使用者指南。
-
IAM透過身分識別提供者管理的使用者:
建立聯合身分的角色。請遵循《使用指南》中的〈為第三方身分識別提供IAM者 (同盟) 建立角色〉中的指示進行。
-
IAM使用者:
-
建立您的使用者可擔任的角色。請按照《用戶指南》中的「為IAM用戶創建角色」中的IAM說明進行操作。
-
(不建議) 將政策直接附加至使用者,或將使用者新增至使用者群組。遵循《使用者指南》中的「向使用者 (主控台) 新增權限」IAM 中的指示進行。
-
以下是其他資源IAM:
-
如需有關IAM策略的詳細資訊,請參閱《IAM使用指南》中的《策略與權限》。
-
如需有關的詳細資訊IAM,請參閱 Identity and Access Management (IAM)
和IAM使用指南。 -
如需在IAM權限政策中使用的 WorkSpaces特定資源、動作和條件內容金鑰的詳細資訊,請參閱使用IAM者指南 WorkSpaces中適用於 Amazon 的動作、資源和條件金鑰。
-
如需協助您建立IAM原則的工具,請參閱 AWS 策略生成器
。您也可以使用IAM政策模擬器來測試策略是否允許或拒絕特定要求 AWS.
目錄
政策範例
下列範例顯示可用來控制使用IAM者擁有 Amazon 權限的政策陳述式 WorkSpaces。
下列政策聲明授與IAM使用者執行 WorkSpaces個人和集區工作的權限。
{ "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", "workdocs:AddUserToGroup", "workdocs:DeregisterDirectory", "workdocs:RegisterDirectory", "sso-directory:SearchUsers", "sso:CreateApplication", "sso:DeleteApplication", "sso:DescribeApplication", "sso:DescribeInstance", "sso:GetApplicationGrant", "sso:ListInstances", "sso:PutApplicationAssignment", "sso:PutApplicationAssignmentConfiguration", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationGrant" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "workspaces.amazonaws.com" } } } ] }
下列政策聲明授與IAM使用者執行所有 WorkSpaces 個人工作的權限。
雖然 Amazon 在使用Action
和命令行工具時 WorkSpaces 完全支持API和Resource
元素,但要使用 Amazon WorkSpaces AWS Management Console,IAM使用者必須具有下列動作和資源的權限:
-
動作:
workspaces:*"
和"ds:*"
-
資源:
"Resource": "*"
下列範例政策示範如何允許使用IAM者使用 Amazon WorkSpaces AWS Management Console.
{ "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", "workdocs:RegisterDirectory", "workdocs:DeregisterDirectory", "workdocs:AddUserToGroup", "secretsmanager:ListSecrets", "sso-directory:SearchUsers", "sso:CreateApplication", "sso:DeleteApplication", "sso:DescribeApplication", "sso:DescribeInstance", "sso:GetApplicationGrant", "sso:ListInstances", "sso:PutApplicationAssignment", "sso:PutApplicationAssignmentConfiguration", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationGrant" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "workspaces.amazonaws.com" } } } ] }
下列原則陳述式會授與IAM使用者執行所有 WorkSpaces 集區工作的權限。
{ "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" } } } ] }
下列政策聲明授予IAM使用者執行所有 WorkSpaces任務的權限,包括建立自有授權所需的 Amazon EC2 任務 (BYOL) WorkSpaces。
{ "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", "workdocs:AddUserToGroup", "workdocs:DeregisterDirectory", "workdocs:RegisterDirectory" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "workspaces.amazonaws.com" } } } ] }
指定IAM策略中的 WorkSpaces 資源
若要在政策陳述式的Resource
元素中指定資 WorkSpaces 源,請使用資源的 Amazon 資源名稱 (ARN)。您可以透過允許或拒絕使用IAM政策陳述式Action
元素中指定API動作的權限來控制對 WorkSpaces 資源的存取。 WorkSpaces 針ARNs對 WorkSpaces、套裝軟體、IP 群組和目錄進行定義。
A WorkSpace ARN 具有下列範例所示的語法。
arn:aws:workspaces:region
:account_id
:workspace/workspace_identifier
- region
-
所在的「 WorkSpace 區域」(例如,
us-east-1
)。 - account_id
-
的識別碼 AWS 帳戶,不含連字號 (例如,
123456789012
)。 - workspace_identifier
-
的識別碼 WorkSpace (例如,
ws-a1bcd2efg
)。
以下是識別特定原則陳述式之Resource
元素的格式 WorkSpace。
"Resource": "arn:aws:workspaces:region
:account_id
:workspace/workspace_identifier
"
您可以使用*
萬用字元來指 WorkSpaces 定屬於特定區域中特定帳戶的所有內容。
WorkSpace 池ARN具有下列範例所示的語法。
arn:aws:workspaces:region
:account_id
:workspacespool/workspacespool_identifier
- region
-
所在的「 WorkSpace 區域」(例如,
us-east-1
)。 - account_id
-
的識別碼 AWS 帳戶,不含連字號 (例如,
123456789012
)。 - 工作區識別碼
-
儲存 WorkSpace 池的識別碼 (例如,
ws-a1bcd2efg
)。
以下是識別特定原則陳述式之Resource
元素的格式 WorkSpace。
"Resource": "arn:aws:workspaces:region
:account_id
:workspacespool/workspacespool_identifier
"
您可以使用*
萬用字元來指 WorkSpaces 定屬於特定區域中特定帳戶的所有內容。
影 WorkSpace 像ARN的語法如下列範例所示。
arn:aws:workspaces:region
:account_id
:workspaceimage/image_identifier
- region
-
WorkSpace 影像所在的區域 (例如,
us-east-1
)。 - account_id
-
的識別碼 AWS 帳戶,不含連字號 (例如,
123456789012
)。 - bundle_identifier
-
WorkSpace 影像的識別碼 (例如,
wsi-a1bcd2efg
)。
以下是識別特定映象之政策陳述式 Resource
元素的格式。
"Resource": "arn:aws:workspaces:region
:account_id
:workspaceimage/image_identifier
"
您可使用 *
萬用字元來指定屬於特定區域中特定帳戶的所有映像。
束ARN具有下列範例所示的語法。
arn:aws:workspaces:region
:account_id
:workspacebundle/bundle_identifier
- region
-
所在的「 WorkSpace 區域」(例如,
us-east-1
)。 - account_id
-
的識別碼 AWS 帳戶,不含連字號 (例如,
123456789012
)。 - bundle_identifier
-
WorkSpace 套裝軟體的識別碼 (例如,
wsb-a1bcd2efg
)。
以下是識別特定套件之政策陳述式 Resource
元素的格式。
"Resource": "arn:aws:workspaces:region
:account_id
:workspacebundle/bundle_identifier
"
您可使用 *
萬用字元來指定屬於特定區域中特定帳戶的所有套件。
IP 群組ARN的語法如下列範例所示。
arn:aws:workspaces:region
:account_id
:workspaceipgroup/ipgroup_identifier
- region
-
所在的「 WorkSpace 區域」(例如,
us-east-1
)。 - account_id
-
的識別碼 AWS 帳戶,不含連字號 (例如,
123456789012
)。 - ipgroup_identifier
-
IP 群組的 ID (例如
wsipg-a1bcd2efg
)。
以下是識別特定 IP 群組之政策陳述式 Resource
元素的格式。
"Resource": "arn:aws:workspaces:region
:account_id
:workspaceipgroup/ipgroup_identifier
"
您可使用 *
萬用字元來指定屬於特定區域中特定帳戶的所有 IP 群組。
目錄ARN的語法如下列範例所示。
arn:aws:workspaces:region
:account_id
:directory/directory_identifier
- region
-
所在的「 WorkSpace 區域」(例如,
us-east-1
)。 - account_id
-
的識別碼 AWS 帳戶,不含連字號 (例如,
123456789012
)。 - directory_identifier
-
目錄的 ID (例如
d-12345a67b8
)。
以下是識別特定目錄之政策陳述式 Resource
元素的格式。
"Resource": "arn:aws:workspaces:region
:account_id
:directory/directory_identifier
"
您可使用 *
萬用字元來指定屬於特定區域中特定帳戶的所有目錄。
連線別名ARN的語法如下列範例所示。
arn:aws:workspaces:region
:account_id
:connectionalias/connectionalias_identifier
- region
-
連線別名所在的區域 (例如
us-east-1
)。 - account_id
-
的識別碼 AWS 帳戶,不含連字號 (例如,
123456789012
)。 - connectionalias_identifier
-
連線別名的 ID (例如
wsca-12345a67b8
)。
以下是識別特定連線別名之政策陳述式 Resource
元素的格式。
"Resource": "arn:aws:workspaces:region
:account_id
:connectionalias/connectionalias_identifier
"
您可使用 *
萬用字元來指定屬於特定區域中特定帳戶的所有連線別名。
您無法ARN使用下列API動作指定資源:
-
AssociateIpGroups
-
CreateIpGroup
-
CreateTags
-
DeleteTags
-
DeleteWorkspaceImage
-
DescribeAccount
-
DescribeAccountModifications
-
DescribeIpGroups
-
DescribeTags
-
DescribeWorkspaceDirectories
-
DescribeWorkspaceImages
-
DescribeWorkspaces
-
DescribeWorkspacesConnectionStatus
-
DisassociateIpGroups
-
ImportWorkspaceImage
-
ListAvailableManagementCidrRanges
-
ModifyAccount
對於不支援資源層級權限的API動作,您必須指定下列範例中顯示的資源陳述式。
"Resource": "*"
對於下列API動作,當資源不屬於帳號ARN時,您無法在資源中指定帳號 ID:
-
AssociateConnectionAlias
-
CopyWorkspaceImage
-
DisassociateConnectionAlias
對於這些API動作,只有當該帳號擁有要執行動作的資源時,您ARN才可以在資源中指定帳號 ID。當帳戶並未擁有資源時,您必須針對帳戶 ID 指定 *
,如以下範例所示。
"arn:aws:workspaces:
region
:*:resource_type
/resource_identifier
"
建立工作區 _ 角色 DefaultRole
在您可以使用註冊目錄之前API,您必須確認名為的角色是否workspaces_DefaultRole
存在。此角色由 [快速設定] 建立,或者如果您 WorkSpace 使用 AWS Management Console,並授予 Amazon 訪問特定的 WorkSpaces 權限 AWS 代表您的資源。如果此角色不存在,您可以使用下列程序加以建立。
建立工作區角色的步驟 DefaultRole
-
登入 AWS Management Console 然後在開啟IAM主控台https://console.aws.amazon.com/iam/
。 -
在左側導覽窗格中,選擇 Roles (角色)。
-
選擇建立角色。
-
在 [選取信任實體類型] 下,選擇 [其他] AWS 帳戶。
-
針對帳戶 ID,輸入不含連字號或空格的帳戶 ID。
-
對於 [選項],請勿指定多因素驗證 (MFA)。
-
選擇下一步:許可。
-
在 [附加權限原則] 頁面上,選取 AWS 受管理的策略AmazonWorkSpacesServiceAccessAmazonWorkSpacesSelfServiceAccess、和AmazonWorkSpacesPoolServiceAccess。如需有關這些受管理原則的詳細資訊,請參閱AWS 受管理的政策 WorkSpaces。
-
在設定許可界限之下,建議您不要使用許可界限,因為附加至此角色的政策可能發生衝突。這類衝突可能會封鎖角色的某些必要許可。
-
選擇下一步:標籤。
-
在新增標籤 (選用) 頁面上,視需要新增標籤。
-
選擇 Next:Review (下一步:檢閱)。
-
在 Review (檢閱) 頁面,針對 Role name (角色名稱) 輸入
workspaces_DefaultRole
。 -
(選用) 針對 Role description (角色描述),輸入描述。
-
選擇建立角色。
-
在工作區DefaultRole 角色的 [摘要] 頁面上,選擇 [信任關係] 索引標籤。
-
在 Trust relationships (信任關係) 標籤上,選擇 Edit trust relationship (編輯信任關係)。
-
在編輯信任關係頁面上,以下列陳述式取代現有的政策陳述式。
{ "Statement": [ { "Effect": "Allow", "Principal": { "Service": "workspaces.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
選擇 Update Trust Policy (更新信任政策)。
建立服 AmazonWorkSpacesPCAAccess務角色
您必須先確認名為 AmazonWorkSpacesPCAAccess
的角色是否存在,使用者才能使用憑證型驗證進行登入。當您在目錄上啟用憑證型驗證時,會建立此角色,使用 AWS Management Console,並授予 Amazon 訪問 WorkSpaces權限 AWS Private CA 代表您的資源。如果因為您未使用主控台來管理憑證型驗證而不存在此角色,您可以使用下列程序加以建立。
使用建立 AmazonWorkSpacesPCAAccess服務角色 AWS CLI
-
建立以下列文
AmazonWorkSpacesPCAAccess.json
字命名的JSON檔案。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "prod.euc.ecm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
根據需要調整
AmazonWorkSpacesPCAAccess.json
路徑並運行以下命令 AWS CLI 用於建立服務角色並附加AmazonWorkspacesPCAAccess受管理策略的命令。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