

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á.

# Usando uma função do IAM para conceder permissões a aplicativos e scripts executados em instâncias de streaming de WorkSpaces aplicativos
<a name="using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances"></a>

Aplicativos e scripts executados em instâncias de streaming de WorkSpaces aplicativos devem incluir AWS credenciais em suas solicitações de AWS API. Você pode criar um perfil do IAM para gerenciar essas credenciais. Uma função do IAM especifica um conjunto de permissões que você pode usar para acessar AWS recursos. 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.

Você pode aplicar uma função do IAM a uma instância de streaming de WorkSpaces aplicativos. Quando a instância de streaming alterna para (assume) a função, a função fornece credenciais de segurança temporárias. Seu aplicativo ou scripts usam essas credenciais para realizar ações de API e tarefas de gerenciamento na instância de streaming. WorkSpaces O Applications gerencia a troca temporária de credenciais para você.

**Topics**
+ [Melhores práticas para usar funções do IAM com instâncias de streaming de WorkSpaces aplicativos](best-practices-for-using-iam-role-with-streaming-instances.md)
+ [Configurando uma função do IAM existente para usar com instâncias de streaming de WorkSpaces aplicativos](configuring-existing-iam-role-to-use-with-streaming-instances.md)
+ [Como criar uma função do IAM para usar com instâncias de streaming de WorkSpaces aplicativos](how-to-create-iam-role-to-use-with-streaming-instances.md)
+ [Como usar a função do IAM com instâncias de streaming de WorkSpaces aplicativos](how-to-use-iam-role-with-streaming-instances.md)

# Melhores práticas para usar funções do IAM com instâncias de streaming de WorkSpaces aplicativos
<a name="best-practices-for-using-iam-role-with-streaming-instances"></a>

Ao usar funções do IAM com instâncias de streaming de WorkSpaces aplicativos, recomendamos que você siga estas práticas:
+ Limite as permissões que você concede às ações e recursos AWS da API.

  Siga os princípios de menor privilégio ao criar e anexar políticas do IAM às funções do IAM associadas às instâncias de streaming de WorkSpaces aplicativos. Ao usar um aplicativo ou script que exija acesso às ações ou recursos da AWS API, 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) no *Guia do usuário do IAM*.
+ Crie uma função do IAM para cada recurso de WorkSpaces aplicativos.

  Criar uma função exclusiva do IAM para cada recurso do WorkSpaces Applications é uma prática que segue os princípios de privilégios mínimos. 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#use-policy-conditions) no *Guia do usuário do IAM*.

# Configurando uma função do IAM existente para usar com instâncias de streaming de WorkSpaces aplicativos
<a name="configuring-existing-iam-role-to-use-with-streaming-instances"></a>

Este tópico descreve como configurar um perfil do IAM existente para que você possa usá-lo com construtores de imagens e instâncias de streaming de frota.

**Pré-requisitos**

A função do IAM que você deseja usar com um construtor de imagens de WorkSpaces aplicativos ou uma instância de streaming de frota deve atender aos seguintes pré-requisitos:
+ A função do IAM deve estar na mesma conta da Amazon Web Services que a instância de streaming de WorkSpaces aplicativos.
+ O perfil do IAM não pode ser um perfil de serviço.
+ A política de relacionamento de confiança anexada à função do IAM deve incluir o serviço de WorkSpaces aplicativos como principal. Um *diretor* é uma entidade AWS que pode realizar ações e acessar recursos. A política também deve incluir a ação `sts:AssumeRole`. Essa configuração de política define WorkSpaces os aplicativos como uma entidade confiável.

  
+ Se você estiver aplicando a função do IAM a um criador de imagens, o criador de imagens deverá executar uma versão do agente de WorkSpaces aplicativos lançada em ou após 3 de setembro de 2019. Se você estiver aplicando o perfil do IAM a uma frota, ela deverá usar uma imagem que use uma versão do agente liberada na mesma data ou depois dela. Para obter mais informações, consulte [WorkSpaces Notas de versão do Agente de Aplicativos](agent-software-versions.md). 

**Para permitir que o diretor do serviço de WorkSpaces aplicativos assuma uma função existente do IAM**

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.

1. Abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, escolha **Perfis**. 

1. Na lista de funções em sua conta, escolha o nome da função que deseja modificar.

1. Escolha a guia **Relacionamentos de confiança** e, em seguida, selecione **Editar relacionamento de confiança**.

