Acesso a WorkSpaces e scripts em instâncias de streaming
Os aplicativos e scripts que são executados em instâncias de streaming do WorkSpaces devem incluir credenciais da AWS em suas solicitações de API da AWS. Você pode criar um perfil do IAM para gerenciar essas credenciais. Um perfil do IAM especifica um conjunto de permissões que você pode usar para acessar os recursos da AWS. No entanto, essa função não está associada exclusivamente a uma pessoa. Em vez disso, ela pode ser assumida por qualquer pessoa que precise dela.
É possível aplicar uma perfil do IAM a uma instância de streaming do WorkSpaces. Quando a instância de streaming alterna para (assume) a função, a função fornece credenciais de segurança temporárias. A aplicação ou os scripts usam essas credenciais para executar ações de API e tarefas de gerenciamento na instância de streaming. O WorkSpaces gerencia a alternância de credenciais temporárias para você.
Conteúdo
Melhores práticas para usar o perfil do IAM com instâncias de streaming do WorkSpaces
Configurar um perfil do IAM existente para usar com instâncias de streaming do Workspaces
Como criar uma perfil do IAM para usar com instâncias de streaming do WorkSpaces
Como usar a perfil do IAM com instâncias de streaming do WorkSpaces
Melhores práticas para usar o perfil do IAM com instâncias de streaming do WorkSpaces
Ao usar perfis do IAM com instâncias de streaming do WorkSpaces, recomendamos que você siga estas práticas:
Limite as permissões concedidas para recursos e ações de API da AWS.
Siga os princípios de privilégio mínimo ao criar e anexar políticas do IAM aos perfis do IAM associados a instâncias de streaming do WorkSpaces. Ao usar uma aplicação ou um script que exige acesso a recursos ou ações de API da AWS, determine as ações e os recursos específicos necessários. Crie políticas que permitam que o aplicativo ou o script execute somente essas ações. Para obter mais informações, consulte Conceder privilégio mínimo no Guia do usuário do IAM.
Crie um perfil do IAM para cada recurso do WorkSpaces.
A criação de um perfil do IAM exclusiva para cada recurso do WorkSpaces é uma prática que segue os princípios de privilégio mínimo. Isso também permite que você modifique as permissões para um recurso sem afetar outros recursos.
Limite onde as credenciais podem ser usadas.
As políticas do IAM permitem que você defina as condições sob as quais seu perfil do IAM pode ser usado para acessar um recurso. Por exemplo, é possível incluir condições para especificar um intervalo de endereços IP dos quais as solicitações podem vir. Isso impede que as credenciais sejam usadas fora do seu ambiente. Para obter mais informações, consulte Usar condições nas políticas para mais segurança no Guia do usuário do IAM.
Configurar um perfil do IAM existente para usar com instâncias de streaming do Workspaces
Este tópico descreve como configurar um perfil do IAM existente para que você possa usá-lo com o WorkSpaces.
Pré-requisitos
O perfil do IAM que você deseja usar com o WorkSpaces deve atender aos seguintes pré-requisitos:
O perfil do IAM deve estar na mesma conta da Amazon Web Services que a instância de streaming do WorkSpaces.
O perfil do IAM não pode ser um perfil de serviço.
A política de relacionamento de confiança anexada à perfil do IAM deve incluir o serviço do WorkSpaces como o principal. Uma entidade principal é uma entidade na AWS que pode executar ações e acessar recursos. A política também deve incluir a ação
sts:AssumeRole. Essa configuração de política define o WorkSpaces como uma entidade confiável.Se você estiver aplicando a perfil do IAM a um WorkSpaces, ele deverá executar uma versão do agente do WorkSpaces lançada a partir de 3 de setembro de 2019. Se você estiver aplicando a perfil do IAM a um WorkSpaces, o WorkSpaces deverá usar uma imagem que use uma versão do agente liberada na mesma data ou após essa mesma data.
Como permitir que o principal do serviço do WorkSpaces assuma um perfil do IAM existente
Para executar as etapas a seguir, você deverá fazer login na conta como um usuário do IAM que tenha as permissões necessárias para listar e atualizar perfis do IAM. Se você não tiver as permissões necessárias, peça ao administrador da sua conta da Amazon Web Services para executar essas etapas na sua conta ou conceder as permissões necessárias.
Abra o console do IAM em https://console.aws.amazon.com/iam/
. -
No painel de navegação, escolha Perfis.
-
Na lista de funções em sua conta, escolha o nome da função que deseja modificar.
Escolha a guia Relacionamentos de confiança e, em seguida, selecione Editar relacionamento de confiança.
Em Policy Document (Documento da política), verifique se a política de relacionamento de confiança inclui a ação
sts:AssumeRolepara o principal do serviçoworkspaces.amazonaws.com:Ao concluir a edição da política de confiança, escolha Atualizar política de confiança para salvar as alterações.
-
A perfil do IAM que você selecionou será exibida no console do WorkSpaces. Essa função concede permissões a aplicativos e scripts para executar ações de API e tarefas de gerenciamento nas instâncias de streaming.
Como criar uma perfil do IAM para usar com instâncias de streaming do WorkSpaces
Este tópico descreve como criar um perfil do IAM para que você possa usá-lo com os WorkSpaces.
Abra o console do IAM em https://console.aws.amazon.com/iam/
. No painel de navegação, escolha Roles e Create role.
Em Selecionar tipo de entidade confiável, selecione AWS serviço .
Na lista de serviços da AWS, escolha WorkSpaces.
Em Selecione o caso de uso, a opção WorkSpaces: permite que instâncias do WorkSpaces chamem serviços da AWS em seu nome já está selecionada. Escolha Próximo: Permissões.
Se possível, selecione a política a ser usada para a política de permissões ou escolha Create policy (Criar política) para abrir uma nova guia no navegador e criar uma nova política a partir do zero. Para obter mais informações, consulte a etapa 4 no procedimento Criar políticas do IAM (console) no Guia do usuário do IAM.
Depois de criar a política, feche essa guia e retorne à guia original. Marque a caixa de seleção ao lado das políticas de permissões que você deseja que o WorkSpaces tenha.
(Opcional) Defina um limite de permissões. Esse é um atributo avançado que está disponível para perfis de serviço, mas não para perfis vinculados ao serviço. Para obter mais informações, consulte Limites de permissões para entidades do IAM no Guia do usuário do IAM.
Escolha Próximo: tags. Opcionalmente, você pode anexar tags como pares de chave/valor. Para obter mais informações, consulte Recursos de etiquetas do IAM no Guia do usuário do IAM.
Escolha Próximo: revisar.
Em Nome do perfil, digite um nome de perfil exclusivo em sua conta da Amazon Web Services. Como outros recursos da AWS podem fazer referência à função, não é possível editar o nome da função depois que ela é criada.
Em Role description (Descrição da função), mantenha a descrição da função padrão ou digite uma nova.
Reveja a função e escolha Criar função.
Como usar a perfil do IAM com instâncias de streaming do WorkSpaces
Depois de criar um perfil do IAM, você poderá aplicá-lo aos WorkSpaces ao iniciar os WorkSpaces. Também é possível aplicar um perfil do IAM a WorkSpaces existentes.
Ao aplicar um perfil do IAM ao WorkSpaces, o WorkSpaces recupera as credenciais temporárias e cria o perfil de credenciais workspaces_machine_role na instância. As credenciais temporárias são válidas por 1 hora, e novas credenciais são recuperadas a cada hora. As credenciais anteriores não expiram, portanto, você poderá usá-las pelo tempo que forem válidas. É possível usar o perfil de credencial para chamar serviços da AWS de forma programática usando a AWS Command Line Interface (AWS CLI), as ferramentas da AWS para PowerShell ou o AWS SDK com a linguagem de sua escolha.
Ao fazer chamadas de API, especifique workspaces_machine_role como o perfil de credencial. Caso contrário, haverá falha na operação devido a permissões insuficientes.
O WorkSpaces assume a função especificada enquanto a instância de streaming é provisionada. Como o WorkSpaces usa a interface de rede elástica anexada à VPC para chamadas de API da AWS, sua aplicação ou script deve aguardar a interface de rede elástica ficar disponível antes de fazer chamadas de API da AWS. Se as chamadas de API forem feitas antes que a interface de rede elástica esteja disponível, haverá falha nas chamadas.
Os exemplos a seguir mostram como é possível usar o perfil de credencial workspaces_machine_role para descrever as instâncias de streaming (instâncias do EC2) e criar o cliente Boto. Boto é o Amazon Web Services (AWS) SDK para Python.
Descrever instâncias de streaming (instâncias do EC2) usando a AWS CLI
aws ec2 describe-instances --region us-east-1 --profile workspaces_machine_role
Descrever instâncias de streaming (instâncias do EC2) usando as ferramentas da AWS para PowerShell
É necessário usar as ferramentas da AWS para PowerShell versão 3.3.563.1 ou posterior com o Amazon Web Services SDK para .NET versão 3.3.103.22 ou posterior. É possível fazer download do instalador das ferramentas da AWS para Windows, que inclui as ferramentas da AWS para PowerShell e o Amazon Web Services SDK para .NET, no site Ferramentas da AWS para PowerShell
Get-EC2Instance -Region us-east-1 -ProfileName workspaces_machine_role
Criar o cliente Boto usando o AWS SDK para Python
session = boto3.Session(profile_name=workspaces_machine_role')