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:
-
Usuários e grupos em AWS IAM Identity Center:
Crie um conjunto de permissões. Siga as instruções em Criar um conjunto de permissões no AWS IAM Identity Center Guia do usuário.
-
Usuários gerenciados IAM por meio de um provedor de identidade:
Crie um perfil para a federação de identidades. Siga as instruções em Criação de uma função para um provedor de identidade terceirizado (federação) no Guia IAM do usuário.
-
IAMusuários:
-
Crie um perfil que seu usuário possa assumir. Siga as instruções em Criação de uma função para um IAM usuário no Guia IAM do usuário.
-
(Não recomendado) Vincule uma política diretamente a um usuário ou adicione um usuário a um grupo de usuários. Siga as instruções em Adicionar permissões a um usuário (console) no Guia do IAM usuário.
-
A seguir estão os recursos adicionais paraIAM:
-
Para obter mais informações sobre IAM políticas, consulte Políticas e permissões no guia IAM do usuário.
-
Para obter mais informações sobreIAM, consulte Identity and Access Management (IAM)
e o Guia IAM do usuário. -
Para obter mais informações sobre recursos WorkSpaces específicos, ações e chaves de contexto de condições para uso em políticas de IAM permissão, consulte Ações, recursos e chaves de condição para a Amazon WorkSpaces no Guia do IAM usuário.
-
Para obter uma ferramenta que ajuda você a criar IAM políticas, consulte o AWS Gerador de políticas
. Você também pode usar o IAMPolicy Simulator para testar se uma política permitiria ou negaria uma solicitação específica para AWS.
Conteúdo
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
-
Faça login no AWS Management Console e abra o IAM console em https://console.aws.amazon.com/iam/
. -
No painel de navegação à esquerda, escolha Roles (Funções).
-
Selecione Criar função.
-
Em Selecionar tipo de entidade confiável, escolha Outra AWS conta.
-
Em Account ID (ID da conta), insira seu ID de conta sem hífens ou espaços.
-
Em Opções, não especifique a autenticação multifator (MFA).
-
Selecione Next: Permissions (Próximo: permissões).
-
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.
-
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.
-
Escolha Próximo: etiquetas.
-
Na página Add tags (optional) (Adicionar tags (opcional)), adicione tags se necessário.
-
Selecione Next: Review (Próximo: revisar).
-
Na página Review (Revisar), em Role name (Nome da função), insira
workspaces_DefaultRole
. -
(Opcional ) Em Role description (Descrição da função), insira uma descrição.
-
Selecione Criar perfil.
-
Na página Resumo da DefaultRole função workspaces_, escolha a guia Relações de confiança.
-
Na guia Trust relationships (Relações de confiança), escolha Edit trust relationship (Editar relação de confiança).
-
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" } ] }
-
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
-
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" } ] }
-
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