

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

# Configurar funções do IAM para aplicativos web Transfer Family
<a name="webapp-roles"></a>

Você precisará de duas funções: uma para usar como portador de identidade para seu aplicativo web e uma segunda para configurar uma concessão de acesso. Uma função de portador de identidade é uma função que inclui a identidade de um usuário autenticado em suas sessões. Ele é usado para fazer solicitações ao S3 Access Grants para acesso aos dados em nome do usuário.

**nota**  
Você pode pular o procedimento para criar uma função de portador de identidade. Para obter informações sobre como fazer com que o serviço Transfer Family crie a função de portador de identidade, consulte[Crie um aplicativo web Transfer Family](webapp-configure.md#web-app-create).  
Você pode pular o procedimento para criar uma função de concessão de acesso. No procedimento para criar uma concessão de acesso, na etapa em que você registra um local do S3, escolha **Criar nova função**. 

**Crie uma função de portador de identidade**

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Escolha **Funções** e, em seguida, **Criar função**.

1. Escolha **Política de confiança personalizada** e cole o código a seguir.

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

1. Escolha **Avançar** e, em seguida, pule **Adicionar permissões** e selecione **Avançar** novamente.

1. Insira um nome, por exemplo`web-app-identity-bearer`.

1. Escolha **Criar função para criar a função** de portador de identidade.

1. Escolha a função que você acabou de criar na lista e, no painel **Políticas de permissões**, escolha **Adicionar permissões** > **Criar política embutida**.

1. No **editor de políticas**, selecione **JSON** e cole o bloco de código a seguir.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetDataAccess",
                   "s3:ListCallerAccessGrants",
                   "s3:ListAccessGrantsInstances"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

1. Para o nome da política`AllowS3AccessGrants`, insira e selecione **Criar política**.

Em seguida, você cria a função que o S3 Access Grants assume para fornecer credenciais temporárias ao beneficiário.

**nota**  
Se você permitir que o serviço crie a função de portador de identidade para você, essa função configurará uma proteção adjunta confusa. Portanto, seu código é diferente do que é exibido aqui.

**Crie uma função de concessão de acesso**

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Escolha **Funções** e, em seguida, **Criar função**. Essa função deve ter permissão para acessar seus dados do S3 no Região da AWS.

1. Escolha **Política de confiança personalizada** e cole o código a seguir.

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

1. Escolha **Avançar** para adicionar uma política mínima conforme descrito em [Registrar um local](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location-register.html). Embora não seja recomendado, você pode adicionar a política FullAccess gerenciada do **AmazonS3**, que pode ser muito permissiva para suas necessidades.

1. Escolha **Avançar** e insira um nome (por exemplo`access-grants-location`).

1. Escolha **Criar função** para criar a função.

**nota**  
Se você permitir que o serviço crie a função de concessão de acesso para você, essa função configurará uma proteção adjunta confusa. Portanto, seu código é diferente do que é exibido aqui.