Gerenciamento de identidade e acesso para o WorkSpaces
Por padrão, os usuários do IAM não têm permissões para recursos e operações do WorkSpaces. Para permitir que os usuários do IAM gerenciem os recursos do WorkSpaces, é necessário criar uma política do IAM que conceda explicitamente permissões a eles e vincular a política aos usuários ou grupos do IAM que precisam dessas permissões.
nota
O Amazon WorkSpaces não oferece suporte ao provisionamento de credenciais do IAM em um WorkSpace (como com um perfil de instância).
Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:
-
Usuários e grupos no AWS IAM Identity Center:
Crie um conjunto de permissões. Siga as instruções em Criação de um conjunto de permissões no Guia do usuário do AWS IAM Identity Center.
-
Usuários gerenciados no IAM com provedor de identidades:
Crie um perfil para a federação de identidades. Siga as instruções em Criando um perfil para um provedor de identidades de terceiros (federação) no Guia do Usuário do IAM.
-
Usuários do IAM:
-
Crie um perfil que seu usuário possa assumir. Siga as instruções em Criação de um perfil para um usuário do IAM no Guia do usuário do IAM.
-
(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 Adição de permissões a um usuário (console) no Guia do usuário do IAM.
-
A seguir estão os recursos adicionais para o IAM:
-
Para obter mais informações gerais sobre as políticas do IAM, consulte Permissões e políticas no Guia do usuário do IAM.
-
Para obter mais informações sobre o IAM, consulte Identity and Access Management (IAM)
e o Guia do usuário do IAM. -
Para obter mais informações de recursos, ações e chaves de contexto de condição específicos do WorkSpaces para uso nas políticas de permissão do IAM, consulte Ações, recursos e chaves de condição para o Amazon WorkSpaces no Guia do usuário do IAM.
-
Para obter uma ferramenta que ajuda a criar políticas do IAM, consulte o AWS Policy Generator
. Também é possível usar o simulador de políticas do IAM para testar se uma política permitiria ou negaria uma solicitação específica à AWS.
Exemplo de política
Os exemplos a seguir mostram declarações de políticas que é possível usar para controlar as permissões que os usuários do IAM têm para o Amazon WorkSpaces.
A declaração de política a seguir concede a um usuário do IAM permissão para executar tarefas pessoais e de pools do WorkSpaces Personal.
A declaração de política a seguir concede a um usuário do IAM permissão para executar todas as tarefas do WorkSpaces Personal.
Embora o Amazon WorkSpaces ofereça suporte total aos elementos Action e Resource ao usar a API e ferramentas de linha de comando, para usar o Amazon WorkSpaces a partir do Console de gerenciamento da AWS, um usuário do IAM deve ter permissões para as seguintes ações e recursos:
-
Ações:
"ds:*" -
Recursos:
"Resource": "*"
O exemplo de política a seguir mostra como permitir que um usuário do IAM use o Amazon WorkSpaces a partir do Console de gerenciamento da AWS.
A declaração de política a seguir concede a um usuário do IAM permissão para executar todas as tarefas do WorkSpaces Pools, incluindo a criação e o gerenciamento de diretórios.
A declaração de política a seguir concede a um usuário do IAM permissão para realizar todas as tarefas do WorkSpaces, incluindo as tarefas do Amazon EC2 necessárias para criar traga a sua própria licença (BYOL) WorkSpaces.
Especificar recursos do WorkSpaces em uma política do IAM
Para especificar um recurso do WorkSpaces no elemento Resource da declaração de política, use o nome do recurso da Amazon (ARN) do recurso. Você controla o acesso aos recursos do WorkSpaces permitindo ou negando permissões para usar as ações de API especificadas no elemento Action da declaração de política do IAM. O WorkSpaces define ARNs para WorkSpaces, pacotes, grupos de IP e diretórios.
Um ARN do WorkSpace 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 da conta da AWS, sem hífens (por exemplo,
123456789012). - workspace_identifier
-
O ID do WorkSpace (por exemplo,
ws-a1bcd2efg).
Veja a seguir o formato do elemento Resource de uma declaração de política que identifica um WorkSpace específico.
"Resource": "arn:aws:workspaces:region:account_id:workspace/workspace_identifier"É possível usar o caractere curinga * para especificar todos os WorkSpaces que pertencem a uma conta específica em determinada região.
Um ARN do WorkSpace Pool 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 da conta da AWS, sem hífens (por exemplo,
123456789012). - espaço de trabalho_pool_identifier
-
O ID do WorkSpace Pool (por exemplo,
ws-a1bcd2efg).
Veja a seguir o formato do elemento Resource de uma declaração de política que identifica um WorkSpace específico.
"Resource": "arn:aws:workspaces:region:account_id:workspacespool/workspacespool_identifier"É possível usar o caractere curinga * para especificar todos os WorkSpaces que pertencem a uma conta específica em determinada região.
Um ARN de certificado do WorkSpace tem a sintaxe mostrada no exemplo a seguir.
arn:aws:workspaces:region:account_id:workspacecertificate/workspacecertificateidentifier- região
-
A região em que o WorkSpace está (por exemplo,
us-east-1). - account_id
-
O ID da conta da AWS, sem hífens (por exemplo,
123456789012). - workspacecertificate_identifier
-
O ID do certificado do WorkSpace (por exemplo,
ws-a1bcd2efg).
Veja a seguir o formato do elemento Resource de uma declaração de política que identifica um certificado do WorkSpace específico.
"Resource": "arn:aws:workspaces:region:account_id:workspacecertificate/workspacecertificate_identifier"É possível usar o caractere curinga * para especificar todos os WorkSpaces que pertencem a uma conta específica em determinada região.
Um ARN de imagem do WorkSpace 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 imagem do WorkSpace está (por exemplo,
us-east-1). - account_id
-
O ID da conta da AWS, sem hífens (por exemplo,
123456789012). - bundle_identifier
-
O ID da imagem do WorkSpace (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 ARN de pacote 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 da conta da AWS, sem hífens (por exemplo,
123456789012). - bundle_identifier
-
O ID do pacote do WorkSpace (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 ARN de grupo IP 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 da conta da AWS, 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 ARN de diretório 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 da conta da AWS, 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 ARN de alias de conexão 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 da conta da AWS, 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 ARN de recurso com as seguintes ações de API:
-
AssociateIpGroups -
CreateIpGroup -
CreateTags -
DeleteTags -
DeleteWorkspaceImage -
DescribeAccount -
DescribeAccountModifications -
DescribeIpGroups -
DescribeTags -
DescribeWorkspaceDirectories -
DescribeWorkspaceImages -
DescribeWorkspaces -
DescribeWorkspacesConnectionStatus -
DisassociateIpGroups -
ImportWorkspaceImage -
ListAvailableManagementCidrRanges -
ModifyAccount
Para ações de API que não oferecem suporte a permissões no nível de recurso, é necessário especificar a instrução de recurso mostrada no exemplo a seguir.
"Resource": "*"
Para as seguintes ações da API, você não pode especificar um ID de conta no ARN do recurso quando o recurso não é de propriedade da conta:
-
AssociateConnectionAlias -
CopyWorkspaceImage -
DisassociateConnectionAlias
Para essas ações da API, você pode especificar um ID de conta no ARN do recurso somente quando essa conta é a proprietária dos recursos a serem usados. 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"
Criar o perfil workspaces_DefaultRole
Antes de registrar um diretório usando a API, você deve verificar se existe um perfil chamado workspaces_DefaultRole. Esse perfil é criado pela Configuração Rápida ou se você iniciar um WorkSpace usando o Console de gerenciamento da AWS, e ela concede permissão ao Amazon WorkSpaces para acessar recursos AWS específicos em seu nome. Se esse perfil não existir, você poderá criá-lo usando o procedimento a seguir.
Como criar a função workspaces_DefaultRole
-
Faça login no Console de gerenciamento da AWS e abra o console do IAM, em https://console.aws.amazon.com/iam/
. -
No painel de navegação à esquerda, escolha Roles (Funções).
-
Selecione Criar perfil.
-
Em Selecionar tipo de entidade confiável, selecione Outra conta da AWS.
-
Em Account ID (ID da conta), insira seu ID de conta sem hífens ou espaços.
-
Em Options (Opções), não especifique a autenticação multifator (MFA).
-
Escolha Próximo: Permissões.
-
Na página Anexar políticas de permissões, selecione as políticas gerenciadas da AWS AmazonWorkSpacesServiceAccess, AmazonWorkSpacesSelfServiceAccess e AmazonWorkSpacesPoolServiceAccess. Para obter mais informações sobre políticas gerenciadas, consulte Políticas gerenciadas pela AWS para o 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: tags.
-
Na página Add tags (optional) (Adicionar tags (opcional)), adicione tags se necessário.
-
Selecione Próximo: revisar.
-
Na página Revisar, em Nome da função, insira
workspaces_DefaultRole. -
(Opcional ) Em Role description (Descrição da função), insira uma descrição.
-
Selecione Criar função.
-
Na página Summary (Resumo) da função workspaces_DefaultRole, escolha a guia Trust relationships (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" } ] } -
Selecione Atualizar política de confiança.
Criar o perfil de serviço AmazonWorkSpacesPCAAccess
Antes que os usuários possam fazer login usando a autenticação baseada em certificado, você deve verificar se existe um perfil chamado AmazonWorkSpacesPCAAccess. Esse perfil é criado quando você habilita a autenticação baseada em certificado em um diretório usando o Console de gerenciamento da AWS. Ele concede permissão ao Amazon WorkSpaces para acessar recursos do CA Privada da AWS 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.
Como criar o perfil de serviço AmazonWorkSpacesPCAAccess usando a AWS CLI
-
Crie um arquivo JSON denominado
AmazonWorkSpacesPCAAccess.jsoncom o texto a seguir. -
Ajuste o caminho
AmazonWorkSpacesPCAAccess.jsonconforme necessário e execute os comandos AWS CLI a seguir para criar o perfil de serviço e anexar a política gerenciada AmazonWorkspacesPCAAccess.aws iam create-role --path /service-role/ --role-name AmazonWorkSpacesPCAAccess --assume-role-policy-document file://AmazonWorkSpacesPCAAccess.jsonaws iam attach-role-policy —role-name AmazonWorkSpacesPCAAccess —policy-arn arn:aws:iam::aws:policy/AmazonWorkspacesPCAAccess