Gerenciamento de identidade e acesso para WorkSpaces - Amazon WorkSpaces

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Gerenciamento de identidade e acesso para WorkSpaces

Por padrão, IAM os usuários não têm permissões para WorkSpaces recursos e operações. Para permitir que IAM os usuários gerenciem WorkSpaces recursos, você deve criar uma IAM política que conceda permissões explicitamente e anexar a política aos IAM usuários ou grupos que exigem essas permissões.

nota

A Amazon WorkSpaces não oferece suporte ao provisionamento de IAM credenciais em um WorkSpace (por exemplo, com um perfil de instância).

Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:

A seguir estão os recursos adicionais paraIAM:

Exemplo de políticas

Os exemplos a seguir mostram declarações de política que você pode usar para controlar as permissões que IAM os usuários têm na Amazon WorkSpaces.

A declaração de política a seguir concede permissão ao IAM usuário para realizar tarefas WorkSpaces pessoais e de grupos.

{ "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" } } } ] }

A declaração de política a seguir concede permissão ao IAM usuário para realizar todas as tarefas WorkSpaces pessoais.

Embora a Amazon ofereça suporte WorkSpaces total aos Resource elementos Action e ao usar as ferramentas de linha de comando API e, para usar a Amazon a WorkSpaces partir do AWS Management Console, um IAM usuário deve ter permissões para as seguintes ações e recursos:

  • Ações: "workspaces:*" e "ds:*"

  • Recursos: "Resource": "*"

O exemplo de política a seguir mostra como permitir que um IAM usuário use a Amazon a WorkSpaces partir do 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" } } } ] }

A declaração de política a seguir concede permissão ao IAM usuário para realizar todas as tarefas de WorkSpaces Pools.

{ "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" } } } ] }