1. Em **Policy Document (Documento da política)**, verifique se a política de relacionamento de confiança inclui a ação `sts:AssumeRole` para o principal do serviço `appstream.amazonaws.com`:

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "appstream.amazonaws.com"
           ]
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. Ao concluir a edição da política de confiança, escolha **Atualizar política de confiança** para salvar as alterações. 

1. A função do IAM que você selecionou será exibida no console de WorkSpaces aplicativos. 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 função do IAM para usar com instâncias de streaming de WorkSpaces aplicativos
<a name="how-to-create-iam-role-to-use-with-streaming-instances"></a>

Este tópico descreve como criar um perfil do IAM para que você possa usá-lo com construtores de imagens e instâncias de streaming de frota.

1. Abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, escolha **Funções** e **Criar função**.

1. Em **Selecionar tipo de entidade confiável**, selecione **AWS serviço **.

1. Na lista de AWS serviços, escolha **WorkSpaces Aplicativos**.

1. Em **Selecione seu caso de uso**, **WorkSpaces Aplicativos — Permite que instâncias de WorkSpaces aplicativos chamem AWS serviços em seu nome** já está selecionado. Escolha **Próximo: Permissões**.

1. 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)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start) 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 os WorkSpaces aplicativos tenham.

1. (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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) no *Guia do usuário do IAM*.

1. 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) no *Guia do usuário do IAM*.

1. Escolha **Próximo: revisar**.

1. Em **Nome do perfil**, digite um nome de perfil exclusivo em sua conta da Amazon Web Services. Como outros AWS recursos podem fazer referência à função, você não pode editar o nome da função após sua criação.

1. Em **Role description (Descrição da função)**, mantenha a descrição da função padrão ou digite uma nova.

1. Reveja a função e escolha **Criar função**.

# Como usar a função do IAM com instâncias de streaming de WorkSpaces aplicativos
<a name="how-to-use-iam-role-with-streaming-instances"></a>

Depois de criar um perfil do IAM, você poderá aplicá-lo a um construtor de imagens ou a uma instância de streaming de frota ao iniciar o construtor de imagens ou ao criar uma frota. Também é possível aplicar um perfil do IAM a frotas existentes. Para obter informações sobre como aplicar o perfil do IAM ao iniciar um construtor de imagens, consulte [Inicie um criador de imagens para instalar e configurar aplicativos de streaming](tutorial-image-builder-create.md). Para obter informações sobre como aplicar um perfil do IAM ao criar uma frota, consulte [Crie uma frota nos WorkSpaces aplicativos da Amazon](set-up-stacks-fleets-create.md).

Quando você aplica uma função do IAM ao seu criador de imagens ou instância de streaming de frota, os WorkSpaces aplicativos recuperam credenciais temporárias e criam o perfil de credencial **appstream\$1machine\$1role** 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. Você pode usar o perfil de credencial para chamar AWS serviços de forma programática usando a Interface de Linha de AWS Comando (AWS CLI), o AWS Tools for PowerShell ou o AWS SDK com o idioma de sua escolha.

Ao fazer chamadas de API, especifique **appstream\$1machine\$1role** como o perfil de credencial. Caso contrário, haverá falha na operação devido a permissões insuficientes.

WorkSpaces Os aplicativos assumem a função especificada enquanto a instância de streaming é provisionada. Como o WorkSpaces Applications usa a interface de rede elástica que está conectada à sua VPC para chamadas de AWS API, seu aplicativo ou script deve esperar que a interface de rede elástica fique disponível antes de fazer chamadas de AWS API. 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 **appstream\$1machine\$1role** 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. 

**Descreva as instâncias de streaming (instâncias do EC2) usando a CLI AWS **

```
aws ec2 describe-instances --region us-east-1 --profile appstream_machine_role
```

**Descreva as instâncias de streaming (instâncias do EC2) usando AWS ferramentas para PowerShell**

Você deve usar o AWS Tools para a PowerShell versão 3.3.563.1 ou posterior, com o SDK da Amazon Web Services para .NET versão 3.3.103.22 ou posterior. Você pode baixar o instalador do AWS Tools for Windows, que inclui o AWS Tools for PowerShell e o Amazon Web Services SDK for .NET, [AWS no site Tools PowerShell](https://aws.amazon.com/powershell/) for.

```
Get-EC2Instance -Region us-east-1 -ProfileName appstream_machine_role
```

**Criando o cliente Boto usando o AWS SDK para Python**

```
session = boto3.Session(profile_name='appstream_machine_role')
```