에 대한 자격 증명 및 액세스 관리 WorkSpaces - Amazon WorkSpaces

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

에 대한 자격 증명 및 액세스 관리 WorkSpaces

기본적으로 IAM 사용자는 WorkSpaces 리소스 및 작업에 대한 권한이 없습니다. IAM 사용자가 WorkSpaces 리소스를 관리할 수 있도록 허용하려면 명시적으로 권한을 부여하는 IAM 정책을 생성하고 해당 권한이 필요한 IAM 사용자 또는 그룹에 정책을 연결해야 합니다.

참고

Amazon WorkSpaces 은에 대한 IAM 자격 증명 프로비저닝 WorkSpace (예: 인스턴스 프로필)을 지원하지 않습니다.

액세스 권한을 제공하려면 사용자, 그룹 또는 역할에 권한을 추가하세요:

다음은에 대한 추가 리소스입니다IAM.

정책 예제

다음 예제에서는 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 및 명령줄 도구를 사용할 때 API 및 Resource 요소를 WorkSpaces 완전히 지원하지만 WorkSpaces 에서 Amazon을 사용하려면 AWS Management Console IAM 사용자에게 다음 작업 및 리소스에 대한 권한이 있어야 합니다.

  • 작업: "workspaces:*""ds:*"

  • 리소스: "Resource": "*"

다음 예제 정책은 IAM 사용자가 WorkSpaces 에서 Amazon을 사용하도록 허용하는 방법을 보여줍니다 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" } } } ] }

다음 정책 문은 고유 라이선스 가져오기(BYOL)를 생성하는 데 필요한 Amazon 작업을 포함하여 모든 WorkSpaces EC2 작업을 수행할 수 있는 권한을 IAM 사용자에게 부여합니다 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 policy statement. WorkSpaces defines의 Action 요소에 지정된 API 작업을 사용할 수 있는 권한을 허용하거나 거부하여 WorkSpaces 리소스에 ARNs 대한 액세스를 제어 WorkSpaces합니다.

WorkSpace ARN 에는 다음 예제에 표시된 구문이 있습니다.

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

WorkSpace 가 있는 리전(예: us-east-1).

account_id

하이픈이 없는 AWS 계정의 ID입니다(예: 123456789012).

workspace_identifier

의 ID 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
리전

WorkSpace 가 있는 리전(예: us-east-1).

account_id

하이픈이 없는 AWS 계정의 ID입니다(예: 123456789012).

workspacespool_identifier

WorkSpace 풀의 ID(예: 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
리전

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
리전

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
리전

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
리전

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
리전

연결 별칭이 속한 리전(예: us-east-1)

account_id

하이픈이 없는 AWS 계정의 ID입니다(예: 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"

Workspaces_DefaultRole Role 생성

를 사용하여 디렉터리를 등록하려면 먼저 이름이 인 역할이 workspaces_DefaultRole 있는지 확인해야 API합니다. 이 역할은 빠른 설정 또는를 WorkSpace 사용하여를 시작하는 경우 생성되며 AWS Management Console, 사용자를 대신하여 특정 AWS 리소스에 액세스할 수 있는 WorkSpaces 권한을 Amazon에 부여합니다. 이 역할이 없는 경우, 다음 절차에 따라 만들 수도 있습니다.

Workspaces_DefaultRole role을 생성하려면
  1. 에 로그인 AWS Management Console 하고에서 IAM 콘솔을 엽니다https://console.aws.amazon.com/iam/.

  2. 왼쪽의 탐색 창에서 역할을 선택합니다.

  3. 역할 생성을 선택합니다.

  4. Select type of trusted entity(신뢰할 수 있는 엔터티 유형 선택) 아래에서 다른 Another AWS account ( AWS 계정)를 선택합니다.

  5. 계정 ID에 하이픈이나 공백 없이 계정 ID를 입력합니다.

  6. 옵션에서 다중 인증()을 지정하지 마십시오MFA.

  7. 다음: 권한을 선택합니다.

  8. 권한 정책 연결 페이지에서 AWS 관리형 정책 AmazonWorkSpacesServiceAccess, AmazonWorkSpacesSelfServiceAccess및을 선택합니다AmazonWorkSpacesPoolServiceAccess. 관리형 정책에 대한 자세한 내용은 AWS 에 대한 관리형 정책 WorkSpaces 섹션을 참조하세요.

  9. 이 역할에 연결된 정책과 충돌할 가능성이 있으므로 권한 경계 설정에서 권한 경계를 사용하지 않는 것이 좋습니다. 충돌이 발생할 경우 역할에 필요한 특정 권한이 차단될 수 있습니다.

  10. 다음: 태그를 선택합니다.

  11. 필요한 경우 Add tags (optional)(태그 추가(선택 사항)) 페이지에서 태그를 추가합니다.

  12. 다음: 검토를 선택합니다.

  13. 검토 페이지의 역할 이름workspaces_DefaultRole을 입력합니다.

  14. (선택 사항)역할 설명에 설명을 입력합니다.

  15. 역할 생성을 선택합니다.

  16. Workspaces_DefaultRole role의 요약 페이지에서 신뢰 관계 탭을 선택합니다.

  17. 신뢰 관계 탭에서 신뢰 관계 편집을 선택합니다.

  18. Edit Trust Relationship(신뢰 관계 편집) 페이지에서 기존 정책 설명을 다음 설명으로 바꿉니다.

    { "Statement": [ { "Effect": "Allow", "Principal": { "Service": "workspaces.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  19. 신뢰 정책 업데이트를 선택합니다.

AmazonWorkSpacesPCAAccess 서비스 역할 생성

사용자가 인증서 기반 인증을 사용하여 로그인할 수 있으려면 먼저 이름이 AmazonWorkSpacesPCAAccess인 역할이 존재하는지 확인해야 합니다. 이 역할은를 사용하여 디렉터리에서 인증서 기반 인증을 활성화 AWS Management Console하고 Amazon WorkSpaces에 사용자를 대신하여 AWS Private CA 리소스에 액세스할 수 있는 권한을 부여할 때 생성됩니다. 콘솔을 사용하여 인증서 기반 인증을 관리하지 않아 이 역할이 존재하지 않는 경우 다음 절차를 사용하여 생성할 수 있습니다.

를 AmazonWorkSpacesPCAAccess 사용하여 서비스 역할을 생성하려면 AWS CLI
  1. 다음 텍스트AmazonWorkSpacesPCAAccess.json로 라는 JSON 파일을 생성합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "prod.euc.ecm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. 필요에 따라 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