

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

# Aplicativos web Transfer Family
<a name="web-app"></a>

Você pode criar aplicativos web para habilitar uma interface simples para transferir dados de e para o Amazon Simple Storage Service (S3) por meio de um navegador da web. Isso não exige que você crie ou provisione AWS Transfer Family servidores.

Antes da introdução dos aplicativos web Transfer Family, os usuários finais precisavam usar uma solução cliente, personalizada ou de terceiros para acessar seus dados no Amazon S3. Isso ocorreu devido aos rigorosos requisitos de segurança para clientes e parceiros e porque os aplicativos dos clientes são difíceis de operar para usuários não técnicos.

Com o lançamento de aplicativos web, agora você pode estender um portal de marca, seguro e altamente disponível para que seus usuários finais naveguem, façam upload e baixem dados no Amazon S3. Os aplicativos web são integrados de forma nativa com o Centro de Identidade do AWS IAM Amazon S3 Access Grants. Isso significa que somente seus usuários autenticados podem visualizar os dados que estão autorizados a acessar. Os aplicativos web são criados usando o [Storage Browser para Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-browser.html) e oferecem as mesmas funcionalidades do usuário final em uma oferta totalmente gerenciada, sem precisar escrever código ou hospedar seu próprio aplicativo.

Para obter mais informações sobre o outro Serviços da AWS que você usa com os aplicativos web Transfer Family, consulte a documentação a seguir:
+ [Gerenciando o acesso com o S3 Access Grants no Guia do usuário do Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html)
+ [Centro de Identidade do AWS IAM Guia do usuário](https://docs.aws.amazon.com/singlesignon/latest/userguide/)
+ [Workshop sobre subsídios de acesso ao Amazon S3](https://catalog.us-east-1.prod.workshops.aws/workshops/77b0af63-6ad2-4c94-bfc0-270eb9358c7a/en-US)
+ [Anunciando aplicativos AWS Transfer Family web para transferências de arquivos totalmente gerenciadas do Amazon S3](https://aws.amazon.com/blogs/aws/announcing-aws-transfer-family-web-apps-for-fully-managed-amazon-s3-file-transfers/)

Os recursos a seguir estão disponíveis para ajudar você a começar a usar os aplicativos web Transfer Family.
+ O guia do usuário oferece um passo a step-by-step passo detalhado sobre a configuração de um aplicativo web Transfer Family aqui:. [Tutorial: Configurando um aplicativo web básico do Transfer Family](web-app-tutorial.md)
+ O **AWS Getting Started Resource Center** oferece um tutorial aqui: [Introdução ao aplicativo AWS Transfer Family web](https://aws.amazon.com/getting-started/hands-on/set-up-an-aws-transfer-family-web-app/).
+ O vídeo a seguir fornece um passo a passo para começar a usar os aplicativos web Transfer Family.  
[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/Ie9M0qBGrCE/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/Ie9M0qBGrCE)

## Regiões da AWS para aplicativos web Transfer Family
<a name="webapp-regions"></a>

AWS Transfer Family os aplicativos web estão disponíveis em todas as regiões suportadas pelo Transfer Family, conforme listado nos [endpoints de AWS Transfer Family serviço](https://docs.aws.amazon.com//general/latest/gr/transfer-service.html#transfer-region), exceto no México (Central).

Os endpoints VPC para aplicativos web são compatíveis em todos os Regiões da AWS lugares onde os aplicativos web estão disponíveis.

## Compatibilidade do navegador para aplicativos AWS Transfer Family da web
<a name="webapp-browsers"></a>

Os aplicativos web Transfer Family são compatíveis com os seguintes navegadores.


| Navegador | Versão | Compatibilidade | 
| --- | --- | --- | 
| Microsoft Edge | Últimas 3 versões | Compatível | 
| Mozilla Firefox | Últimas 3 versões | Compatível | 
| Google Chrome | Últimas 3 versões | Compatível | 
| Apple Safari | Últimas 3 versões | Compatível | 

## Como criar um aplicativo web Transfer Family
<a name="webapp-process"></a>

O diagrama a seguir ilustra a arquitetura do aplicativo web Transfer Family.

![\[Diagrama de arquitetura mostrando os Serviços da AWS que interagem com os aplicativos web Transfer Family.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/webapp-architecture.png)


Com base no diagrama, você pode ver que os aplicativos web Transfer Family interagem com o seguinte Serviços da AWS:
+ Amazon S3 para armazenamento e Amazon S3 Access Grants para adquirir credenciais de sessão.
+ Centro de Identidade do AWS IAM como provedor de identidade federado.
+ Amazon CloudFront se você configurar uma URL personalizada para seu aplicativo web.

Observe as seguintes limitações ao usar aplicativos da web.
+ Número máximo de resultados de pesquisa por consulta: 10.000
+ Os buckets do Amazon S3 usados pelo aplicativo web Transfer Family devem estar na mesma conta do próprio aplicativo web. No momento, não há suporte para buckets entre contas.
+ Amplitude máxima de pesquisa por consulta: 10.000 arquivos pesquisados
+ Tamanho máximo de upload por arquivo: 160 GB (149 GiB)
+ Tamanho máximo do arquivo para cópia: 5,36 GB (5 GiB)
+ Não há suporte para nomes de pastas que comecem ou terminem com pontos (.)

**Pré-requisitos**  
*Em AWS Identity and Access Management, configure as funções necessárias.* Cole os blocos de código que fornecemos nas instruções. Para obter informações sobre como configurar as funções necessárias, consulte[Configurar funções do IAM para aplicativos web Transfer Family](webapp-roles.md).
+ Crie uma função de portador de identidade.
+ Crie uma função do IAM para ser usada pelo S3 Access Grants. O S3 Access Grants assume essa função do IAM para fornecer credenciais temporárias ao beneficiário da localização registrada do Amazon S3.

**Processo para criar um aplicativo web Transfer Family**  
Para criar seu aplicativo web e colocar seus usuários finais em funcionamento, você executa as seguintes tarefas:

1. *Configure o IAM Identity Center para atuar como seu provedor de identidade federado*. Execute as seguintes tarefas no IAM Identity Center. Para obter mais detalhes sobre a configuração do IAM Identity Center, consulte[Configure seu provedor de identidade para os aplicativos web Transfer Family](webapp-identity-center.md).

   1. Crie uma instância do IAM Identity Center, se você ainda não tiver uma.

   1. Determine sua fonte de identidade. Ele pode ser o diretório padrão do IAM Identity Center ou um provedor terceirizado (por exemplo, Okta).

   1. Crie ou identifique os usuários ou grupos que usarão seu aplicativo web. 

   1. Se você estiver usando o diretório do IAM Identity Center para sua fonte de identidade, anote o usuário ou grupo IDs que você criou. Você precisará deles posteriormente ao criar uma concessão de acesso usando o S3 Access Grants.

1. *No Amazon S3, configure as concessões de acesso ao Amazon S3.* Para obter mais informações sobre a funcionalidade Concessões de Acesso do S3, consulte [Configurar Amazon S3 Access Grants para aplicativos web Transfer Family](webapp-access-grant.md).
   + Crie uma instância do S3 Access Grants se você ainda não tiver uma. Região da AWS
   + Registre sua localização usando a função do IAM.
   + Crie a concessão de acesso.

1. *Em Transfer Family, execute as seguintes tarefas.*

   1. Crie o aplicativo web Transfer Family. Para obter mais informações sobre como criar o aplicativo web Transfer Family, consulte[Configurar um aplicativo web Transfer Family](webapp-configure.md).
**Importante**  
Configure o compartilhamento de recursos de origem cruzada (CORS) para todos os buckets do Amazon S3 usados pelo seu aplicativo web. Para obter informações sobre como configurar o CORS, consulte[Configure o compartilhamento de recursos de origem cruzada (CORS) para seu bucket](access-grant-cors.md).

   1. Atribua usuários ou grupos ao aplicativo web. Para obter mais informações sobre como atribuir usuários e grupos, consulte[Atribuir ou adicionar usuários ou grupos a um aplicativo web Transfer Family](webapp-add-users.md).

   1. (Opcional) Atualize o endpoint de acesso do seu aplicativo web com um URL personalizado. Para obter informações sobre como criar um URL personalizado, consulte[Atualize seu endpoint de acesso com um URL personalizado](webapp-customize.md).

   1. Forneça aos usuários finais a URL do endpoint de acesso para que eles possam fazer login e interagir com seu aplicativo web.

# Configure seu provedor de identidade para os aplicativos web Transfer Family
<a name="webapp-identity-center"></a>

A seção a seguir descreve como configurar seu provedor de identidade.

Para começar, você deve ter uma fonte de identidade. Você pode usar um diretório do IAM Identity Center ou um provedor de identidade externo. AWS Directory Service for Microsoft Active Directory O Transfer Family usa o IAM Identity Center como um provedor de identidade federado, que é um sistema que armazena as credenciais do usuário e autentica os usuários em várias organizações.

Se você não estiver usando um diretório do IAM Identity Center como fonte de identidade, consulte os tópicos a seguir:
+ [Gerenciar um provedor de identidade externo](https://docs.aws.amazon.com//singlesignon/latest/userguide/manage-your-identity-source-idp.html)
+ [Conecte-se a um diretório do Microsoft AD](https://docs.aws.amazon.com//singlesignon/latest/userguide/manage-your-identity-source-ad.html)
+ [Instâncias de organização e conta do IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/identity-center-instances.html)
+ [Tutoriais de origem de identidade do IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/tutorials.html)

**nota**  
Você só pode ter uma fonte de identidade no IAM Identity Center, por instância, por Região da AWS. Para obter detalhes, consulte os [pré-requisitos e considerações do IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/identity-center-prerequisites.html).

Se você planeja usar o diretório do IAM Identity Center como sua fonte de identidade e quer uma configuração rápida, pode pular este tópico e acessar [Crie um aplicativo web Transfer Family](webapp-configure.md#web-app-create) para criar uma instância do IAM Identity Center a partir do assistente.

**Para configurar Centro de Identidade do AWS IAM para uso com os aplicativos web Transfer Family**

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

1. Você pode criar e usar uma instância de conta ou uma instância de organização do Centro de Identidade do AWS IAM.
   + Para obter detalhes sobre instâncias de conta, consulte [Criar uma instância de conta de Centro de Identidade do AWS IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/create-account-instance.html). Com uma instância de conta do IAM Identity Center, você pode implantar aplicativos AWS gerenciados compatíveis e aplicativos gerenciados pelo cliente baseados no OpenID Connect (OIDC). As instâncias de conta oferecem suporte a implantações isoladas de aplicativos em um único aplicativo Conta da AWS, aproveitando os recursos do portal de acesso e identidade da força de trabalho do IAM Identity Center.
   + Para obter detalhes sobre as instâncias da organização, consulte [Instâncias da organização do IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/organization-instances-identity-center.html). Você pode gerenciar centralmente o acesso de usuários e grupos com uma única instância da organização.

1. Na página de **configurações** do IAM Identity Center, anote o ARN da instância. Você precisará desse valor ao criar uma instância do **Amazon S3 Access Grant**.  
![\[Captura de tela do console Centro de Identidade do AWS IAM mostrando a página Configurações com o ARN da instância circulado.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/webapp-identity-center.png)

1. Crie um ou mais usuários e, opcionalmente, grupos para usar com seu aplicativo web Transfer Family. Se você estiver usando um diretório do IAM Identity Center como seu provedor de identidade, você também pode adicionar usuários diretamente do próprio aplicativo web. Para obter mais informações, consulte [Atribuir ou adicionar usuários ou grupos a um aplicativo web Transfer Family](webapp-add-users.md).

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

# Configurar um aplicativo web Transfer Family
<a name="webapp-configure"></a>

Esta seção descreve os procedimentos para criar um aplicativo web Transfer Family. Para atribuir usuários e grupos que possam usá-lo, consulte[Atribuir ou adicionar usuários ou grupos a um aplicativo web Transfer Family](webapp-add-users.md).

**nota**  
Repita esses procedimentos para adicionar outros aplicativos da web. Você pode reutilizar as funções do IAM que você criou anteriormente. Certifique-se de adicionar os endpoints de acesso para os novos aplicativos web à política de compartilhamento de recursos de origem cruzada (CORS) de cada bucket.

## Crie um aplicativo web Transfer Family
<a name="web-app-create"></a>

**nota**  
Se você não estiver usando o diretório do IAM Identity Center para seu provedor de identidade, não tente criar um aplicativo web até que você já tenha configurado o IAM Identity Center e configurado um provedor de identidade terceirizado, conforme descrito em[Configure seu provedor de identidade para os aplicativos web Transfer Family](webapp-identity-center.md).

Conclua as etapas a seguir para criar um aplicativo web Transfer Family.

**Para criar um aplicativo web Transfer Family**

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

1. No painel de navegação esquerdo, escolha **Aplicativos Web**.

1. Escolha **Criar aplicativo web**.

   Para acesso à autenticação, o painel é preenchido da seguinte forma.
   + Se você já criou uma instância de organização ou conta no Centro de Identidade do AWS IAM, verá esta mensagem: **Seu AWS Transfer Family aplicativo está conectado a uma instância de conta do IAM Identity Center**.
   + Se você já tem uma instância de conta e é membro de uma instância da organização, você tem a opção de escolher qual instância conectar.
   + Se você ainda não tem uma instância de conta ou é membro de uma instância da organização, você tem as opções para criar uma instância de conta.

1. Em **Tipo de endpoint**, escolha o tipo de endpoint **Acessível publicamente**. Para um endpoint **hospedado no VPC**, consulte [Crie um aplicativo web Transfer Family em uma VPC](create-webapp-in-vpc.md).

1. No painel **Tipo de permissão**, você pode usar uma função criada anteriormente ou fazer com que o serviço crie uma para você.
   + Se você já criou uma função de portador de identidade, escolha **Usar uma função existente** e escolha sua função no menu **Selecionar uma função existente**.
   + Para que o serviço crie uma função para você, escolha **Criar e use uma nova função de serviço**.

1. No painel **Unidades do aplicativo Web**, escolha um valor. Uma unidade de aplicativo da web permite a atividade do aplicativo da web em até 250 sessões exclusivas. Ao criar um aplicativo web, você provisiona quantas unidades você precisa com base nos volumes de pico de carga de trabalho esperados. Alterar suas unidades de aplicativos web afeta seu faturamento. Para obter mais informações sobre preços consulte [AWS Transfer Family Pricing](https://aws.amazon.com/aws-transfer-family/pricing).

1. Se você estiver usando Transfer Family em um AWS GovCloud (US) Region, você pode marcar a caixa de seleção do **endpoint FIPS Enabled** no painel **FIPS** Enabled. Para todos os outros Regiões da AWS, essa opção não está disponível.

1. (Opcional) Adicione uma tag para ajudar você a organizar seus aplicativos da web. Sugerimos que você adicione uma tag com **Nome** como chave e um nome descritivo como valor.

1. Escolha **Próximo**. Nessa tela, você pode, opcionalmente, fornecer um título para seu aplicativo web. Se você não fornecer um título, o título padrão de **Transfer Web App** será fornecido. Você também pode fazer upload de arquivos de imagem para seu logotipo e favicon.

1. Escolha **Avançar** e, em seguida, escolha **Criar aplicativo web**.

![\[Tela que mostra o painel de aplicativos da Web, bem como o item de menu para selecioná-lo no painel de navegação esquerdo.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/webapp-transfer-dashboard.png)


**nota**  
Certifique-se de configurar uma política de compartilhamento de recursos de origem cruzada (CORS) para todos os buckets que são acessados do endpoint do aplicativo web.

# Crie um aplicativo web Transfer Family em uma VPC
<a name="create-webapp-in-vpc"></a>

Esta seção descreve os procedimentos para criar um aplicativo web Transfer Family em uma VPC. Você pode hospedar o endpoint do seu aplicativo web em uma nuvem privada virtual (VPC) para usar na transferência de dados de e para um bucket do Amazon S3 sem usar a Internet pública. Para atribuir usuários e grupos que podem usar seu aplicativo web, consulte[Atribuir ou adicionar usuários ou grupos a um aplicativo web Transfer Family](webapp-add-users.md).

**nota**  
Para garantir um fluxo de end-to-end dados privado ao usar um endpoint VPC do aplicativo web Transfer Family, você deve implementar três componentes adicionais. Primeiro, configure um PrivateLink endpoint para as operações da API Amazon S3 Control, o que é necessário para as chamadas de API do Amazon S3 Access Grants. Segundo, configure um endpoint para acesso aos dados do Amazon S3 usando um endpoint do Amazon PrivateLink S3 Gateway (para tráfego de dentro da sua VPC) ou um endpoint de interface do Amazon S3 (para tráfego de redes locais via VPN ou Direct Connect). Em terceiro lugar, bloqueie o acesso ao bucket do Amazon S3 atualizando as políticas do bucket para permitir apenas o tráfego desses endpoints de VPC. Essa combinação garante que todas as transferências de dados permaneçam em sua infraestrutura de rede privada e nunca atravessem a Internet pública.

## Crie um aplicativo web Transfer Family
<a name="webapp-vpce-create"></a>

**Pré-requisitos**
+ Centro de Identidade do AWS IAM configurado com o provedor de identidade configurado. Consulte [Configure seu provedor de identidade para os aplicativos web Transfer Family](webapp-identity-center.md).
+ Configuração de componentes de rede e VPC. Consulte [Criar uma VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html#create-vpc-and-other-resources).
+ Endpoint de API configurado para operações de controle do Amazon S3. Consulte [Acesso aos endpoints da interface Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html#s3-creating-vpc).
+ Configuração de endpoints VPC para Amazon S3 (gateway ou interface). Consulte [Tipos de VPC endpoints para o Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html#types-of-vpc-endpoints-for-s3). Se você estiver usando um endpoint de interface, deverá habilitar o DNS privado. Por exemplo, consulte [Introdução ao suporte de DNS privado para o Amazon AWS PrivateLink S3](https://aws.amazon.com/blogs/storage/introducing-private-dns-support-for-amazon-s3-with-aws-privatelink/) com.

**nota**  
Centro de Identidade do AWS IAM não oferece suporte a endpoints VPC; todas as solicitações de autenticação transitam pela Internet pública. Além disso, os aplicativos web da Transfer Family exigem acesso à Internet para carregar conteúdo estático (como JavaScript arquivos CSS e HTML). Os requisitos para acesso público à Internet são separados do acesso aos dados. Seu VPC endpoint garante que as conexões sejam roteadas por meio de sua infraestrutura de VPC.

**Para criar um aplicativo web Transfer Family**

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

1. No painel de navegação esquerdo, escolha **Aplicativos Web**.

1. Escolha **Criar aplicativo web**. Para acesso à autenticação, o painel é preenchido da seguinte forma.
   + Se você já criou uma instância de organização ou conta no Centro de Identidade do AWS IAM, verá esta mensagem: **Seu AWS Transfer Family aplicativo está conectado a uma instância de conta do IAM Identity Center**.
   + Se você já tem uma instância de conta e é membro de uma instância da organização, você tem a opção de escolher qual instância conectar.
   + Se você ainda não tem uma instância de conta ou é membro de uma instância da organização, você tem as opções para criar uma instância de conta.

1. Na seção **Configuração do Endpoint**, escolha como seus usuários acessarão seu aplicativo web:
   + **Acessível publicamente**: o endpoint do seu aplicativo web pode ser acessado pelo público via HTTPS. Essa opção não exige nenhuma configuração de VPC, o que a torna simples de configurar e adequada para aplicativos destinados ao amplo uso público.
   + **Hospedado em VPC**: seu endpoint de aplicativo web está hospedado em sua Nuvem Privada Virtual (VPC), fornecendo acesso à rede privada por meio de sua rede VPC ou conexões VPN. AWS Direct Connect Essa opção oferece segurança aprimorada por meio do isolamento da rede e é recomendada para aplicativos internos.
**nota**  
Você deve ter uma configuração de VPC de pilha dupla. Para obter mais informações, consulte [Exemplo de configuração de VPC de pilha dupla](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6-example.html) no Guia do usuário da *Amazon Virtual Private Cloud*. 

     Ao configurar um endpoint hospedado em VPC, você precisará especificar:
     + **VPC**: selecione uma VPC existente ou crie uma nova. O botão **Criar uma VPC** está disponível.
     + **Zonas de disponibilidade**: escolha as zonas de disponibilidade em que seu endpoint será implantado.
     + **Sub-redes**: selecione sub-redes em cada zona de disponibilidade escolhida.
     + **Grupos de segurança**: selecione ou crie grupos de segurança para controlar o acesso com base nos endereços IP de origem. Se não for especificado, o grupo de segurança padrão da VPC será usado. Gerencie grupos de segurança por meio do console VPC. Configure seus grupos de segurança da VPC para permitir o tráfego de entrada da sua rede via HTTPS na porta TCP 443. Isso é necessário para a autenticação do IAM Identity Center e para o carregamento de conteúdo estático do aplicativo web. 
**nota**  
O endpoint de acesso não pode ser personalizado para endpoints VPC. Para adicionar um URL personalizado, use o endpoint público.

## Etapas de pós-criação
<a name="webapp-vpce-post-creation"></a>
+ Certifique-se de configurar uma política de compartilhamento de recursos de origem cruzada (CORS) para todos os buckets que são acessados do endpoint do aplicativo web. Consulte [Política de compartilhamento de recursos entre origens (CORS)](#webapp-vpce-cors).
+ Atualize sua política de bucket para permitir tráfego proveniente somente de sua VPC por meio de seu VPC endpoint. Consulte [Restringir o acesso a um VPC endpoint específico](#webapp-vpce-bucket-policy).
+ Atribua ou adicione usuários ou grupos ao aplicativo web Transfer Family. Consulte [Atribuir ou adicionar usuários ou grupos a um aplicativo web Transfer Family](webapp-add-users.md).

## Política de compartilhamento de recursos entre origens (CORS)
<a name="webapp-vpce-cors"></a>

Você deve configurar o compartilhamento de recursos de origem cruzada (CORS) para todos os buckets usados pelo seu aplicativo web. Para obter mais informações sobre CORS, consulte [Configure o compartilhamento de recursos de origem cruzada (CORS) para seu bucket](access-grant-cors.md).

**Importante**  
Antes de usar o exemplo de política a seguir, substitua a Origem permitida pelo seu endpoint de acesso. Caso contrário, seus usuários finais receberão uma mensagem de erro ao tentarem acessar um local no seu aplicativo web.

**Exemplo de política:**

```
[
  {
    "AllowedHeaders": [
      "*"
    ],
    "AllowedMethods": [
      "GET",
      "PUT",
      "POST",
      "DELETE",
      "HEAD"
    ],
    "AllowedOrigins": [
      "https://vpce-1234567-example.vpce-mq.transfer-webapp.us-east-1.on.aws"
    ],
    "ExposeHeaders": [
      "last-modified",
      "content-length",
      "etag",
      "x-amz-version-id",
      "content-type",
      "x-amz-request-id",
      "x-amz-id-2",
      "date",
      "x-amz-cf-id",
      "x-amz-storage-class",
      "access-control-expose-headers"
    ],
    "MaxAgeSeconds": 3000
  }
]
```

## Restringir o acesso a um VPC endpoint específico
<a name="webapp-vpce-bucket-policy"></a>

O seguinte é um exemplo de um política de bucket do Amazon S3 que restringe o acesso a um bucket específico, `amzn-s3-demo-bucket`, somente no VPC endpoint com o ID `vpce-1a2b3c4d`. Se o endpoint especificado não for usado, essa política negará todo acesso ao bucket. A condição `aws:SourceVpce` especifica o endpoint. A condição `aws:SourceVpce` não requer um ARN para o recurso do VPC endpoint, somente o ID do VPC endpoint. Para obter mais informações sobre como atualizar sua política de bucket para permitir somente o tráfego proveniente da sua VPC, [consulte Como controlar o acesso de VPC](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies-vpc-endpoint.html) endpoints com políticas de bucket. Para obter mais informações sobre o uso de condições em uma política, consulte [Exemplos de políticas de bucket usando chaves de condição](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html). Como pré-requisito para aplicar essa política, você deve criar um endpoint Amazon [S3 VPC](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html).

**Importante**  
Antes de usar a política de exemplo a seguir, substitua o ID do VPC endpoint por um valor apropriado para o caso de uso. Caso contrário, não será possível acessar o bucket.

```
{
  "Version":"2012-10-17",
  "Id": "Policy1415115909152",
  "Statement": [
    {
      "Sid": "Access-to-specific-VPCE-only",
      "Principal": "*",
      "Action": "s3:*",
      "Effect": "Deny",
      "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"],
      "Condition": {
        "StringNotEquals": {
          "aws:SourceVpce": "vpce-1a2b3c4d"
        }
      }
    }
  ]
}
```

# Atribuir ou adicionar usuários ou grupos a um aplicativo web Transfer Family
<a name="webapp-add-users"></a>

Depois de criar um aplicativo web Transfer Family, você pode atribuir usuários e grupos que podem então acessar o aplicativo web. Você pode recuperar usuários que já foram criados e armazenados no IAM Identity Center ou [adicionar novos usuários diretamente](https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html) (se estiver usando um diretório do IAM Identity Center como seu provedor de identidade). Se você adicionar novos usuários, eles também serão adicionados à sua instância do IAM Identity Center.

Observe o seguinte:
+ Você só pode adicionar novos usuários se estiver usando o diretório do IAM Identity Center como sua fonte de identidade e tiver as permissões adequadas. Se você for membro de uma instância da organização, talvez não tenha as permissões necessárias para adicionar usuários.
**nota**  
Se você não atribuir usuários ou grupos ao seu aplicativo, seus usuários receberão um erro ao tentarem fazer login no seu aplicativo web.
+ Se você criar um novo usuário, também deverá criar uma concessão de acesso do S3 para esse usuário para que ele possa acessar os dados em seu aplicativo web.
+ Depois de criar um novo usuário, esse usuário recebe um e-mail de integração do IAM Identity Center com instruções sobre como proceder.

**Para atribuir usuários a um aplicativo web Transfer Family**

1. Navegue até sua lista de aplicativos da web e escolha aquela que você deseja editar.

1. Escolha **Atribuir usuários e grupos**.  
![\[Tela mostrando os detalhes de um aplicativo web selecionado.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/webapp-transfer-details.png)

1. Para atribuir usuários que você criou anteriormente no IAM Identity Center, selecione **Atribuir usuários e grupos existentes**. Para criar novos usuários, vá para a etapa 4.

   1. Uma tela de informações é exibida. Escolha **Começar** para continuar.

   1. Pesquise o usuário. Observe que nenhum usuário aparece até você começar a inserir seus critérios de pesquisa. Você deve pesquisar pelo nome de *exibição, não pelo nome* de *usuário*, se for diferente. Somente as correspondências exatas são retornadas. Se você não conseguir encontrar seu usuário, navegue até o console de gerenciamento do IAM Identity Center, encontre o usuário e copie e cole seu nome de exibição aqui.  
![\[Tela mostrando a caixa de diálogo de pesquisa para adicionar usuários e grupos ao seu aplicativo web.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/webapp-transfer-add-user.png)

   1. Escolha os usuários e grupos a serem adicionados e, em seguida, escolha **Atribuir**.

1. Para criar um novo usuário, selecione **Adicionar e atribuir novos usuários**.

   1. Uma tela de informações é exibida. Escolha **Começar** para continuar.

   1. Escolha **Add new users (Adicionar novos usuários)**.

   1. Insira os seguintes detalhes do usuário na caixa de diálogo: nome de usuário, nome e sobrenome e um endereço de e-mail.   
![\[Tela mostrando a caixa de diálogo Adicionar novos usuários.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/webapp-transfer-add-user-new.png)

   1. Escolha **Avançar** e escolha **Adicionar** para adicionar o usuário e fechar a caixa de diálogo ou **Adicionar novo usuário** para criar outro usuário.

# Configure o compartilhamento de recursos de origem cruzada (CORS) para seu bucket
<a name="access-grant-cors"></a>

Você deve configurar o compartilhamento de recursos de origem cruzada (CORS) para todos os buckets usados pelo seu aplicativo web. Uma *configuração CORS* é um documento que define regras que identificam as origens que você permitirá acessar seu bucket. Para obter mais informações sobre o CORS, consulte [Configurando o compartilhamento de recursos de origem cruzada (](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enabling-cors-examples.html?icmpid=docs_amazons3_console)CORS).

**Importante**  
Se você não configurar o CORS, seus usuários finais receberão um erro ao tentarem acessar um local no seu aplicativo web.

**Para configurar o compartilhamento de recursos de origem cruzada (CORS) para seu bucket Amazon S3**

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

1. Escolha **Buckets** no painel de navegação esquerdo, pesquise seu bucket na caixa de diálogo de pesquisa e, em seguida, escolha a guia **Permissões**.

1. Em **Compartilhamento de recursos de origem cruzada (CORS)**, escolha **Editar** e cole o código a seguir. *WebAppEndpoint*Substitua pelo endpoint de acesso real do seu aplicativo web. Isso pode ser o endpoint de acesso público ou hospedado em VPC que é criado quando o aplicativo web é criado ou um endpoint de acesso personalizado, se você criar um. Certifique-se de não inserir barras finais, pois isso causa erros quando os usuários tentam fazer login no seu aplicativo web.
   + Exemplo incorreto: `https://webapp-c7bf3423.transfer-webapp.us-east-2.on.aws/`
   + Exemplos corretos:
     + `https://webapp-c7bf3423.transfer-webapp.us-east-2.on.aws`
     + `https://vpce-05668789767a-fh45z079.vpce-mq.transfer-webapp.us-east-1.on.aws`

   Se você estiver reutilizando um bucket para vários aplicativos da web, anexe seus endpoints à lista. `AllowedOrigins`

   ```
   [
     {
       "AllowedHeaders": [
         "*"
       ],
       "AllowedMethods": [
         "GET",
         "PUT",
         "POST",
         "DELETE",
         "HEAD"
       ],
       "AllowedOrigins": [
         "https://WebAppEndpoint"
       ],
       "ExposeHeaders": [
         "last-modified",
          "content-length",
         "etag",
         "x-amz-version-id",
         "content-type",
         "x-amz-request-id",
         "x-amz-id-2",
         "date",
         "x-amz-cf-id",
         "x-amz-storage-class",
         "access-control-expose-headers"
        ],
       "MaxAgeSeconds": 3000
     }
   ]
   ```

1.  Escolha **Salvar alterações** para atualizar o CORS.

Para testar sua configuração do CORS, consulte [Testando o CORS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/testing-cors.html).

# Configurar Amazon S3 Access Grants para aplicativos web Transfer Family
<a name="webapp-access-grant"></a>

Este tópico descreve como adicionar uma concessão de acesso usando o Amazon S3 Access Grants. Essa concessão de acesso define o acesso aos seus dados diretamente para seus usuários e grupos em seu diretório corporativo e vende, com privilégios mínimos just-in-time, credenciais temporárias com base em concessões. Uma concessão individual em uma instância do S3 Access Grants permite que um usuário ou grupo específico em um diretório corporativo tenha acesso em um local registrado em sua instância do S3 Access Grants. Para obter mais detalhes, consulte os [conceitos do S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-concepts.html) no Guia do usuário do Amazon S3.

**nota**  
Você não pode usar o diretório do IAM Identity Center com o S3 Access Grants, exceto com os aplicativos web Transfer Family.

Você deve especificar uma concessão de acesso ao Amazon S3 para propagação de identidade. Uma concessão de acesso ao Amazon S3 armazena os dados que seus usuários finais devem acessar. Quando seus usuários finais acessam seu aplicativo web Transfer Family, o S3 Access Grants passa a identidade do usuário para o aplicativo confiável. Esta seção descreve como adicionar e configurar uma instância de concessão de acesso do Amazon S3 e, em seguida, uma concessão de acesso para um bucket do Amazon S3.

**nota**  
Prepare o [ARN e o ID de usuário ou grupo da instância do IAM Identity Center](webapp-identity-center.md#identity-center-arn), pois você precisa que eles concluam a configuração da concessão de acesso.

**Para criar uma concessão usando o Amazon S3 Access Grants**

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

1. Crie um bucket ou anote um bucket existente para usar com seu aplicativo web. Para obter informações sobre a criação de buckets, consulte o Guia do [usuário do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/).

1. No painel de navegação esquerdo, escolha **Access Grants**.

1. Escolha **Criar instância do S3 Access Grants** e forneça as seguintes informações.
   + Selecione **Adicionar instância do IAM Identity Center em *your-Region*** onde *your-Region* está sua Região da AWS. Mantenha essa caixa desmarcada se você não estiver usando o IAM Identity Center como seu provedor de identidade.
   + Cole o ARN da instância do IAM Identity Center.  
![\[Tela mostrando a caixa de diálogo da instância Create Access Grants do Amazon S3 com valores de exemplo.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/webapp-grants-instance.png)

   Escolha **Próximo** para continuar.

1. **Registre buckets ou prefixos do S3** como locais. Recomendamos que você registre o local padrão e `s3://` o mapeie para uma função do IAM. A localização nesse caminho padrão abrange o acesso a todos os seus buckets do Amazon S3 na Região da AWS sua conta. Ao criar uma concessão de acesso, você pode restringir o escopo a um bucket, um prefixo ou um objeto dentro do local padrão.

   Forneça as informações a seguir. 
   + Para o **Escopo**, procure um bucket ou insira o nome do seu bucket e, opcionalmente, um prefixo.
   + Para a função do IAM, escolha **Criar nova função** para que o serviço crie uma função.

     Como alternativa, você mesmo pode criar a função, conforme descrito em[Configurar funções do IAM para aplicativos web Transfer Family](webapp-roles.md), e inserir seu ARN aqui.   
![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/webapp-grants-register-new.png)

   Escolha **Próximo** para continuar.

1. Na tela **Criar concessão**, forneça os seguintes detalhes.
   + Em **Permissões**, selecione **Ler** e **gravar**. As permissões de concessão de acesso podem ser somente leitura ou leitura e gravação, mas somente gravação não é suportada.
   + Para o **tipo de beneficiário**, escolha **Identidade do diretório no IAM Identity Center**.
   + Em **Tipo de identidade de diretório**, selecione **Usuário** ou **Grupo**, dependendo do tipo que você deseja registrar agora.
   + No ** user/group ID do IAM Identity Center**, cole o ID do seu usuário ou grupo. Esse ID está disponível no console do **IAM Identity Center** e no seu aplicativo web Transfer Family na tabela de usuários e grupos.  
![\[Tela mostrando a caixa de diálogo Amazon S3 Create Grant com valores de exemplo.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/webapp-access-grant-details.png)

   Escolha **Próximo**.

1. Revise as configurações na tela. Se tudo estiver correto, escolha **Concluir** para criar a concessão de acesso. Como alternativa, você pode escolher **Cancelar** ou **Anterior** para fazer alterações.  
![\[Tela mostrando a caixa de diálogo Revisar e concluir com valores de exemplo.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/webapp-access-grants-review.png)

![\[Tela mostrando a nova concessão de acesso em uma exibição de lista.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/webapp-access-grants-finished.png)


Isso conclui a configuração do seu aplicativo web. Os usuários e grupos que você configurou podem visitar o aplicativo web no ponto de acesso, fazer login e carregar e baixar arquivos.

# Atualize seu endpoint de acesso com um URL personalizado
<a name="webapp-customize"></a>

O endpoint de acesso padrão criado com seu aplicativo web contém identificadores gerados pelo serviço. Para oferecer uma experiência de marca, talvez você queira fornecer uma URL personalizada para que seus usuários acessem seu aplicativo web Transfer Family. Este tópico descreve como atualizar seu endpoint de acesso com uma URL personalizada.

**nota**  
O endpoint de acesso não pode ser personalizado para endpoints VPC. Para adicionar um URL personalizado, use o endpoint público.

**nota**  
O procedimento a seguir depende do uso do modelo de [CloudFormation pilha](https://s3.amazonaws.com/aws-transfer-resources/custom-domain-templates/aws-transfer-web-app-custom-domain-distribution.template.yml) recomendado. Você não precisa usar o modelo: você pode criar a distribuição usando o [CloudFront console](https://console.aws.amazon.com/cloudfront/v4/home) diretamente.  
No entanto, o modelo fornecido simplifica o processo e facilita a prevenção de configurações incorretas. Se você não usar o CloudFormation modelo, siga estas diretrizes:  
A [política de solicitação do Origin](https://docs.aws.amazon.com//AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html#managed-origin-request-policy-cors-custom) deve encaminhar cadeias de caracteres de consulta e cookies para a origem e não deve encaminhar o `Host` cabeçalho para a origem.
A [política de cache](https://docs.aws.amazon.com//AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html#managed-cache-policy-origin-cache-headers) não deve incluir o `Host` cabeçalho na chave de cache.

**Para personalizar o URL do seu aplicativo web**

1. Crie uma CloudFront distribuição usando o AWS CloudFormation modelo fornecido pela Transfer Family, modelo de [CloudFormation pilha](https://s3.amazonaws.com/aws-transfer-resources/custom-domain-templates/aws-transfer-web-app-custom-domain-distribution.template.yml).

   1. Abra o CloudFormation console em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

   1. Escolha **Criar pilha** e especifique o seguinte.
      + Na seção **Pré-requisito - Preparar modelo**, **escolha Escolher um modelo existente**.
      + Na seção **Especificar modelo** escolha **Fazer carregar um arquivo de modelo**.
      + Salve o arquivo de [modelo da CloudFormation pilha]( https://s3.amazonaws.com/aws-transfer-resources/custom-domain-templates/aws-transfer-web-app-custom-domain-distribution.template.yml) e, em seguida, carregue-o aqui.

   1. Escolha **Avançar** e forneça as seguintes informações.
      + **WebAppEndpoint**: copie o valor do seu aplicativo web
      + **AccessEndpoint**: forneça o nome de domínio personalizado que você deseja usar
      + **AcmCertificateArn**: forneça o ARN para um SSL/TLS certificado público ou privado armazenado em AWS Certificate Manager 

   1. Complete o CloudFormation assistente até que sua nova pilha seja criada.

1. Em seu aplicativo web, edite o **endpoint do Access**, atualizando o **URL personalizado** para o URL que você deseja usar.  
![\[Tela mostrando um endpoint de acesso personalizado para um aplicativo web Transfer Family.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/webapp-custom-name.png)

1. Crie registros DNS para direcionar o tráfego do seu nome de domínio personalizado para a CloudFront distribuição. Se você estiver usando o Route 53 para a zona, poderá criar um registro Alias ou CNAME para o nome da CloudFront distribuição (por exemplo, **xxxx.cloudfront.net**). Para obter informações sobre como usar o Amazon Route 53 com CloudFront, consulte [Configurando o Amazon Route 53 para rotear o tráfego para uma CloudFront distribuição](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html#routing-to-cloudfront-distribution-config).

1. Atualize sua política de compartilhamento de recursos entre origens substituindo o endpoint de acesso padrão pela seguinte linha no bloco de `AllowedOrigins` código:

   ```
    "https://custom-url"
   ```

   Você precisa fazer essa alteração para cada bucket usado pelo seu aplicativo web.

   Depois de fazer a atualização, a `AllowedOrigins` seção da sua política de CORS deve ter a seguinte aparência:

   ```
   "AllowedOrigins": [
       "https://custom-url"],
   ```

   Você precisa apenas de uma única AllowedOrigins entrada para cada aplicativo web Transfer Family.

   Consulte o procedimento [Configurar compartilhamento de recursos de origem cruzada (CORS) para seu bucket do Amazon S3](access-grant-cors.md#cors-configure) para obter mais detalhes.

Agora você pode visitar seu endpoint de acesso personalizado e compartilhar esse link com seus usuários finais.

# CloudTrail registro para aplicativos web Transfer Family
<a name="webapp-cloudtrail"></a>

CloudTrail é um AWS service (Serviço da AWS) que cria um registro das ações realizadas dentro do seu Conta da AWS. Ele monitora e registra continuamente as operações da API para atividades como logins, AWS Command Line Interface comandos e SDK/API operações do console. Isso permite que você mantenha um registro de quem realizou qual ação, quando e de onde. CloudTrail ajuda na auditoria, no gerenciamento de acesso e na conformidade regulatória, fornecendo um histórico de todas as atividades em seu AWS ambiente.

Para aplicativos web Transfer Family, você pode rastrear eventos de autenticação e operações de acesso a dados realizadas por seus usuários. Para habilitar o registro abrangente, você precisa:

1. Configure CloudTrail para registrar eventos de gerenciamento para rastrear atividades de autenticação.

1. Habilite eventos de dados do Amazon S3 para rastrear operações de arquivos realizadas por meio de seu aplicativo web.

**Consulte também**
+ [CloudTrail casos de uso do IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/sso-cloudtrail-use-cases.html)
+ [Entendendo os eventos de login do IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/understanding-sign-in-events.html)
+ [CloudTrail Elemento UserIdentity](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)
+ [Habilitando o registro de CloudTrail eventos para buckets e objetos do S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-cloudtrail-logging-for-s3.html)
+ [Eventos do Amazon S3 CloudTrail](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cloudtrail-logging-s3-info.html)

## Habilitando eventos de dados do Amazon S3
<a name="webapp-enable-s3-data-events"></a>

Para rastrear operações de arquivos realizadas por meio dos aplicativos web da Transfer Family em seus buckets do Amazon S3, você precisa habilitar eventos de dados para esses buckets. Os eventos de dados fornecem atividade de API em nível de objeto e são particularmente úteis para rastrear uploads, downloads e outras operações de arquivos realizadas por usuários de aplicativos web.

Para habilitar eventos de dados do Amazon S3 para seu aplicativo web Transfer Family:

1. Abra o CloudTrail console em [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/).

1. No painel de navegação, escolha **Trilhas** e selecione uma trilha existente ou crie uma nova.

1. Em **Seletores de eventos avançados**, escolha **Editar**.

1. Escolha **Adicionar seletor de eventos avançado**.

1. Para o primeiro seletor de campo:
   + Definir **campo** como `eventCategory`
   + Definir **operador** como **igual**
   + Defina **o valor** como `Data`

1. Escolha **Adicionar campo** e para o segundo seletor de campo:
   + Definir **campo** como `resources.type`
   + Definir **operador** como **igual**
   + Defina **o valor** como `AWS::S3::Object`

1. (Opcional) Para registrar eventos somente para buckets específicos, escolha **Adicionar campo** e adicione:
   + Definir **campo** como `resources.ARN`
   + Defina o **operador** para **começar com**
   + Defina **o valor** como `arn:aws:s3:::your-bucket-name/`

1. Escolha **Salvar alterações**.

Como alternativa, você pode usar a configuração de eventos de dados legados:

1. Em **Eventos de dados**, escolha **Editar**.

1. Em **Tipo de evento de dados**, selecione **Eventos de bucket e objeto do S3**.

1. Escolha os buckets do Amazon S3 para registrar eventos de dados. Você pode selecionar **Todos os buckets atuais e futuros do S3 ou especificar buckets** individuais.

1. Escolha se deseja registrar eventos de **leitura**, eventos de **gravação** ou ambos.

1. Escolha **Salvar alterações**.

Depois de ativar os eventos de dados, você pode acessar esses logs no bucket do Amazon S3 configurado para. CloudTrail Os registros incluem detalhes como o usuário que realizou a ação, o registro de data e hora da ação, o objeto específico afetado e o `onBehalfOf` campo que ajuda a rastrear as ações realizadas `userId` por meio dos aplicativos web Transfer Family.

### Encontrando e visualizando seus registros
<a name="webapp-find-view-logs"></a>

Há várias maneiras de encontrar e visualizar CloudTrail registros do seu aplicativo web Transfer Family:

#### Usando o CloudTrail console
<a name="webapp-find-logs-console"></a>

A maneira mais rápida de ver eventos recentes:

1. Abra o CloudTrail console em [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/).

1. Escolha **Histórico de eventos**.

1. Filtrar eventos por:
   + **Fonte do evento**: `signin.amazonaws.com` para eventos de aplicativos web
   + **Fonte do evento**: `s3.amazonaws.com` para operações de arquivo

1. Clique em qualquer evento para ver informações detalhadas.

#### Acessando registros no Amazon S3
<a name="webapp-find-logs-s3"></a>

Para acessar os arquivos de log completos armazenados no Amazon S3:

1. Identifique o CloudTrail bucket Amazon S3 da sua trilha:

   ```
   aws cloudtrail describe-trails --query 'trailList[*].[Name,S3BucketName]' --output table
   ```

1. Navegue até os arquivos de log no Amazon S3:

   ```
   aws s3 ls s3://your-cloudtrail-bucket/AWSLogs/account-id/CloudTrail/region/YYYY/MM/DD/
   ```

1. Baixe e pesquise arquivos de log para o ID do seu aplicativo web:

   ```
   aws s3 cp s3://your-cloudtrail-bucket/AWSLogs/account-id/CloudTrail/region/YYYY/MM/DD/ . --recursive
   gunzip *.json.gz
   grep -l "webapp-1a2b3c4d5e6f7g8h9" *.json
   ```

#### Usando AWS CLI para pesquisar eventos
<a name="webapp-find-logs-cli"></a>

Pesquise eventos específicos de aplicativos da web usando AWS CLI:

```
aws logs filter-log-events \
  --log-group-name /aws/cloudtrail/your-trail-name \
  --filter-pattern "webapp-1a2b3c4d5e6f7g8h9" \
  --start-time $(date -d "1 day ago" +%s)000
```

Ou pesquise eventos de autenticação:

```
aws logs filter-log-events \
  --log-group-name /aws/cloudtrail/your-trail-name \
  --filter-pattern "UserAuthentication" \
  --start-time $(date -d "1 day ago" +%s)000
```

## Exemplos de registros de autenticação
<a name="webapp-authentication-log-examples"></a>

CloudTrail registra eventos de autenticação para aplicativos web Transfer Family, que podem ajudar você a monitorar tentativas de login bem-sucedidas e malsucedidas. Esses registros são particularmente úteis para fins de monitoramento de segurança e conformidade.

**Topics**
+ [Exemplo de entrada de registro para verificação de credenciais](#webapp-credential-verification-example)
+ [Exemplo de entrada de registro para autenticação de login](#webapp-signin-authentication-example)
+ [Exemplo de entrada de registro para ListCallerAccessGrants](#webapp-list-caller-access-grants-example)
+ [Exemplo de entrada de registro para GetDataAccess evento](#webapp-get-data-access-example)

### Exemplo de entrada de registro para verificação de credenciais
<a name="webapp-credential-verification-example"></a>

O exemplo a seguir mostra uma entrada de CloudTrail registro para um evento de verificação de credenciais que ocorre durante o processo de autenticação.

```
{
    "eventVersion": "1.09",
    "userIdentity": {
        "type": "Unknown",
        "principalId": "123456789012",
        "arn": "",
        "accountId": "123456789012",
        "accessKeyId": "",
        "userName": "demo-user-2",
        "onBehalfOf": {
            "userId": "f12bb510-a011-702f-10dd-5607e2776dbc",
            "identityStoreArn": "arn:aws:identitystore::123456789012:identitystore/d-9a670c546e"
        },
        "credentialId": "58138a11-87e5-401d-8f0b-7161c9389112"
    },
    "eventTime": "2025-08-08T15:29:30Z",
    "eventSource": "signin.amazonaws.com",
    "eventName": "CredentialVerification",
    "awsRegion": "us-east-2",
    "sourceIPAddress": "192.0.2.224",
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36",
    "requestParameters": null,
    "responseElements": null,
    "additionalEventData": {
        "AuthWorkflowID": "f304a48b-7b6d-41c8-b136-4f49c91c1f31",
        "CredentialType": "PASSWORD"
    },
    "requestID": "ff936828-4a81-453c-802d-81368b6bca1a",
    "eventID": "70cb7008-493d-42c2-a9eb-38bf168af6a8",
    "readOnly": false,
    "eventType": "AWS ServiceEvent",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "serviceEventDetails": {
        "CredentialVerification": "Success"
    },
    "eventCategory": "Management"
}
```

Esse evento fornece detalhes adicionais sobre a etapa de verificação de credenciais no processo de autenticação, mostrando a ID específica da credencial e a ID do fluxo de trabalho de autenticação usadas.

### Exemplo de entrada de registro para autenticação de login
<a name="webapp-signin-authentication-example"></a>

O exemplo a seguir mostra uma entrada de CloudTrail registro de um evento de autenticação de usuário bem-sucedido durante o login do aplicativo web usando o IAM Identity Center.

```
{
    "eventVersion": "1.09",
    "userIdentity": {
        "type": "Unknown",
        "principalId": "123456789012",
        "arn": "",
        "accountId": "123456789012",
        "accessKeyId": "",
        "userName": "demo-user-2",
        "onBehalfOf": {
            "userId": "f12bb510-a011-702f-10dd-5607e2776dbc",
            "identityStoreArn": "arn:aws:identitystore::123456789012:identitystore/d-9a670c546e"
        },
        "credentialId": "b41f0a02-1635-4d07-a414-aecf9e14b906"
    },
    "eventTime": "2025-08-07T14:09:07Z",
    "eventSource": "signin.amazonaws.com",
    "eventName": "UserAuthentication",
    "awsRegion": "us-east-2",
    "sourceIPAddress": "192.0.2.14",
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36",
    "requestParameters": null,
    "responseElements": null,
    "additionalEventData": {
        "AuthWorkflowID": "7a4ef12c-7c4b-4bc3-b5bd-c2469afcc795",
        "LoginTo": "https://example.awsapps.com/start/",
        "CredentialType": "PASSWORD"
    },
    "requestID": "fc91bcf0-ac53-4454-a1a0-fb911eacc095",
    "eventID": "18522007-1e60-4a71-b2b5-150baf504ab3",
    "readOnly": false,
    "eventType": "AWS ServiceEvent",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "serviceEventDetails": {
        "UserAuthentication": "Success"
    },
    "eventCategory": "Management"
}
```

Neste exemplo, observe os seguintes campos importantes:
+ `eventSource`: mostra “signin.amazonaws.com”, indicando que esse é um evento de autenticação do IAM Identity Center.
+ `userIdentity.onBehalfOf`: contém o ID do usuário e o ARN do repositório de identidades do usuário do aplicativo web.
+ `additionalEventData.LoginTo`: mostra o URL do aplicativo IAM Identity Center que está sendo acessado.
+ `additionalEventData.CredentialType`: indica o método de autenticação usado (SENHA).
+ `serviceEventDetails`: mostra o resultado da autenticação (Sucesso).

### Exemplo de entrada de registro para ListCallerAccessGrants
<a name="webapp-list-caller-access-grants-example"></a>

O exemplo a seguir mostra uma entrada de CloudTrail registro para um ListCallerAccessGrants evento, que ocorre quando o aplicativo web Transfer Family consulta as concessões de acesso disponíveis para um usuário.

```
{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAEXAMPLEID:aws-transfer",
        "arn": "arn:aws:sts::123456789012:assumed-role/AWS TransferWebAppIdentityBearer-us-east-2/aws-transfer",
        "accountId": "123456789012",
        "accessKeyId": "ASIAEXAMPLEKEY",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAEXAMPLEID",
                "arn": "arn:aws:iam::123456789012:role/service-role/AWS TransferWebAppIdentityBearer-us-east-2",
                "accountId": "123456789012",
                "userName": "AWS TransferWebAppIdentityBearer-us-east-2"
            },
            "attributes": {
                "creationDate": "2025-08-08T15:29:34Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "transfer.amazonaws.com",
        "onBehalfOf": {
            "userId": "f12bb510-a011-702f-10dd-5607e2776dbc",
            "identityStoreArn": "arn:aws:identitystore::123456789012:identitystore/d-9a670c546e"
        }
    },
    "eventTime": "2025-08-08T15:29:35Z",
    "eventSource": "s3.amazonaws.com",
    "eventName": "ListCallerAccessGrants",
    "awsRegion": "us-east-2",
    "sourceIPAddress": "transfer.amazonaws.com",
    "userAgent": "transfer.amazonaws.com",
    "requestParameters": {
        "Host": "123456789012.s3-control.dualstack.us-east-2.amazonaws.com",
        "allowedByApplication": "true",
        "maxResults": "100"
    },
    "responseElements": null,
    "additionalEventData": {
        "SignatureVersion": "SigV4",
        "CipherSuite": "TLS_AES_128_GCM_SHA256",
        "bytesTransferredIn": 0,
        "AuthenticationMethod": "AuthHeader",
        "x-amz-id-2": "1g34AaAELn/fntxwrifVsr41VDl8dp5ygWFasHJFNVq5FDCWYfX0ye7s4tWHEJC8ppI5lLePYLIcw3iTXAgn5Q==",
        "bytesTransferredOut": 462
    },
    "requestID": "48485MTZEDWT0ANT",
    "eventID": "3de5dd60-b7cf-474c-a1ab-631467c1a5c3",
    "readOnly": true,
    "resources": [
        {
            "accountId": "123456789012",
            "type": "AWS:S3::AccessGrantsInstance",
            "ARN": "arn:aws:s3:us-east-2:123456789012:access-grants/default"
        }
    ],
    "eventType": "AWS ApiCall",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "eventCategory": "Management"
}
```

Neste exemplo, observe os seguintes campos importantes:
+ `eventName`: Mostra que se trata de um ListCallerAccessGrants evento que consulta as concessões de acesso disponíveis do S3.
+ `requestParameters.allowedByApplication`: indica que a consulta está filtrada para concessões permitidas pelo aplicativo.
+ `requestParameters.maxResults`: mostra o número máximo de subsídios a serem devolvidos na resposta.
+ `userIdentity.onBehalfOf`: vincula a solicitação ao usuário específico do aplicativo web.

Esse evento ajuda a monitorar quando o aplicativo web Transfer Family consulta a quais recursos do S3 um usuário tem acesso, fornecendo visibilidade das operações de descoberta de concessões de acesso.

### Exemplo de entrada de registro para GetDataAccess evento
<a name="webapp-get-data-access-example"></a>

O exemplo a seguir mostra uma entrada de CloudTrail registro para um GetDataAccess evento, que ocorre quando o aplicativo web Transfer Family solicita permissões de acesso aos recursos do S3 em nome de um usuário.

```
{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROASEQRAEABP7ADWEZA5:aws-transfer",
        "arn": "arn:aws:sts::123456789012:assumed-role/AWSTransferWebAppIdentityBearer-ap-southeast-1/aws-transfer",
        "accountId": "123456789012",
        "accessKeyId": "ASIAEXAMPLEKEY",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROASEQRAEABP7ADWEZA5",
                "arn": "arn:aws:iam::123456789012:role/service-role/AWSTransferWebAppIdentityBearer-ap-southeast-1",
                "accountId": "123456789012",
                "userName": "AWSTransferWebAppIdentityBearer-ap-southeast-1"
            },
            "attributes": {
                "creationDate": "2025-05-08T16:09:05Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "transfer.amazonaws.com",
        "onBehalfOf": {
            "identityStoreArn": "arn:aws:identitystore::123456789012:identitystore/d-9667b0da7a",
            "userId": "191a35ec-10a1-70c1-e4ab-e2802411e13e"
        }
    },
    "eventTime": "2025-05-08T16:10:25Z",
    "eventSource": "s3.amazonaws.com",
    "eventName": "GetDataAccess",
    "awsRegion": "ap-southeast-1",
    "sourceIPAddress": "transfer.amazonaws.com",
    "userAgent": "transfer.amazonaws.com",
    "requestParameters": {
        "Host": "123456789012.s3-control.dualstack.ap-southeast-1.amazonaws.com",
        "durationSeconds": 900,
        "permission": "READWRITE",
        "target": "s3://amzn-s3-demo-bucket/users/john.doe/documents/*"
    },
    "responseElements": null,
    "additionalEventData": {
        "AuthenticationMethod": "AuthHeader",
        "CipherSuite": "TLS_AES_128_GCM_SHA256",
        "SignatureVersion": "SigV4",
        "bytesTransferredIn": 0,
        "bytesTransferredOut": 2244,
        "x-amz-id-2": "8ce8sZOgNwsaj9w1mzagyA+csONjYl8FgEw4FGpE8DARi90aNC0RFWlTYNEn7ChqE9RCJrTzMvS+ru7Vz2xXHrkQt/1uQ9exZTZdlhX+/fM="
    },
    "requestID": "BXGSKKQXCWS5RAHB",
    "eventID": "c11db1d1-dfb8-431e-8625-48eba2ebadfe",
    "readOnly": true,
    "resources": [
        {
            "type": "AWS:S3::AccessGrantsInstance",
            "ARN": "arn:aws:s3:ap-southeast-1:123456789012:access-grants/default",
            "accountId": "123456789012"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "eventCategory": "Management"
}
```

Neste exemplo, observe os seguintes campos importantes:
+ `eventName`: mostra que esse é um GetDataAccess evento que ocorre quando o Transfer Family solicita permissões de acesso aos recursos do S3.
+ `userIdentity.onBehalfOf`: contém o ARN e o ID do usuário do repositório de identidades, vinculando a solicitação de acesso ao usuário específico do aplicativo web.
+ `requestParameters.target`: mostra o padrão de caminho do S3 para o qual o acesso foi solicitado.
+ `requestParameters.permission`: indica o tipo de acesso solicitado (READWRITE, READ ou WRITE).
+ `requestParameters.durationSeconds`: mostra por quanto tempo a concessão de acesso é válida (normalmente 900 segundos/15 minutos).
+ `sourceIPAddress`e`userAgent`: Ambos mostram “transfer.amazonaws.com”, indicando que se trata de uma solicitação de serviço interna.

GetDataAccess os eventos são particularmente úteis para rastrear quando os usuários do aplicativo web Transfer Family recebem acesso a recursos específicos do S3, ajudando você a monitorar os padrões de acesso e garantir a autorização adequada.

## Visualizando entradas CloudTrail de registro
<a name="webapp-view-log-entries"></a>

Há várias maneiras de visualizar e analisar as entradas de CloudTrail registro do seu aplicativo web Transfer Family:

### Usando o CloudTrail console
<a name="webapp-view-logs-console"></a>

O CloudTrail console fornece uma interface amigável para visualizar e filtrar entradas de registro:

1. Abra o CloudTrail console em [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/).

1. No painel de navegação, escolha **Event history** (Histórico de eventos).

1. Use as opções de filtro para restringir os eventos:
   + Defina **Origem do evento** como `transfer.amazonaws.com` para ver somente os eventos do Transfer Family.
   + Filtre por **nome do evento** para ver operações específicas, como`UserAuthentication`.
   + Use o **intervalo de tempo** para se concentrar em eventos dentro de um período específico.

1. Clique em qualquer evento para ver suas informações detalhadas.

### Acessando registros no Amazon S3
<a name="webapp-view-logs-s3"></a>

Se você configurou uma CloudTrail trilha para entregar registros para um bucket do Amazon S3, você pode acessar os arquivos de log brutos diretamente:

1. Abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Navegue até o bucket e o prefixo em que seus CloudTrail registros estão armazenados.

1. Os registros são organizados por ano, mês, dia e região. Navegue até o diretório apropriado.

1. Baixe e abra os arquivos de log, que estão no formato JSON.

# Solução de problemas em seus aplicativos da web
<a name="webapp-troubleshooting"></a>

**nota**  
Essas dicas de solução de problemas são destinadas ao administrador do aplicativo web e não ao usuário final. Para usuários finais, se você encontrar algum problema, entre em contato com o administrador do aplicativo web. Todas as instâncias de *você* nos parágrafos a seguir se referem ao administrador do aplicativo web.

## Solucionar erros de rede
<a name="webapp-network-error"></a>

**Descrição**

Seu usuário final vê um banner de rede **Network Error** ao carregar o endpoint do aplicativo web.

**Causa**

Os problemas mais comuns são os seguintes:
+ O administrador não atribuiu o usuário que está tentando fazer login no novo aplicativo.
+ O administrador não adicionou as ações necessárias às suas funções do IAM.
+ Você vê uma lista de concessões de acesso do S3 atribuídas ao seu usuário, mas o CORS não está configurado corretamente para seu bucket ou buckets do Amazon S3.

 **Solução** 
+  No IAM Identity Center, certifique-se de atribuir o usuário ao aplicativo correto. Ou, se você tiver um grupo atribuído, verifique se o usuário que está tentando fazer login pertence ao grupo correto. Isso está descrito em [Atribuir ou adicionar usuários ou grupos a um aplicativo web Transfer Family](webapp-add-users.md).
+ Verifique se suas funções contêm as ações necessárias na **política de confiança personalizada** para ambas `sts:AssumeRole` e `sts:SetContext` ações. Isso está descrito em [Configurar funções do IAM para aplicativos web Transfer Family](webapp-roles.md).
+ Verifique a política do CORS para todos os buckets usados pelo seu aplicativo web. Isso está descrito em [Configurar o compartilhamento de recursos de origem cruzada (CORS) para seu bucket do Amazon S3](access-grant-cors.md#cors-configure).

## Solucione o problema de que o bucket configurado não aparece
<a name="webapp-no-bucket"></a>

**Descrição**

Tudo parece estar configurado corretamente, mas o bucket do Amazon S3 não aparece no aplicativo web.

**Causa**

Uma possível causa é que o bucket do Amazon S3 não está na mesma conta do aplicativo web.

 **Solução** 

Certifique-se de que o bucket do Amazon S3 esteja na mesma conta do aplicativo web. No momento, não há suporte para buckets entre contas.

## Solucionar erros de URL personalizados
<a name="webapp-customURL-errors"></a>

**Descrição**

Quando seu usuário final faz login no aplicativo web, ele recebe a mensagem de erro **Falha na autorização: código de autorização ausente.**

**Causa**

Se você usou CloudFront diretamente, em vez do CloudFormation modelo fornecido, provavelmente configurou incorretamente a política de solicitação de origem para não encaminhar cadeias de caracteres de consulta.

**Solução**

Atualize sua política de solicitação de origem para encaminhar sequências de caracteres de consulta e cookies para a origem.

**Descrição**

Quando seu usuário final tenta acessar um aplicativo web Transfer Family, ele recebe uma resposta 404.

**Causa**

Se você usou CloudFront diretamente, em vez do CloudFormation modelo fornecido, provavelmente configurou incorretamente a política de cache para incluir o `Host` cabeçalho na chave de cache ou configurou incorretamente a política de solicitação de origem para encaminhar o `Host` cabeçalho.

**Solução**
+ Certifique-se de que sua política de cache não inclua o `Host` cabeçalho na chave de cache
+ Certifique-se de que sua política de solicitação de origem não encaminhe o `Host` cabeçalho.

## Solucionar erros diversos
<a name="webapp-various-errors"></a>

**Descrição**

Seu usuário final não consegue fazer login, não consegue visualizar nenhum bucket ou arquivo, ou você recebe outro erro.

**Causa**

Uma causa possível é que o ARN da instância do IAM Identity Center não corresponda ao valor do ARN de suas concessões ou do ARN da instância do IAM Identity Center do seu aplicativo web.

 **Solução** 

Verifique os itens a seguir para ver se eles coincidem.
+  No IAM Identity Center, navegue até **Configurações** e visualize o **ARN da instância**.

  ```
  arn:aws:sso:::instance/ssoins-instance-identifier
  ```
+ No Amazon S3, navegue até **Access Grants** e visualize o **ARN da instância do IAM Identity Center**.

  ```
  arn:aws:sso::account-id:application/ssoins-instance-identifier/apl-1234567890abcdef0
  ```
+ Em Transfer Family, navegue até a página de detalhes do seu aplicativo web e veja o ARN da instância.

  ```
  arn:aws:sso:::instance/ssoins-instance-identifier
  ```

O *instance-identifier* valor deve ser o mesmo em todos esses três lugares.

## Buckets S3 duplicados que aparecem no aplicativo web
<a name="webapp-duplicate-buckets"></a>

**Descrição**

Os usuários veem o mesmo bucket do S3 listado várias vezes na interface do aplicativo web Transfer Family.

**Causa**

Isso ocorre quando um usuário faz parte de vários grupos do Active Directory que têm concessões duplicadas para o mesmo bucket do S3. O aplicativo web lista todas as concessões de nível superior associadas ao usuário (UID ou GID), independentemente de o usuário ter várias concessões atribuídas ao mesmo local do bucket.

**Solução**

Para resolver esse problema, os administradores devem eliminar a duplicação das concessões para que cada usuário tenha apenas uma concessão para cada local do S3. Revise sua configuração do S3 Access Grants e consolide concessões duplicadas para o mesmo bucket em diferentes grupos do Active Directory.

# Instruções para o usuário final dos aplicativos web Transfer Family
<a name="webapp-end-users"></a>

**nota**  
Neste tópico, as informações são destinadas aos usuários finais que estão interagindo com o aplicativo web. *Todas as suas instâncias neste tópico se referem a usuários finais.*

Este tópico descreve como acessar um aplicativo AWS Transfer Family web que você está autorizado a usar e descreve como você pode interagir com ele.

## Cotas de aplicativos web
<a name="end-user-quotas"></a>

Observe as seguintes limitações ao usar aplicativos da web.
+ Número máximo de resultados de pesquisa por consulta: 10.000
+ Os buckets do Amazon S3 usados pelo aplicativo web Transfer Family devem estar na mesma conta do próprio aplicativo web. No momento, não há suporte para buckets entre contas.
+ Amplitude máxima de pesquisa por consulta: 10.000 arquivos pesquisados
+ Tamanho máximo de upload por arquivo: 160 GB (149 GiB)
+ Tamanho máximo do arquivo para cópia: 5,36 GB (5 GiB)
+ Não há suporte para nomes de pastas que comecem ou terminem com pontos (.)

## Experiência do usuário para usuários do IAM Identity Center
<a name="end-user-identity-center"></a>

Esta seção descreve a experiência do usuário se sua organização usou o IAM Identity Center para configurar seus usuários.

**Para acessar um aplicativo web Transfer Family**

1. Você deve receber um e-mail de **no-reply@login.awsapps.com** com o título “Convite para participar” Centro de Identidade do AWS IAM. Aceite o convite para ativar sua conta de usuário.

1. Na mensagem, escolha a URL abaixo da URL do **seu portal de AWS acesso**.

   Isso leva você para a tela de AWS login.  
![\[Tela mostrando a tela AWS de login.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/webapp-enduser-signin.png)

1. Insira suas credenciais e escolha **Entrar**.

   Isso leva você ao Portal de acesso da AWS, que mostra uma lista dos aplicativos disponíveis.

1. Escolha o aplicativo para seu aplicativo web Transfer Family.

## Experiência do usuário para usuários de provedores de identidade terceirizados
<a name="end-user-3p"></a>

Se sua organização não usou Centro de Identidade do AWS IAM para configurar seus usuários, sua experiência de integração dependerá do aplicativo do provedor de identidade que eles usaram para configurar seus usuários finais. Depois de se autenticar e fazer login, a interface do seu aplicativo web é a mesma descrita na próxima seção.

**nota**  
Se um usuário pertencer a vários grupos do Active Directory que têm concessões para o mesmo bucket do Amazon S3, o bucket aparece várias vezes na interface do aplicativo web. Isso ocorre porque o aplicativo web lista todas as concessões de nível superior associadas ao UID ou GID do usuário, incluindo concessões duplicadas para o mesmo bucket. Para evitar listagens duplicadas, os administradores podem consolidar várias concessões para que cada usuário tenha apenas uma concessão por local do Amazon S3.

## Interface de usuário final do Transfer Family
<a name="end-user-interface"></a>

Depois de se autenticar e fazer login, você pode interagir com o aplicativo web.

Há quatro vistas principais.
+ **Página inicial:** sua página inicial lista os locais do S3, que você pode acessar, bem como as permissões para cada um. Um *local* do S3 é um bucket ou prefixo do S3, que você pode definir ao usar as concessões de acesso do S3. Essa é a visualização inicial para usuários que mostra os recursos do S3 de nível raiz aos quais seus usuários finais têm acesso e as permissões para cada local do S3.  
![\[Tela mostrando a localização inicial de um usuário final do aplicativo web.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/webapp-enduser-home.png)
+ **Detalhes do local:** essa exibição permite que os usuários naveguem por arquivos e pastas no S3 e carreguem ou baixem arquivos.
+ **Ação de localização:** depois de escolher uma ação (como **Carregar**), ela abre outra visualização da localização do arquivo.
+ **Elipse vertical: O ícone** **de reticências verticais abre o menu Ações.**

## Ações disponíveis
<a name="end-user-actions"></a>

A maioria das ações está disponível no menu **Ações**. Para a outra ação principal, baixar arquivos, você usa o ícone de download depois de selecionar um arquivo (atualmente, você só pode baixar um arquivo por vez).

![\[Tela mostrando os arquivos e seus ícones de download correspondentes.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/webapp-enduser-download.png)


Em uma pasta, use o menu **Ações** para realizar qualquer uma das seguintes tarefas:
+ Copie um ou mais arquivos para outro local.
+ Crie uma pasta.
+ Exclua um ou mais arquivos.
+ Faça upload de um ou mais arquivos.
+ Faça upload de uma pasta inteira (incluindo subpastas, se houver).
+ Selecione uma pasta e navegue até ela. Em seguida, você pode executar qualquer uma das ações listadas anteriormente.
+ Classifique por página.
+ Filtre por nome de arquivo ou pasta por pasta e subpastas.

![\[Tela mostrando uma pasta de exemplo para o usuário final de um aplicativo web.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/webapp-enduser-actions.png)
