本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
適用於 WorkSpaces 的身分和存取管理
根據預設,IAM 使用者不具備 WorkSpaces 資源和操作的許可。若要允許 IAM 使用者管理 WorkSpaces 資源,您必須建立 IAM 政策,明確將許可授予使用者,然後將該政策連接到需要該些許可的 IAM 使用者或群組。
注意
Amazon WorkSpaces 不支援在 WorkSpace 中佈建 IAM 憑證 (例如使用執行個體設定檔)。
若要提供存取權,請新增權限至您的使用者、群組或角色:
-
中的使用者和群組 AWS IAM Identity Center:
建立權限合集。請按照 AWS IAM Identity Center 使用者指南 中的 建立權限合集 說明進行操作。
-
透過身分提供者在 IAM 中管理的使用者:
建立聯合身分的角色。遵循「IAM 使用者指南」的為第三方身分提供者 (聯合) 建立角色中的指示。
-
IAM 使用者:
-
建立您的使用者可擔任的角色。請按照「IAM 使用者指南」的為 IAM 使用者建立角色中的指示。
-
(不建議) 將政策直接附加至使用者,或將使用者新增至使用者群組。請遵循 IAM 使用者指南的新增許可到使用者 (主控台) 中的指示。
-
以下是 IAM 的其他資源:
-
如需 IAM 政策的詳細資訊,請參閱《IAM 使用者指南》中的政策和許可。
-
如需 IAM 的詳細資訊,請參閱身分和存取管理 (IAM)
和 IAM 使用者指南。 -
如需有關用於 IAM 許可政策的 WorkSpaces 特定資源、動作和條件內容金鑰的詳細資訊,請參閱《IAM 使用者指南》中的 Amazon WorkSpaces 的動作、資源和條件金鑰。
-
如需協助您建立 IAM 政策的工具,請參閱 AWS 政策產生器
。您也可以使用 IAM 政策模擬器,測試政策會允許還是拒絕對 AWS的特定請求。
目錄
政策範例
以下範例顯示您可以用來控制 IAM 使用者具有之 Amazon WorkSpaces 許可的政策陳述式。
下列政策陳述式授予 IAM 使用者執行 WorkSpaces 個人和集區任務的許可。
下列政策陳述式授予 IAM 使用者執行所有 WorkSpaces Personal 任務的許可。
雖然 Amazon WorkSpaces 在使用 API Action
和命令列工具時完全支援 和 Resource
元素,但 IAM Amazon WorkSpaces AWS Management Console使用者必須具有下列動作和資源的許可:
-
動作:
workspaces:*"
和"ds:*"
-
資源:
"Resource": "*"
下列政策範例顯示如何允許 IAM 使用者從 AWS Management Console使用 Amazon WorkSpaces。
下列政策陳述式授予 IAM 使用者執行所有 WorkSpaces 集區任務的許可。
下列政策陳述式授予 IAM 使用者執行所有 WorkSpaces 任務的許可,包括建立自帶授權 (BYOL) WorkSpaces 所需的 Amazon EC2 任務。
在 IAM 政策中指定 WorkSpaces 資源
若要在政策陳述式的 Resource
元素中指定 WorkSpaces 資源,請使用資源的 Amazon Resource Name (ARN)。您可藉由允許或拒絕使用 IAM 政策陳述式的 Action
元素中指定的 API 動作的許可,控制對 WorkSpaces 資源的存取。WorkSpaces 定義 WorkSpaces、套件、IP 群組和目錄的 ARN。
WorkSpace ARN 具有下列範例所示的語法。
arn:aws:workspaces:region
:account_id
:workspace/workspace_identifier
- region
-
WorkSpace 所在的區域 (例如
us-east-1
)。 - account_id
-
AWS 帳戶 ID,不含連字號 (例如
123456789012
)。 - workspace_identifier
-
WorkSpace 的 ID (例如
ws-a1bcd2efg
)。
以下是識別特定 WorkSpace 之政策陳述式的 Resource
元素格式。
"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 帳戶 ID,不含連字號 (例如
123456789012
)。 - workspacespool_identifier
-
WorkSpace 集區的 ID (例如
ws-a1bcd2efg
)。
以下是識別特定 WorkSpace 之政策陳述式的 Resource
元素格式。
"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 帳戶 ID,不含連字號 (例如
123456789012
)。 - bundle_identifier
-
WorkSpace 映像的 ID (例如
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 帳戶 ID,不含連字號 (例如
123456789012
)。 - bundle_identifier
-
WorkSpace 套件的 ID (例如
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 帳戶 ID,不含連字號 (例如
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 帳戶 ID,不含連字號 (例如
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 帳戶 ID,不含連字號 (例如
123456789012
)。 - connectionalias_identifier
-
連線別名的 ID (例如
wsca-12345a67b8
)。
以下是識別特定連線別名之政策陳述式 Resource
元素的格式。
"Resource": "arn:aws:workspaces:region
:account_id
:connectionalias/connectionalias_identifier
"
您可使用 *
萬用字元來指定屬於特定區域中特定帳戶的所有連線別名。
您不能使用以下 API 動作指定資源 ARN:
-
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
"
建立 workspaces_DefaultRole 角色
您必須先確認名為 workspaces_DefaultRole
的角色是否存在,才能使用 API 註冊目錄。此角色是由 Quick Setup 建立,或者如果您使用 啟動 WorkSpace AWS Management Console,則會授予 Amazon WorkSpaces 代表您存取特定 AWS 資源的許可。如果此角色不存在,您可以使用下列程序加以建立。
建立 workspaces_DefaultRole 角色
-
登入 AWS Management Console 並開啟位於 https://https://console.aws.amazon.com/iam/
的 IAM 主控台。 -
在左側導覽窗格中,選擇 Roles (角色)。
-
選擇建立角色。
-
在 Select type of trusted entity (選取信任的實體類型) 下,選擇 Another AWS account (另一個 帳戶)。
-
針對帳戶 ID,輸入不含連字號或空格的帳戶 ID。
-
針對選項,請勿指定多重要素驗證 (MFA)。
-
選擇下一步:許可。
-
在連接許可政策頁面上,選取 AWS 受管政策 AmazonWorkSpacesServiceAccess、AmazonWorkSpacesSelfServiceAccess 和 AmazonWorkSpacesPoolServiceAccess。如需這些受管政策的詳細資訊,請參閱 AWS WorkSpaces 的 受管政策。
-
在設定許可界限之下,建議您不要使用許可界限,因為附加至此角色的政策可能發生衝突。這類衝突可能會封鎖角色的某些必要許可。
-
選擇下一步:標籤。
-
在新增標籤 (選用) 頁面上,視需要新增標籤。
-
選擇 Next:Review (下一步:檢閱)。
-
在 Review (檢閱) 頁面,針對 Role name (角色名稱) 輸入
workspaces_DefaultRole
。 -
(選用) 針對 Role description (角色描述),輸入描述。
-
選擇建立角色。
-
在 workspaces_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 檔案。 -
視需要調整
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