A declaração de política a seguir concede ao IAM usuário permissão para realizar todas as WorkSpaces tarefas, incluindo as EC2 tarefas da Amazon necessárias para criar Bring Your Own License (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" } } } ] }

Especificar WorkSpaces recursos em uma IAM política

Para especificar um WorkSpaces recurso no Resource elemento da declaração de política, use o Amazon Resource Name (ARN) do recurso. Você controla o acesso aos seus WorkSpaces recursos ao permitir ou negar permissões para usar as API ações especificadas no Action elemento da sua declaração de IAM política. WorkSpaces define ARNs para WorkSpaces, pacotes, grupos de IP e diretórios.

A WorkSpace ARN tem a sintaxe mostrada no exemplo a seguir.

arn:aws:workspaces:region:account_id:workspace/workspace_identifier
região

A região em que o WorkSpace está (por exemplo,us-east-1).

account_id

O ID do AWS conta, sem hífens (por exemplo,123456789012).

workspace_identifier

O ID do WorkSpace (por exemplo,ws-a1bcd2efg).

A seguir está o formato do Resource elemento de uma declaração de política que identifica um elemento específico WorkSpace.

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

Você pode usar o * curinga para especificar tudo o WorkSpaces que pertence a uma conta específica em uma região específica.

Um WorkSpace pool ARN tem a sintaxe mostrada no exemplo a seguir.

arn:aws:workspaces:region:account_id:workspacespool/workspacespool_identifier
região

A região em que o WorkSpace está (por exemplo,us-east-1).

account_id

O ID do AWS conta, sem hífens (por exemplo,123456789012).

espaço de trabalho_pool_identifier

O ID do WorkSpace pool (por exemplo,ws-a1bcd2efg).

A seguir está o formato do Resource elemento de uma declaração de política que identifica um elemento específico WorkSpace.

"Resource": "arn:aws:workspaces:region:account_id:workspacespool/workspacespool_identifier"

Você pode usar o * curinga para especificar tudo o WorkSpaces que pertence a uma conta específica em uma região específica.

Uma WorkSpace imagem ARN tem a sintaxe mostrada no exemplo a seguir.

arn:aws:workspaces:region:account_id:workspaceimage/image_identifier
região

A região em que a WorkSpace imagem está (por exemplo,us-east-1).

account_id

O ID do AWS conta, sem hífens (por exemplo,123456789012).

bundle_identifier

O ID da WorkSpace imagem (por exemplo,wsi-a1bcd2efg).

Veja a seguir o formato do elemento Resource de uma declaração de política que identifica uma imagem específica.

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

É possível usar o caractere curinga * para especificar todas as imagens que pertencem a uma conta específica em determinada região.

Um pacote ARN tem a sintaxe mostrada no exemplo a seguir.

arn:aws:workspaces:region:account_id:workspacebundle/bundle_identifier
região

A região em que o WorkSpace está (por exemplo,us-east-1).

account_id

O ID do AWS conta, sem hífens (por exemplo,123456789012).

bundle_identifier

O ID do WorkSpace pacote (por exemplo,wsb-a1bcd2efg).

Veja a seguir o formato do elemento Resource de uma declaração de política que identifica um pacote específico.

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

É possível usar o caractere curinga * para especificar todos os pacotes que pertencem a uma conta específica em determinada região.

Um grupo IP ARN tem a sintaxe mostrada no exemplo a seguir.

arn:aws:workspaces:region:account_id:workspaceipgroup/ipgroup_identifier
região

A região em que o WorkSpace está (por exemplo,us-east-1).

account_id

O ID do AWS conta, sem hífens (por exemplo,123456789012).

ipgroup_identifier

O ID do grupo de IP (por exemplo, wsipg-a1bcd2efg).

Veja a seguir o formato do elemento Resource de uma declaração de política que identifica um grupo de IP específico.

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

É possível usar o caractere curinga * para especificar todos os grupos de IP que pertencem a uma conta específica determinada região.

Um diretório ARN tem a sintaxe mostrada no exemplo a seguir.

arn:aws:workspaces:region:account_id:directory/directory_identifier
região

A região em que o WorkSpace está (por exemplo,us-east-1).

account_id

O ID do AWS conta, sem hífens (por exemplo,123456789012).

directory_identifier

O ID do diretório (por exemplo, d-12345a67b8).

Veja a seguir o formato do elemento Resource de uma declaração de política que identifica um diretório específico.

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

É possível usar o caractere curinga * para especificar todos os diretórios que pertencem a uma conta específica em determinada região.

Um alias de conexão ARN tem a sintaxe mostrada no exemplo a seguir.

arn:aws:workspaces:region:account_id:connectionalias/connectionalias_identifier
região

A região em que o alias da conexão está (por exemplo, us-east-1).

account_id

O ID do AWS conta, sem hífens (por exemplo,123456789012).

connectionalias_identifier

O ID do alias de conexão (por exemplo, wsca-12345a67b8).

Veja a seguir o formato do elemento Resource de uma declaração de política que identifica um alias de conexão específico.

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

É possível usar o caractere curinga * para especificar todos os alias de conexão que pertencem a uma conta específica em determinada região.

Você não pode especificar um recurso ARN com as seguintes API ações:

  • AssociateIpGroups

  • CreateIpGroup

  • CreateTags

  • DeleteTags

  • DeleteWorkspaceImage

  • DescribeAccount

  • DescribeAccountModifications

  • DescribeIpGroups

  • DescribeTags

  • DescribeWorkspaceDirectories

  • DescribeWorkspaceImages

  • DescribeWorkspaces

  • DescribeWorkspacesConnectionStatus

  • DisassociateIpGroups

  • ImportWorkspaceImage

  • ListAvailableManagementCidrRanges

  • ModifyAccount

Para API ações que não oferecem suporte a permissões em nível de recurso, você deve especificar a declaração de recurso mostrada no exemplo a seguir.

"Resource": "*"

Para as API ações a seguir, você não pode especificar um ID de conta no recurso ARN quando o recurso não é de propriedade da conta:

  • AssociateConnectionAlias

  • CopyWorkspaceImage

  • DisassociateConnectionAlias

Para essas API ações, você pode especificar uma ID de conta no recurso ARN somente quando essa conta possui os recursos a serem utilizados. Quando a conta não é a proprietária dos recursos, você deve especificar * para o ID da conta, conforme mostrado no exemplo a seguir.

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

Crie os espaços de trabalho_ Role DefaultRole

Antes de registrar um diretório usando oAPI, você deve verificar se workspaces_DefaultRole existe uma função chamada. Essa função é criada pela Configuração rápida ou se você iniciar uma WorkSpace usando o AWS Management Console, e concede à Amazon WorkSpaces permissão para acessar informações específicas AWS recursos em seu nome. Se esse perfil não existir, você poderá criá-lo usando o procedimento a seguir.

Para criar a função workspaces_ DefaultRole
  1. Faça login no AWS Management Console e abra o IAM console em https://console.aws.amazon.com/iam/.

  2. No painel de navegação à esquerda, escolha Roles (Funções).

  3. Selecione Criar função.

  4. Em Selecionar tipo de entidade confiável, escolha Outra AWS conta.

  5. Em Account ID (ID da conta), insira seu ID de conta sem hífens ou espaços.

  6. Em Opções, não especifique a autenticação multifator (MFA).

  7. Selecione Next: Permissions (Próximo: permissões).

  8. Na página Anexar políticas de permissões, selecione AWS políticas gerenciadas AmazonWorkSpacesServiceAccessAmazonWorkSpacesSelfServiceAccess, AmazonWorkSpacesPoolServiceAccesse. Para obter mais informações sobre essas políticas gerenciadas, consulteAWS políticas gerenciadas para WorkSpaces.

  9. Em Definir limite de permissões, recomendamos que você não use um limite de permissões devido ao potencial para conflitos com as políticas anexadas à esse perfil. Tais conflitos podem bloquear determinadas permissões necessárias para a função.

  10. Escolha Próximo: etiquetas.

  11. Na página Add tags (optional) (Adicionar tags (opcional)), adicione tags se necessário.

  12. Selecione Next: Review (Próximo: revisar).

  13. Na página Review (Revisar), em Role name (Nome da função), insira workspaces_DefaultRole.

  14. (Opcional ) Em Role description (Descrição da função), insira uma descrição.

  15. Selecione Criar perfil.

  16. Na página Resumo da DefaultRole função workspaces_, escolha a guia Relações de confiança.

  17. Na guia Trust relationships (Relações de confiança), escolha Edit trust relationship (Editar relação de confiança).

  18. Na página Edit Trust Relationship (Editar relação de confiança), substitua a declaração de política existente pela declaração a seguir.

    { "Statement": [ { "Effect": "Allow", "Principal": { "Service": "workspaces.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  19. Escolha Update Trust Policy.

Crie a função AmazonWorkSpaces PCAAccess de serviço

Antes que os usuários possam fazer login usando a autenticação baseada em certificado, você deve verificar se existe um perfil chamado AmazonWorkSpacesPCAAccess. Essa função é criada quando você habilita a autenticação baseada em certificado em um diretório usando o AWS Management Console, e concede à Amazon WorkSpaces permissão para acessar AWS Private CA recursos em seu nome. Se esse perfil não existir porque você não está usando o console para gerenciar a autenticação baseada em certificado, você poderá criá-lo usando o procedimento a seguir.

Para criar a função AmazonWorkSpaces PCAAccess de serviço usando o AWS CLI
  1. Crie um JSON arquivo chamado AmazonWorkSpacesPCAAccess.json com o texto a seguir.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "prod.euc.ecm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Ajuste o AmazonWorkSpacesPCAAccess.json caminho conforme necessário e execute o seguinte AWS CLI comandos para criar a função de serviço e anexar a política AmazonWorkspacesPCAAccessgerenciada.

    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