

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

# 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 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 um 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"
        }
      }
    }
  ]
}
```