

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

# AWS Transfer Family para AS2
<a name="as2-for-transfer-family"></a>

A Declaração de Aplicabilidade 2 (AS2) é uma especificação de transmissão de arquivos definida por RFC que inclui mecanismos robustos de proteção e verificação de mensagens. A proteção de uma AS2 carga em trânsito usa a Sintaxe de Mensagens Criptográficas (CMS) com criptografia e assinaturas digitais para fornecer proteção de dados e autenticação entre pares. Uma carga de resposta assinada do Aviso de Disposição de Mensagens (MDN) fornece verificação (sem repúdio) de que uma mensagem foi recebida e descriptografada com sucesso.

O AS2 protocolo é essencial para fluxos de trabalho com requisitos de conformidade que dependem de recursos de proteção e segurança de dados incorporados ao protocolo. AWS Transfer Family AS2 os endpoints são [certificados pela Drummond](https://aws.amazon.com/about-aws/whats-new/2023/06/aws-transfer-family-drummond-group-as2-certification/), permitindo que clientes em setores como varejo, ciências biológicas, manufatura, serviços financeiros e serviços públicos realizem transações com segurança com seus parceiros de negócios.

Quando você usa AS2 com o Transfer Family, os dados transacionados são acessíveis de forma nativa em para: AWS 
+ Processamento, análise e aprendizado de máquina
+ Integração com sistemas de planejamento de recursos corporativos (ERP)
+ Integração com sistemas de gerenciamento de relacionamento com o cliente (CRM)

Para trocar arquivos com um parceiro que tenha um servidor AS2 habilitado, você deve:
+ Gere um par de chaves público-privadas para criptografia
+ Gere um par de chaves público-privadas para assinatura
+ Troque as chaves públicas com seu parceiro

**Importante**  
Atualmente, não há suporte para endpoints de AS2 servidor HTTPS. Você é responsável pela rescisão do TLS.

O Transfer Family oferece um workshop do qual você pode participar, no qual você pode configurar um endpoint do Transfer Family com AS2 ativado e um AS2 conector Transfer Family. É possível ver os detalhes desse workshop [aqui](https://catalog.workshops.aws/transfer-family-as2/en-US).

Para step-by-step obter instruções sobre como configurar AS2 no Transfer Family, consulte o seguinte:

1. [Importar AS2 certificados](managing-as2-partners.md#configure-as2-certificate)

1. [Crie AS2 perfis](configure-as2-profile.md)

1. [Crie um AS2 servidor](create-as2-transfer-server.md)

1. [Crie um AS2 contrato](create-as2-transfer-server.md#as2-agreements)

1. [Configurar AS2 conectores](configure-as2-connector.md)

Para obter um exemplo completo, consulte[Configurando uma AS2 configuração](as2-example-tutorial.md).

**nota**  
Para mostrar suporte aos modelos do AS2 Terraform, adicione uma reação positiva (👍) à solicitação de recurso de [modelos do Terraform do Transfer Family](https://github.com/aws-ia/terraform-aws-transfer-family/issues/62#issue-3364703944). Você também pode adicionar um comentário descrevendo seu caso de uso.

## AS2 casos de uso
<a name="as2-use-cases"></a>

Se você é um AWS Transfer Family cliente que deseja trocar arquivos com um parceiro que tenha um servidor AS2 habilitado, a parte mais complexa da configuração envolve gerar um par de chaves público-privadas para criptografia e outro para assinar e trocar as chaves públicas com o parceiro.

![\[Diagrama que mostra o uso de pares de chaves público-privadas para criptografia e assinatura.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/as2-architecture-high-level.png)


Considere as seguintes variações para usar AWS Transfer Family com AS2.

**nota**  
O *parceiro comercial* é o parceiro associado a esse perfil de parceiro.  
*Todas as menções ao *MDN* na tabela a seguir assumem que estão assinadas.* MDNs


**AS2 casos de uso**  

|  | 
| --- |
|  Casos de uso somente de entrada [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/as2-for-transfer-family.html)  | 
|  Casos de uso somente de saída [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/as2-for-transfer-family.html)  | 
|  Casos de uso de entrada e saída [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/as2-for-transfer-family.html)  | 

## AS2 CloudFormation modelos
<a name="as2-templates-section"></a>

Este tópico fornece informações sobre AWS CloudFormation modelos que você pode usar para implantar rapidamente AS2 servidores e configurações. AWS Transfer Family Esses modelos automatizam o processo de configuração e ajudam você a implementar as melhores práticas para transferências de AS2 arquivos.
+ O AS2 modelo básico é descrito em [Use um modelo para criar uma AS2 pilha de demonstração do Transfer Family](create-as2-transfer-server.md#as2-cfn-demo-template)
+ O AS2 modelo para personalizar cabeçalhos HTTP é descrito em. [Personalize cabeçalhos HTTP para mensagens AS2](as2-custom-http-headers.md)

### Personalizando modelos AS2
<a name="as2-template-customization"></a>

Você pode personalizar os modelos fornecidos para atender às suas necessidades específicas:

1. Baixe o modelo do URL do S3.

1. Modifique o código YAML para ajustar configurações como:
   + Configurações de segurança e configurações de certificado
   + Arquitetura de rede e configurações de VPC
   + Opções de armazenamento e tratamento de arquivos
   + Preferências de monitoramento e notificação

1. Faça upload do modelo modificado em seu próprio bucket do S3.

1. Implante o modelo personalizado usando o CloudFormation console ou AWS CLI.

**Importante**  
Ao personalizar modelos, certifique-se de manter as dependências entre os recursos e seguir as melhores práticas de segurança.

### Testando sua AS2 implantação
<a name="as2-template-testing"></a>

Depois de implantar um AS2 servidor usando um modelo, você pode testar a configuração:

1. Verifique as saídas da CloudFormation pilha para ver exemplos de comandos e informações do endpoint.

1. Use o AWS CLI para enviar um arquivo de teste:

   ```
   aws s3api put-object --bucket your-bucket-name --key test.txt --body test.txt
   aws transfer start-file-transfer --connector-id your-connector-id --send-file-paths /your-bucket-name/test.txt
   ```

1. Verifique a entrega do arquivo no bucket S3 de destino.

1. Verifique CloudWatch os registros para ver se o processamento e as respostas do MDN foram bem-sucedidos.

Para testes mais abrangentes, considere usar AS2 clientes de terceiros para enviar arquivos ao seu AS2 servidor Transfer Family.

### Melhores práticas para implantação AS2 de modelos
<a name="as2-template-best-practices"></a>

Siga estas práticas recomendadas ao usar AS2 CloudFormation modelos:

Segurança  
Use certificados fortes e alterne-os regularmente.  
Implemente políticas de IAM com privilégios mínimos.  
Restrinja o acesso à rede usando grupos de segurança.

Confiabilidade  
Implante em várias zonas de disponibilidade.  
Implemente monitoramento e alertas para transferências com falha.  
Configure novas tentativas automáticas para transferências malsucedidas.

desempenho  
Escolha os tipos de instância apropriados para seu volume de transferência.  
Implemente políticas de ciclo de vida do S3 para gerenciamento eficiente de arquivos.  
Monitore e otimize as configurações de rede.

Otimização de custo  
Use o auto-scaling para cargas de trabalho variáveis.  
Implemente classes de armazenamento S3 para arquivos mais antigos.  
Monitore e ajuste os recursos com base no uso real.

# Configurando AS2
<a name="create-b2b-server"></a>

Para criar um servidor AS2 habilitado, você também deve especificar os seguintes componentes:
+ **Acordos** — *Acordos* bilaterais de parceiros comerciais, ou parcerias, definem o relacionamento entre as duas partes que estão trocando mensagens (arquivos). Para definir um contrato, o Transfer Family combina um servidor, um perfil local, um perfil de parceiro e informações do certificado. Os processos AS2 de entrada do Transfer Family usam acordos.
+ **Certificados — Os certificados** de *chave pública (X.509)* são usados na AS2 comunicação para criptografia e verificação de mensagens. Os certificados também são usados para terminais de conectores.
+ **Perfis locais e perfis de parceiros** — Um *perfil local* define a organização ou “parte” local (servidor Transfer Family AS2 habilitado). Da mesma forma, um *perfil de parceiro* define a organização parceira remota, externa à Transfer Family.

**Embora não seja necessário para todos os servidores AS2 habilitados, para transferências de saída, você precisa de um conector.** Um conector captura os parâmetros para uma conexão de saída. O conector é necessário para enviar arquivos para o AWS servidor externo do cliente.

O diagrama a seguir mostra a relação entre os AS2 objetos envolvidos nos processos de entrada e saída.

![\[Diagrama que mostra a relação entre os AS2 objetos envolvidos nos processos de entrada e saída.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/as2-architecture-in-out-agree-connect.png)


Para obter um end-to-end exemplo AS2 de configuração, consulte[Configurando uma AS2 configuração](as2-example-tutorial.md).

**Topics**
+ [AS2 configurações](#as2-supported-configurations)
+ [AS2 cotas e limitações](#as2-limitations)
+ [AS2 características e capacidades](#as2-capabilities)

## AS2 configurações
<a name="as2-supported-configurations"></a>

Este tópico descreve as configurações, os recursos e os recursos suportados para transferências que usam o protocolo Applicability Statement 2 (AS2), incluindo as cifras e resumos aceitos.

**Assinatura, criptografia, compressão, MDN**

Para transferências de entrada e de saída, os seguintes itens são obrigatórios ou opcionais:
+ **Criptografia** – Obrigatório (para transporte HTTP, que é o único método de transporte suportado atualmente). Mensagens não criptografadas só serão aceitas se encaminhadas por um proxy terminal TLS, como um Application Load Balancer (ALB), e o cabeçalho `X-Forwarded-Proto: https` estiver presente.
+ **Assinatura** — Opcional
+ **Compressão** — Opcional (o único algoritmo de compactação atualmente suportado é ZLIB)
+ **Aviso de disposição de mensagens (MDN)** — Opcional

**Cifras**

As cifras a seguir são suportadas para transferências de entrada e saída:
+ AES128\$1CBC
+ AES192\$1CBC
+ AES256\$1CBC
+ 3DES (somente para compatibilidade com versões anteriores)

**Resumos**

Os seguintes resumos são suportados:
+ **Assinatura de entrada e MDN** — SHA1,,, SHA256 SHA384 SHA512
+ **Assinatura externa e MDN** — SHA1,,, SHA256 SHA384 SHA512

**MDN**

Para respostas MDN, determinados tipos são suportados, como segue: 
+ **Transferências de entrada** — síncronas e assíncronas
+ **Transferências de saída** — somente síncronas
+ **Protocolo de transferência de correio simples (SMTP) (e-mail MDN)** – Não suportado

**Transportes**
+ **Transferências de entrada** — HTTP é o único transporte atualmente suportado e você deve especificá-lo explicitamente.
**nota**  
Se precisar usar HTTPS para transferências de entrada, você poderá encerrar o TLS em um Application Load Balancer ou Network Load Balancer. Isso está descrito em [Receba AS2 mensagens por HTTPS](send-as2-messages.md#receive-https).
+ **Transferências de saída** — Se você fornecer uma URL HTTP, também deverá especificar um algoritmo de criptografia. Se você fornecer um URL HTTPS, terá a opção de especificar **NONE** para seu algoritmo de criptografia.

## AS2 cotas e limitações
<a name="as2-limitations"></a>

Esta seção discute cotas e limitações para AS2

**Topics**
+ [AS2 cotas](#as2-quotas)
+ [Cotas para lidar com segredos](#as2-quotas-secrets)
+ [Limitações conhecidas](#as2-known-limitations)

### AS2 cotas
<a name="as2-quotas"></a>

As cotas a seguir estão em vigor para transferências de AS2 arquivos. Para solicitar um aumento para uma cota ajustável, consulte as [AWS service (Serviço da AWS) cotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) no *Referência geral da AWS*.


**AS2 cotas**  

| Nome | Padrão | Ajustável | 
| --- | --- | --- | 
| Número máximo de arquivos por solicitação de saída | 10 | Não | 
| Número máximo de solicitações de saída por segundo | 100 | Não | 
| Número máximo de solicitações de entrada por segundo | 100 | Não | 
| Largura de banda máxima de saída por conta (tanto o SFTP de saída quanto as AS2 solicitações contribuem para esse valor) | 50 MB por segundo | Não | 

### Cotas para lidar com segredos
<a name="as2-quotas-secrets"></a>

AWS Transfer Family faz chamadas AWS Secrets Manager em nome de AS2 clientes que estão usando a autenticação básica. Além disso, o Secrets Manager faz chamadas para AWS KMS.

**nota**  
Essas cotas não são específicas para o uso de segredos para Transfer Family: elas são compartilhadas entre todos os serviços do seu Conta da AWS.

Para o Secrets Manager`GetSecretValue`, a cota aplicável é a **taxa combinada de solicitações DescribeSecret e de GetSecretValue API**, conforme descrito em [AWS Secrets Manager cotas](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_limits.html#quotas).


**Secrets Manager `GetSecretValue`**  

| Nome | Valor | Description | 
| --- | --- | --- | 
| Taxa combinada de solicitações DescribeSecret e de GetSecretValue API | Cada região compatível: 10.000 por segundo | O máximo de transações por segundo para operações DescribeSecret de GetSecretValue API combinadas. | 

Para AWS KMS, as seguintes cotas se aplicam. `Decrypt` Para obter detalhes, consulte [Solicitar cotas para cada operação de AWS KMS API](https://docs.aws.amazon.com/kms/latest/developerguide/requests-per-second.html#rps-table)


**AWS KMS `Decrypt`**  

| Nome da cota | Valor padrão (solicitações por segundo) | 
| --- | --- | 
|  Taxa de solicitação de operações criptográficas (simétricas)  |  Essas cotas compartilhadas variam de acordo com Região da AWS e com o tipo de AWS KMS chave usada na solicitação. Cada cota é calculada separadamente. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/create-b2b-server.html)  | 
|  Cotas de solicitação de armazenamento de chaves personalizadas  Esta cota só se aplica se você estiver usando um repositório de chaves externo.   |  As cotas de solicitação de armazenamento de chaves personalizadas são calculadas separadamente para cada armazenamento de chaves personalizadas. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/create-b2b-server.html)  | 

### Limitações conhecidas
<a name="as2-known-limitations"></a>
+ O keep-alive TCP do lado do servidor não é suportado. A conexão expira após 350 segundos de inatividade, a menos que o cliente envie pacotes keep-alive.
+ Para que um contrato ativo seja aceito pelo serviço e apareça nos CloudWatch registros da Amazon, as mensagens devem conter AS2 cabeçalhos válidos.
+ [O servidor que está recebendo mensagens de AWS Transfer Family for AS2 deve suportar o atributo de proteção do algoritmo Cryptographic Message Syntax (CMS) para validar assinaturas de mensagens, conforme definido na RFC 6211.](https://datatracker.ietf.org/doc/html/rfc6211) Este atributo não é suportado em alguns produtos IBM Sterling mais antigos.
+ Mensagem duplicada IDs resulta em uma mensagem processada/Aviso: documento duplicado.
+ O tamanho da chave para AS2 certificados deve ser de pelo menos 2048 bits e no máximo 4096.
+ Ao enviar AS2 mensagens ou de forma assíncrona MDNs para o endpoint HTTPS de um parceiro comercial, as mensagens MDNs devem usar um certificado SSL válido assinado por uma autoridade de certificação (CA) publicamente confiável. Atualmente, certificados autoassinados são compatíveis somente com transferências externas. 
+ O endpoint deve suportar o protocolo TLS versão 1.2 e um algoritmo criptográfico permitido pela política de segurança (conforme descrito em [Políticas de segurança para AWS Transfer Family servidores](security-policies.md)).
+ Atualmente, não há suporte para vários anexos e mensagens de troca de certificados (CEM) da AS2 versão 1.2.
+ Atualmente, a autenticação básica é suportada apenas para mensagens de saída.
+ Você pode anexar um fluxo de trabalho de processamento de arquivos a um servidor Transfer Family que usa o AS2 protocolo: no entanto, AS2 as mensagens não executam fluxos de trabalho conectados ao servidor. 

## AS2 características e capacidades
<a name="as2-capabilities"></a>

As tabelas a seguir listam os recursos e capacidades disponíveis para os recursos da Transfer Family que usam AS2.

### AS2 features
<a name="as2-features"></a>

O Transfer Family oferece os seguintes recursos para AS2.


| Recurso | Apoiado por AWS Transfer Family | 
| --- |--- |
|  [Certificação Drummond](https://aws.amazon.com/about-aws/whats-new/2023/06/aws-transfer-family-drummond-group-as2-certification/) | Sim | 
| [AWS CloudFormation apoio](https://docs.aws.amazon.com/transfer/latest/userguide/as2-cfn-demo-template.html)  | Sim | 
| [ CloudWatchMétricas da Amazon](https://docs.aws.amazon.com/transfer/latest/userguide/as2-monitoring.html) | Sim | 
| [Algoritmos criptográficos SHA-2](https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html#cryptographic-algorithms) | Sim | 
| Support para Amazon S3 | Sim | 
| Suporte para o Amazon EFS | Não | 
| Mensagens agendadas | Sim 1 | 
| AWS Transfer Family Fluxos de trabalho gerenciados | Não | 
| Mensagens de troca de certificados (CEM) | Não | 
| TLS mútua (mTLS) | Não | 
| Support para certificados autoassinados | Sim | 

1. Mensagens agendadas de saída disponíveis por meio de [AWS Lambda funções de agendamento usando a Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-run-lambda-schedule.html)

### AS2 recursos de envio e recebimento
<a name="as2-capabilities"></a>

A tabela a seguir fornece uma lista dos recursos de AWS Transfer Family AS2 envio e recebimento.


| Recurso | Entrada: recebimento com servidor | Saída: envio com conector | 
| --- |--- |--- |
| [Transporte criptografado TLS (HTTPS)](send-as2-messages.md#as2-https-process) | Sim 1 | Sim | 
| Transporte não TLS (HTTP) | Sim |  Sim 2  | 
| MDN síncrono | Sim | Sim | 
| Compressão de mensagens | Sim | Sim | 
| MDN assíncrono | Sim | Não | 
| Endereço IP estático | Sim | Sim | 
| Traga seu próprio endereço IP | Sim | Não | 
| Vários anexos de arquivo | Não | Não | 
| Autenticação básica | Não | Sim | 
| AS2 Reiniciar | Não aplicável | Não | 
| AS2 Confiabilidade | Não | Não | 
| Assunto personalizado por mensagem | Não aplicável | Não | 

1. Transporte criptografado TLS de entrada disponível com Network Load Balancer (NLB) ou Application Load Balancer (ALB)

2. Transporte não TLS de saída disponível somente quando a criptografia está habilitada

# Gerenciar AS2 certificados
<a name="managing-as2-partners"></a>

Este tópico discute como importar e gerenciar AS2 certificados. A importação de certificados é a primeira etapa do AS2 processo do Transfer Family.

1. Importar certificados

1. [Crie AS2 perfis](configure-as2-profile.md)

1. [Crie um AS2 servidor](create-as2-transfer-server.md) 

1. [Crie um AS2 contrato](create-as2-transfer-server.md#as2-agreements)

1. [Configurar AS2 conectores](configure-as2-connector.md)

## Importar AS2 certificados
<a name="configure-as2-certificate"></a>

O AS2 processo Transfer Family usa chaves de certificado para criptografia e assinatura das informações transferidas. Os parceiros podem usar a mesma chave para ambas as finalidades ou uma chave separada para cada uma. Se você tiver chaves de criptografia comuns mantidas sob custódia por um terceiro confiável para que os dados possam ser descriptografados em caso de desastre ou violação de segurança, recomendamos ter chaves de assinatura separadas. Ao usar chaves de assinatura separadas (que você não deposita em garantia), você não compromete os recursos de não repúdio de suas assinaturas digitais.

**nota**  
O tamanho da chave para AS2 certificados deve ser de pelo menos 2048 bits e no máximo 4096.

Os pontos a seguir detalham como os AS2 certificados são usados durante o processo.
+ Entrada AS2
  + O parceiro comercial envia sua chave pública para o certificado de assinatura, e essa chave é importada para o perfil do parceiro.
  + A parte local envia a chave pública para seus certificados de criptografia e assinatura. Em seguida, o parceiro importa a chave ou as chaves privadas. A parte local pode enviar chaves de certificado separadas para assinatura e criptografia, ou pode optar por usar a mesma chave para ambas as finalidades.
+ Saída AS2
  + O parceiro envia a chave pública para seu certificado de criptografia, e essa chave é importada para o perfil do parceiro.
  + A parte local envia a chave pública do certificado para assinatura e importa a chave privada do certificado para assinatura.
  + Se você estiver usando HTTPS, poderá importar um certificado TLS (Transport Layer Security) autoassinado.

Para obter detalhes sobre como criar certificados, consulte [Etapa 1: criar certificados para AS2](as2-example-tutorial.md#as2-create-certs).

Este procedimento explica como importar certificados usando o console Transfer Family. Se você quiser usar o AWS CLI em vez disso, consulte[Etapa 2: Importar certificados como recursos de certificados do Transfer Family](as2-example-tutorial.md#as2-import-certs-example).

**Para especificar um certificado AS2 habilitado**

1. 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, em **Parceiros AS2 comerciais**, escolha **Certificados**.

1. Escolha **Importar certificado**.

1. Na seção **Configuração do certificado**, em **Descrição do certificado**, insira um nome facilmente identificável para o certificado. Certifique-se de que você possa identificar a finalidade do certificado por meio de sua descrição. Além disso, escolha a função para o certificado. 

1. Na seção **Uso do certificado**, escolha a finalidade desse certificado. Ele pode ser usado para criptografia, assinatura ou ambos.

   **Dica:** se você escolher **Criptografia e assinatura** para o uso, o Transfer Family cria dois certificados idênticos (cada um com seu próprio ID): um com um valor de uso de `ENCRYPTION` e outro com um valor de uso de`SIGNING`.

1. Na seção **Conteúdo do certificado**, forneça um certificado público de um parceiro comercial ou as chaves públicas e privadas de um certificado local.

   Preencha a seção **Conteúdo do certificado** com os detalhes apropriados.
   + Se você escolher **Certificado autoassinado**, não fornecerá a cadeia de certificados.
   + Cole o texto do certificado e sua cadeia no campo **Certificado e cadeia de certificados**.
   + Se esse certificado for um certificado local, cole sua chave privada.

1. Escolha **Importar certificado** para concluir o processo e salvar os detalhes do certificado importado.

**nota**  
Os certificados TLS só podem ser importados como um certificado público do parceiro. Se você selecionar **Certificado público de um parceiro** e, em seguida, selecionar **Transport Layer Security (TLS)** para o uso, receberá um aviso. Além disso, os certificados TLS devem ser autoassinados (ou seja, você deve selecionar Certificado **autoassinado para importar um certificado** TLS).

## AS2 rotação de certificados
<a name="as2-certificate-rotation"></a>

Frequentemente, os certificados são válidos por um período de seis meses a um ano. Talvez você tenha configurado perfis que deseja manter por mais tempo. Para facilitar isso, o Transfer Family fornece rotação de certificados. É possível especificar vários certificados para um perfil, permitindo que você continue usando o perfil por vários anos. O Transfer Family usa certificados para assinatura (opcional) e criptografia (obrigatória). É possível especificar um único certificado para ambas as finalidades, se quiser.

A rotação de certificados é o processo de substituição de um certificado antigo expirado por um certificado mais recente. A transição é gradual para evitar a interrupção das transferências em que um parceiro no contrato ainda não configurou um novo certificado para transferências externas ou pode estar enviando cargas assinadas ou criptografadas com um certificado antigo durante um período em que um certificado mais novo também pode estar em uso. O período intermediário em que os certificados antigos e novos são válidos é chamado de *período de carência*.

Os certificados X.509 têm datas `Not Before` e `Not After`. No entanto, esses parâmetros podem não fornecer controle suficiente para os administradores. O Transfer Family fornece configurações `Active Date` e `Inactive Date` para controlar qual certificado é usado para cargas de saída e qual é aceito para cargas de entrada.

### Monitoramento da expiração do certificado
<a name="as2-certificate-expiry-monitoring"></a>

A Transfer Family publica uma CloudWatch métrica da Amazon `DaysUntilExpiry` depois de importar um certificado. A métrica emite o número de dias entre a data atual e a data especificada `InactiveDate` no certificado. A métrica é encontrada no `Transfer` AWS namespace no painel de CloudWatch métricas.

Essa métrica sempre terá uma dimensão métrica para **CertificateId**e, opcionalmente, incluirá uma dimensão **Descrição**, se fornecida pelo cliente no certificado. Para obter mais informações sobre dimensões CloudWatch métricas, consulte [Dimensão](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Dimension.html) na *Referência CloudWatch da API*.

**nota**  
Após a importação de um Certificado do Transfer Family, pode levar até um dia inteiro para emitir essa métrica para a conta do cliente.

Você pode usar essa métrica para criar CloudWatch alarmes que o notificam quando os certificados estão prestes a expirar.

A seleção do certificado de saída usa o valor máximo anterior à data da transferência como um `Inactive Date`. Os processos de entrada aceitam certificados dentro da faixa de `Not Before` e `Not After` e e dentro da faixa de `Active Date` e `Inactive Date`.

### Exemplo de rotação de certificados
<a name="as2-cert-rotate-example"></a>

A tabela a seguir descreve uma forma possível de configurar dois certificados para um único perfil.


**Dois certificados em rotação**  

| Nome | NOT BEFORE (controlado pela autoridade certificadora) | ACTIVE DATE (definido pelo Transfer Family) | INACTIVE DATE (definido pelo Transfer Family) | NOT AFTER (definido pela autoridade de certificação) | 
| --- | --- | --- | --- | --- | 
| Cert1 (certificado antigo) | 01/11/2019 | 2020-01-01 | 2020-12-31 | 2024-01-01 | 
| Cert2 (certificado mais recente) | 01-11-2020 | 2020-06-01 | 2021-06-01 | 2025-01-01 | 

 Observe o seguinte: 
+ Quando você especifica um `Active Date` e `Inactive Date` para um certificado, o intervalo deve estar dentro do intervalo entre `Not Before` e `Not After`.
+ Recomendamos que você configure vários certificados para cada perfil, certificando-se de que o intervalo de datas ativo de todos os certificados combinados cubra a quantidade de tempo durante a qual você deseja usar o perfil.
+ Recomendamos que você especifique algum tempo de carência entre o momento em que seu certificado antigo se torna inativo e o momento em que seu certificado mais novo se torna ativo. No exemplo anterior, o primeiro certificado não se torna inativo até 31/12/2020, enquanto o segundo certificado se torna ativo em 01/06/2020, fornecendo um período de carência de 6 meses. Durante o período de 01/06/2020 a 31/12/2020, ambos os certificados estão ativos.

# Crie AS2 perfis
<a name="configure-as2-profile"></a>

Este tópico discute como criar perfis para uso no AS2 processo. Um *perfil local* define a organização ou “parte” local (servidor Transfer Family AS2 habilitado). Da mesma forma, um *perfil de parceiro* define a organização parceira remota, externa à Transfer Family.

1. [Importar AS2 certificados](managing-as2-partners.md#configure-as2-certificate)

1. Crie AS2 perfis

1. [Crie um AS2 servidor](create-as2-transfer-server.md) 

1. [Crie um AS2 contrato](create-as2-transfer-server.md#as2-agreements)

1. [Configurar AS2 conectores](configure-as2-connector.md)

Use esse procedimento para criar perfis locais e de parceiros. Este procedimento explica como criar AS2 perfis usando o console Transfer Family. Se você quiser usar o AWS CLI em vez disso, consulte [Etapa 3: Crie perfis para você e seu parceiro comercial](as2-example-tutorial.md#as2-create-profiles-example).

**Para criar um AS2 perfil**

1. 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, em **Parceiros AS2 comerciais**, escolha **Perfis** e, em seguida, escolha **Criar perfil**.

1. Na seção **Configuração do perfil**, insira a AS2 ID do perfil. Esse valor é usado para os cabeçalhos HTTP AS2 específicos do protocolo `as2-from` e `as2-to` para identificar a parceria comercial, que determina os certificados a serem usados e assim por diante.

1. Na seção **Tipo de perfil**, escolha **Perfil local** ou **Perfil de parceiro**.

1. Na seção **Certificados**, escolha um ou mais certificados no menu suspenso.

   **Dica:** Se você quiser importar um certificado que não esteja listado no menu suspenso, selecione **Importar um novo** certificado. Isso abre uma nova janela do navegador na tela **Importar certificado**. Para obter o procedimento de importação de certificados, consulte [Importar AS2 certificados](managing-as2-partners.md#configure-as2-certificate).

1. (Opcional) Na seção **Etiquetas**, especifique um ou mais pares chave-valor para ajudar a identificar esse perfil.

1. Escolha **Criar perfil** para concluir o processo e salvar o novo perfil.

# Crie um AS2 servidor
<a name="create-as2-transfer-server"></a>

Este tópico fornece instruções para criar um AS2 servidor Transfer Family habilitado, usando o console ou um CloudFormation modelo. Para obter um end-to-end exemplo AS2 de configuração, consulte[Configurando uma AS2 configuração](as2-example-tutorial.md). Depois de criar um AS2 servidor, você pode adicionar um contrato ao servidor. 

1. [Importar AS2 certificados](managing-as2-partners.md#configure-as2-certificate)

1. [Crie AS2 perfis](configure-as2-profile.md)

1. Crie um AS2 servidor

1. [Crie um AS2 contrato](#as2-agreements)

1. [Configurar AS2 conectores](configure-as2-connector.md)

**Topics**
+ [Crie um AS2 servidor usando o console Transfer Family](#create-server-as2-console)
+ [Use um modelo para criar uma AS2 pilha de demonstração do Transfer Family](#as2-cfn-demo-template)
+ [Crie um AS2 contrato](#as2-agreements)

## Crie um AS2 servidor usando o console Transfer Family
<a name="create-server-as2-console"></a>

Este procedimento explica como criar um servidor AS2 habilitado usando o console Transfer Family. Se você quiser usar o AWS CLI em vez disso, consulte[Etapa 4: Criar um servidor Transfer Family que use o AS2 protocolo](as2-example-tutorial.md#as2-example-server).

**nota**  
Você pode anexar um fluxo de trabalho de processamento de arquivos a um servidor Transfer Family que usa o AS2 protocolo: no entanto, AS2 as mensagens não executam fluxos de trabalho conectados ao servidor. 

**Para criar um servidor AS2 habilitado**

1. 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 à esquerda, escolha **Servidores** e **Criar servidor**.

1. Na página **Escolher protocolos**, selecione **AS2(Declaração de aplicabilidade 2)** e escolha **Avançar**.

1. Na página **Escolha um provedor de identidade**, escolha **Avançar**.
**nota**  
Pois AS2, você não pode escolher um provedor de identidade porque a autenticação básica não é suportada pelo AS2 protocolo. Em vez disso, você controla o acesso por meio de grupos de segurança de nuvem privada virtual (VPC).

1. Na página **Escolher uma função do endpoint**, faça o seguinte:  
![\[Captura de tela do console mostrando a página Escolha um endpoint com a VPC hospedada selecionada.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/create-server-choose-endpoint-vpc-internal.png)

   1. Em **Tipo de endpoint**, escolha **Hospedado no VPC** para hospedar o endpoint do seu servidor. Para obter informações sobre como configurar seu endpoint hospedado em VPC, consulte [Crie um servidor em uma VPC (virtual private cloud).](create-server-in-vpc.md).
**nota**  
Os endpoints acessíveis publicamente não são compatíveis com o AS2 protocolo. Para tornar seu endpoint da VPC acessível pela Internet, escolha **Voltado para a internet** em **Acesso** e, em seguida, forneça seus endereços IP elásticos. 

   1. Para **Acesso**, escolha uma das seguintes opções:
      + **Interno** — Escolha essa opção para fornecer acesso de dentro de sua VPC e de ambientes conectados à VPC, como um datacenter on-premises Direct Connect ou VPN.
      + **Voltado para a Internet** — Escolha essa opção para fornecer acesso pela Internet e de dentro de sua VPC e de ambientes conectados à VPC, como um data center local ou VPN. Direct Connect 

        Se você escolher **Voltado para a internet**, forneça seus endereços IP elásticos quando solicitado.

   1. Para **VPC**, escolha uma VPC existente ou escolha **Criar VPC** para criar uma nova VPC.

   1. Para **FIPS ativado**, mantenha a caixa de seleção **FIPS habilitado endpoint** desmarcada.
**nota**  
Os endpoints habilitados para FIPS não são compatíveis com o protocolo. AS2

   1. Escolha **Próximo**.

1. Na página **Escolha um domínio**, escolha **Amazon S3** para armazenar e acessar seus arquivos como objetos usando o protocolo selecionado.

   Escolha **Próximo**.

1. Na página **Configurar detalhes adicionais**, escolha as configurações necessárias.
**nota**  
Se você estiver configurando outros protocolos AS2, todas as configurações de detalhes adicionais se aplicarão. No entanto, para o AS2 protocolo, as únicas configurações que se aplicam são aquelas nas seções de **CloudWatch registro** e **Tags**.  
Embora a configuração de uma função de CloudWatch registro seja opcional, é altamente recomendável configurá-la para que você possa ver o status de suas mensagens e solucionar problemas de configuração.

1. Na página **Revisar e criar**, revise suas escolhas para se certificar de que estão corretas.
   + Se você quiser editar qualquer uma das suas configurações, escolha **Editar** ao lado da etapa que você deseja alterar.
**nota**  
Se você editar uma etapa, recomendamos que revise cada etapa após a etapa que você escolheu editar.
   + Se você não tiver alterações, escolha **Criar servidor** para criar seu servidor. Você será direcionado à página **Servidores**, exibida a seguir, onde seu novo servidor estará listado.

     Pode levar vários minutos até que o status do seu novo servidor mude para **Online**. Nesse momento, seu servidor poderá realizar operações de arquivo para seus usuários.

## Use um modelo para criar uma AS2 pilha de demonstração do Transfer Family
<a name="as2-cfn-demo-template"></a>

Fornecemos um CloudFormation modelo independente para criar rapidamente um servidor Transfer Family AS2 habilitado. O modelo configura o servidor com um endpoint da VPC público da Amazon, certificados, perfis locais e de parceiro, um contrato e um conector.

O modelo básico AS2 do servidor cria os seguintes recursos:
+ Um AS2 servidor Transfer Family habilitado com um VPC endpoint
+  AS2 Perfis locais e de parceiros com certificados
+ Um acordo entre os perfis
+ Um bucket Amazon S3 para armazenamento de arquivos
+ Funções e políticas obrigatórias do IAM
+ CloudWatch configuração de registro

 Antes de usar este modelo, observe o seguinte:
+ Se você criar uma pilha a partir deste modelo, você será cobrado pelos recursos AWS usados.
+ O modelo cria vários certificados e os coloca AWS Secrets Manager para armazená-los com segurança. Você pode excluir esses certificados do Secrets Manager se quiser, porque você é cobrado pelo uso desse serviço. A exclusão desses certificados no Secrets Manager não os exclui do servidor Transfer Family. Portanto, a funcionalidade da pilha de demonstração não é afetada. No entanto, para certificados que você vai usar com um AS2 servidor de produção, talvez você queira usar o Secrets Manager para gerenciar e alternar periodicamente seus certificados armazenados.
+ Recomendamos que você use o modelo somente como base e principalmente para fins de demonstração. Se você quiser usar essa pilha de demonstração na produção, recomendamos que você modifique o código YAML do modelo para criar uma pilha mais robusta. Por exemplo, crie certificados em nível de produção e crie uma função AWS Lambda que você possa usar na produção.

**Para criar um servidor Transfer Family AS2 habilitado a partir de um modelo CloudFormation**

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

1. No painel de navegação à esquerda, selecione**Pilhas**.

1. Selecione **Criar pilha** e, depois, **Com novos recursos (padrão)**. 

1. Na seção **Pré-requisito - Preparar modelo**, **escolha Escolher um modelo existente**. 

1. Copie esse link, [modelo de AS2 demonstração](https://s3.amazonaws.com/aws-transfer-resources/as2-templates/aws-transfer-as2-basic.template.yml) e cole-o no campo **URL do Amazon S3**. 

1. Escolha **Próximo**. 

1. Na página **Especificar detalhes da pilha**, nomeie sua pilha e especifique os seguintes parâmetros: 
   + Em **AS2**, insira valores para ** AS2ID local** e ** AS2 ID de parceiro** ou aceite os padrões `local` e`partner`, respectivamente. 
   + Em **Rede**, insira um valor para o **IP CIDR de entrada do grupo de segurança** ou aceite o padrão, `0.0.0.0/0`. 
**nota**  
Esse valor, no formato CIDR, especifica quais endereços IP são permitidos para o tráfego de entrada no servidor. AS2 O valor padrão,`0.0.0.0/0`, permite todos os endereços IP.
   + Em **Geral**, insira um valor para **Prefixo** ou aceite o padrão, `transfer-as2`. Esse prefixo é colocado antes de qualquer nome de recurso criado pela pilha. Por exemplo, se você usar o prefixo padrão, seu bucket do Amazon S3 será nomeado `transfer-as2-amzn-s3-demo-bucket`. 

1. Escolha **Próximo**. Na página **Configurar opções de pilha**, selecione **Próximo** novamente. 

1. Revise os detalhes da pilha que você está criando e escolha **Criar pilha**. 
**nota**  
Na parte inferior da página, em **Capacidades**, você deve reconhecer que isso CloudFormation pode criar recursos AWS Identity and Access Management (IAM). 

Depois que a pilha for criada, você poderá enviar uma AS2 mensagem de teste do servidor parceiro para o servidor local do Transfer Family usando o AWS Command Line Interface (AWS CLI). Um exemplo de AWS CLI comando para enviar uma mensagem de teste é criado junto com todos os outros recursos na pilha. 

**Para usar esse exemplo de comando, acesse a guia **Saídas** da sua pilha e copie o TransferExampleAs 2Command.** Em seguida, você pode executar o comando usando o AWS CLI. Se você ainda não instalou o AWS CLI, consulte [Instalando ou atualizando a versão mais recente do AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) no *Guia do AWS Command Line Interface Usuário*. 

O comando de amostra tem o formato a seguir:

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key test.txt && aws transfer start-file-transfer --region aws-region --connector-id TransferConnectorId --send-file-paths /amzn-s3-demo-bucket/test.txt
```

**nota**  
Sua versão desse comando contém os valores reais dos recursos `amzn-s3-demo-bucket` e `TransferConnectorId` em sua pilha.

Esse exemplo de comando consiste em dois comandos separados que são encadeados usando a string `&&`. 

O primeiro comando cria um novo arquivo de texto vazio no seu bucket:

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key test.txt
```

Em seguida, o segundo comando usa o conector para enviar o arquivo do perfil do parceiro para o perfil local. O servidor Transfer Family tem um contrato configurado que permite que o perfil local aceite mensagens do perfil do parceiro.

```
aws transfer start-file-transfer --region aws-region --connector-id TransferConnectorId --send-file-paths /amzn-s3-demo-bucket/test.txt
```

Depois de executar o comando, você pode acessar seu bucket do Amazon S3 (`amzn-s3-demo-bucket`) e visualizar o conteúdo. Se o comando for bem-sucedido, você deverá visualizar os seguintes objetos do no bucket:
+ `processed/` – Essa pasta contém um arquivo JSON que descreve o arquivo transferido e a resposta do MDN.
+ `processing/` – Essa pasta contém arquivos temporariamente à medida que eles estão sendo processados, mas após a conclusão da transferência, essa pasta deve estar vazia.
+ `server-id/` – Essa pasta é nomeada com base no ID do servidor Transfer Family. Ela contém `from-partner` (essa pasta é nomeada dinamicamente, com base na AS2 ID do parceiro), que por si só contém `failed/``processed/`, e `processing/` pastas. A pasta `/server-id/from-partner/processed/` contém uma cópia do arquivo de texto transferido e os arquivos JSON e MDN correspondentes.
+ `test.txt` – Esse objeto é o arquivo (vazio) que foi transferido.

## Crie um AS2 contrato
<a name="as2-agreements"></a>

Os contratos estão associados aos servidores Transfer Family. Eles especificam os detalhes dos parceiros comerciais que usam o AS2 protocolo para trocar mensagens ou arquivos usando o Transfer Family, para transferências de *entrada* — enviando AS2 arquivos de uma fonte externa de propriedade do parceiro para um servidor do Transfer Family.

Este procedimento explica como criar AS2 contratos usando o console Transfer Family. Se você quiser usar o AWS CLI em vez disso, consulte[Etapa 5: criar um acordo entre você e seu parceiro](as2-example-tutorial.md#as2-create-agreement-example).

**Para criar um contrato para um servidor Transfer Family**

1. 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 **Servidores** e, em seguida, escolha um servidor que use o AS2 protocolo.

   Como alternativa, desde que você tenha pelo menos um servidor Transfer Family que use o AS2 protocolo, selecione **Acordos para receber mensagens** no menu **Parceiros AS2 Comerciais**. Em seguida, na tela **Criar contrato**, selecione o AS2 servidor ao qual você deseja associar esse contrato.

1. Na página de detalhes do servidor, role para baixo até a seção **Acordos**.

1. Escolha **Adicionar acordo**.

1. Preencha os parâmetros do contrato, da seguinte forma:

   1. Na seção **Contrato**, insira um nome descritivo. Certifique-se de que você possa identificar a finalidade do contrato pelo nome. Além disso, defina o **Status** do contrato: **Ativo** (selecionado por padrão) ou **Inativo**.

   1. Na seção **Configurações de comunicação**, escolha um perfil local e um perfil de parceiro. Além disso, escolha se deseja ou não impor a assinatura de mensagens.
      + Por padrão, o **Enforce Message Signing** está ativado, o que significa que o Transfer Family rejeita mensagens não assinadas do seu parceiro comercial para este contrato.
      + Desmarque essa configuração para permitir que a Transfer Family aceite mensagens não assinadas do seu parceiro comercial para este contrato.

   1. Na seção **Configuração do diretório da caixa de entrada**, forneça as seguintes informações.
      + Determine se deseja ou não selecionar **Especificar diretórios separados para armazenar suas AS2 mensagens, arquivos MDN e arquivos de status JSON**.
        + Se você selecionar essa opção, você especifica locais separados para arquivos de carga útil, arquivos com falha, arquivos MDN, arquivos de status e arquivos temporários.
        + Se você desmarcar essa opção, todos os AS2 arquivos entrarão no local especificado para o diretório base.
      + Para o **S3 Bucket**, escolha um bucket Amazon S3.
      + Em **Prefixo**, você pode inserir um prefixo (pasta) a ser usado para armazenar arquivos no bucket.

        Por exemplo, se você inserir **amzn-s3-demo-bucket** para seu bucket e **incoming** para seu prefixo, seus AS2 arquivos serão salvos na `/amzn-s3-demo-bucket/incoming` pasta.
      + Para a **função AWS do IAM**, escolha uma função que possa acessar o bucket que você especificou.
      + Em **Preservar nome do arquivo**, escolha se deseja preservar os nomes dos arquivos originais para cargas de mensagens recebidas. AS2 
        + Se você selecionar essa configuração, o nome do arquivo fornecido pelo seu parceiro comercial será preservado quando o arquivo for salvo no Amazon S3.
        + Se você desmarcar essa configuração, quando o Transfer Family salvar o arquivo, o nome do arquivo será ajustado, conforme descrito em. [Nomes e localizações dos arquivos](send-as2-messages.md#file-names-as2)

   1. (Opcional) Adicione etiquetas na seção **Etiquetas**.

   1. Depois de inserir todas as informações do contrato, escolha **Criar contrato**.

O novo contrato aparece na seção **Acordos** da página de detalhes do servidor.

# Configurar AS2 conectores
<a name="configure-as2-connector"></a>

O objetivo de um conector é estabelecer um relacionamento entre parceiros comerciais para transferências *externas — enviando AS2 arquivos de um servidor Transfer Family para um destino* externo de propriedade do parceiro. Para o conector, você especifica a parte local, o parceiro remoto e seus certificados (criando perfis locais e de parceiros).

Depois de instalar um conector, é possível transferir informações para seus parceiros comerciais. Cada AS2 servidor recebe três endereços IP estáticos. AS2 os conectores usam esses endereços IP para enviar de forma assíncrona MDNs para seus parceiros comerciais. AS2

**nota**  
O tamanho da mensagem recebida por um parceiro comercial não corresponderá ao tamanho do objeto no Amazon S3. Essa discrepância ocorre porque a AS2 mensagem envolve o arquivo em um envelope antes do envio. Portanto, o tamanho do arquivo pode aumentar, mesmo se o arquivo for enviado com compactação. Portanto, certifique-se de que o tamanho máximo do arquivo do parceiro comercial seja maior que o tamanho do arquivo que você está enviando.

1. [Importar AS2 certificados](managing-as2-partners.md#configure-as2-certificate)

1. [Crie AS2 perfis](configure-as2-profile.md)

1. [Crie um AS2 servidor](create-as2-transfer-server.md)

1. [Crie um AS2 contrato](create-as2-transfer-server.md#as2-agreements)

1. Crie um AS2 conector

## Crie um AS2 conector
<a name="create-as2-connector"></a>

Este procedimento explica como criar AS2 conectores usando o AWS Transfer Family console. Se você quiser usar o AWS CLI em vez disso, consulte[Etapa 6: criar um conector entre você e seu parceiro](as2-example-tutorial.md#as2-create-connector-example).

**Para criar um AS2 conector**

1. 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 **Conectores para enviar mensagens**, no menu **Parceiros AS2 comerciais**, e escolha **Criar AS2 ** conector.

1. Na seção **Configuração do conector**, especifique as seguintes informações:
   + **URL** – insira o URL para conexões de saída.
   + **Função de acesso** — Escolha o Amazon Resource Name (ARN) da função AWS Identity and Access Management (IAM) a ser usada. Assegure que esta função fornece acesso de leitura e gravação ao diretório principal do local do arquivo usado na solicitação do `StartFileTransfer`. Além disso, certifique-se de que a função forneça acesso de leitura e gravação ao diretório pai dos arquivos com os quais você pretende enviar com `StartFileTransfer`.
**nota**  
Se você estiver usando a autenticação básica para seu conector, a função de acesso exigirá a permissão `secretsmanager:GetSecretValue` para o segredo. Se o segredo for criptografado usando uma chave gerenciada pelo cliente Chave gerenciada pela AWS em vez da chave de entrada AWS Secrets Manager, a função também precisará da `kms:Decrypt` permissão para essa chave. Se você nomear seu segredo com o prefixo `aws/transfer/`, poderá adicionar a permissão necessária com um caractere curinga (`*`), conforme mostrado em [Exemplo de permissão para criar segredos](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_examples_wildcard).
   + **Função de registro** (opcional) — Escolha a função do IAM que o conector usará para enviar eventos aos seus CloudWatch registros.

1. Na seção de **AS2 configuração**, escolha os perfis local e de parceiro, os algoritmos de criptografia e assinatura e se deseja compactar as informações transferidas. Observe o seguinte:
   + O parâmetro **Preserve S3 Content-Type** está ativado por padrão.

     Quando definido, o Transfer Family usa o Amazon S3 `Content-Type` que está associado a objetos no S3 em vez de ter o tipo de conteúdo mapeado com base na extensão do arquivo. Desmarque essa configuração se quiser que o serviço mapeie o tipo de conteúdo para suas AS2 mensagens com base na extensão do arquivo, em vez de usar o tipo de conteúdo do objeto S3.
   + Para o algoritmo de criptografia, não escolha, `DES_EDE3_CBC` a menos que você precise oferecer suporte a um cliente antigo que o exija, pois é um algoritmo de criptografia fraco.
   + O **Assunto** é usado como o atributo do cabeçalho `subject` HTTP nas AS2 mensagens que estão sendo enviadas com o conector.
   + Se você optar por criar um conector sem um algoritmo de criptografia, deverá especificar `HTTPS` como seu protocolo.

1. Na seção **Autenticação básica**, especifique as informações a seguir.
   + Para enviar credenciais de login junto com mensagens de saída, selecione **Habilitar autenticação básica.** Se você não quiser enviar nenhuma credencial com mensagens de saída, mantenha a opção **Ativar autenticação básica** desmarcada.
   + Se você estiver usando a autenticação, escolha ou crie um segredo.
     + Para criar um novo segredo, escolha **Criar um novo segredo** e insira um nome de usuário e uma senha. Essas credenciais devem corresponder ao usuário que se conecta ao endpoint do parceiro.  
![\[A página Criar conector no AWS Transfer Family console, mostrando a seção Autenticação básica com a opção Criar um novo segredo.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/as2-basic-auth-create-secret.png)
     + Para usar um segredo existente, escolha **Escolher um segredo existente**, e escolha um segredo no menu suspenso. Para obter detalhes sobre como criar um segredo formatado corretamente no Secrets Manager, consulte [Habilitar a autenticação básica para AS2 conectores](#as2-secret-create).  
![\[A página Criar conector no AWS Transfer Family console, mostrando a seção Autenticação básica com a opção Escolha um segredo existente.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/as2-basic-auth-select-secret.png)

1. Na seção de **configuração do MDN**, especifique as seguintes informações:
   + **Solicitar MDN** — Você tem a opção de exigir que seu parceiro comercial lhe envie um MDN depois de receber sua mensagem com sucesso. AS2
   + **MDN assinado** — Você tem a opção de exigir que MDNs seja assinado. Essa opção estará disponível apenas se você tiver selecionado **Solicitar MDN**.

1. Depois de confirmar todas as configurações, escolha **Criar AS2 conector** para criar o conector.

A página **Conectores** é exibida com o ID do novo conector adicionado à lista. Para visualizar os detalhes de seus conectores, consulte [Exibir detalhes AS2 do conector](#connectors-view-info).

## AS2 algoritmos de conectores
<a name="as2-connectors-details"></a>

Quando você cria um AS2 conector, os seguintes algoritmos de segurança são anexados ao conector.


| Tipo | Algoritmo | 
| --- | --- | 
| Cifras TLS | TLS\$1ECDHE\$1ECDSA\$1COM\$1AES\$1128\$1GCM\$1 SHA256 TLS\$1ECDHE\$1RSA\$1COM\$1AES\$1128\$1GCM\$1 SHA256 TLS\$1ECDHE\$1ECDSA\$1COM\$1AES\$1128\$1CBC\$1 SHA256 TLS\$1ECDHE\$1RSA\$1COM\$1AES\$1128\$1CBC\$1 SHA256 TLS\$1ECDHE\$1ECDSA\$1COM\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1RSA\$1COM\$1AES\$1256\$1GCM\$1 SHA384 TLS\$1ECDHE\$1ECDSA\$1COM\$1AES\$1256\$1CBC\$1 SHA384 TLS\$1ECDHE\$1RSA\$1COM\$1AES\$1256\$1CBC\$1 SHA384 | 

## Autenticação básica para AS2 conectores
<a name="as2-basic-auth"></a>

Ao criar ou atualizar um servidor Transfer Family que usa o AS2 protocolo, você pode adicionar a autenticação básica para mensagens de saída. Para isso, adicione informações de autenticação a um conector.

**nota**  
A autenticação básica está disponível somente se você estiver usando HTTPS.

Para usar a autenticação no seu conector, selecione **Habilitar autenticação básica** na seção **Autenticação básica**. Depois de ativar a autenticação básica, você pode optar por criar um segredo ou usar um. Em ambos os casos, as credenciais no segredo são enviadas com mensagens de saída que usam esse conector. As credenciais devem corresponder ao usuário que está tentando se conectar ao endpoint remoto do parceiro comercial.

A captura de tela a seguir mostra a opção **Ativar autenticação básica** selecionada e **Criar um novo segredo** escolhido. Depois de fazer essas escolhas, você pode inserir um nome de usuário e uma senha para o segredo. 

![\[A página Conectores do console Transfer Family, mostrando as informações de autenticação de mensagens do seu conector. Nesse caso, a opção Ativar autenticação básica é selecionada e a opção Criar um novo segredo é selecionada.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/as2-basic-auth-create-secret.png)


A captura de tela a seguir mostra a opção **Ativar autenticação básica** selecionada e **Escolher um segredo existente** escolhido. O seu segredo deve estar no formato correto, como descrito em [Habilitar a autenticação básica para AS2 conectores](#as2-secret-create).

![\[A página Conectores do console Transfer Family, mostrando as informações de autenticação de mensagens do seu conector. Nesse caso, Ativar autenticação básica é selecionada e Escolher um segredo existente é escolhida.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/as2-basic-auth-select-secret.png)


## Habilitar a autenticação básica para AS2 conectores
<a name="as2-secret-create"></a>

Ao habilitar a autenticação básica para AS2 conectores, você pode criar um novo segredo no console Transfer Family ou usar um segredo criado por você. AWS Secrets Manager Em ambos os casos, seu segredo é armazenado no Secrets Manager.

**Topics**
+ [Crie um novo segredo no console](#as2-secret-details-console)
+ [Usar um segredo existente da](#use-existing-secret)
+ [Crie um segredo em AWS Secrets Manager](#as2-secret-details-asm)

### Crie um novo segredo no console
<a name="as2-secret-details-console"></a>

Ao criar um conector no console, é possível criar um novo segredo.

Para criar um novo segredo, escolha **Criar um novo segredo** e insira um nome de usuário e uma senha. Essas credenciais devem corresponder ao usuário que se conecta ao endpoint do parceiro.

![\[A página Criar conector do AWS Transfer Family console, mostrando a seção Autenticação básica com a opção Criar um novo segredo.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/as2-basic-auth-create-secret.png)


**nota**  
Quando você cria um novo segredo no console, o nome do segredo segue esta convenção de nomenclatura:**/aws/transfer/*connector-id***, onde *connector-id* está o ID do conector que você está criando. Considere isso quando estiver tentando localizar o segredo AWS Secrets Manager.

### Usar um segredo existente da
<a name="use-existing-secret"></a>

Ao criar um conector no console, é possível especificar um segredo existente.

Para usar um segredo existente, escolha **Escolher um segredo existente**, e escolha um segredo no menu suspenso. Para obter detalhes sobre como criar um segredo formatado corretamente no Secrets Manager, consulte [Crie um segredo em AWS Secrets Manager](#as2-secret-details-asm).

![\[A página Criar conector do AWS Transfer Family console, mostrando a seção Autenticação básica com Escolha um segredo existente escolhido.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/as2-basic-auth-select-secret.png)


### Crie um segredo em AWS Secrets Manager
<a name="as2-secret-details-asm"></a>

O procedimento a seguir descreve como criar um segredo apropriado para uso com seu AS2 conector.

**nota**  
A autenticação básica está disponível somente se você estiver usando HTTPS.<a name="as2-auth-secret-key"></a>

**Para armazenar as credenciais do usuário no Secrets Manager para autenticação AS2 básica**

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

1. No painel de navegação à esquerda, selecione **Segredos**. 

1. Na página **Segredos**, escolha **Armazenar um novo segredo**.

1. Na página **Escolher tipo de segredo**, em **Tipo de segredo**, escolha **Outro tipo de segredo**.

1. Na seção **Pares de chave/valor**, escolha a guia **Chave/valor**.
   + **Chave** — Insira **Username**.
   + **Valor** – insira o nome do usuário autorizado a se conectar ao servidor do parceiro.

1. Se você quiser fornecer uma senha, escolha **Adicionar linha** e, na seção **Pares de chave/valor**, escolha a guia **Chave/valor**.

   Escolha **Adicionar linha** e, na seção **Pares de chave/valor**, escolha a guia **Chave/valor**.
   + **Chave** — Insira **Password**.
   + **valor** – Insira uma senha para o usuário.

1. Se você quiser fornecer uma chave privada, escolha **Adicionar linha** e, na seção **Pares de chave/valor**, escolha a guia **Chave/valor**.
   + **Chave** — Insira **PrivateKey**.
   + **valor** — insira uma chave privada para o usuário. Esse valor deve ser armazenado no formato OpenSSH e deve corresponder à chave pública armazenada para esse usuário no servidor remoto.

1. Escolha **Próximo**.

1. Na página **Configurar segredo**, insira um nome e uma descrição para seu segredo. Recomendamos utilizar o prefixo **aws/transfer/** para o nome. Por exemplo, é possível dar ao seu segredo o nome de **aws/transfer/connector-1**.

1. Escolha **Próximo** e aceite os padrões na página **Configurar alternância**. Em seguida, escolha **Próximo**.

1. Na página **Revisão**, escolha **Armazenar** para criar e armazenar o segredo.

Depois de criar o segredo, é possível escolhê-lo ao criar um conector (consulte [Configurar AS2 conectores](#configure-as2-connector)). Na etapa em que você habilita a autenticação básica, escolha o segredo na lista suspensa de segredos disponíveis.

## Exibir detalhes AS2 do conector
<a name="connectors-view-info"></a>

Você pode encontrar uma lista de detalhes e propriedades de um AS2 AWS Transfer Family conector no AWS Transfer Family console. As propriedades de um AS2 conector incluem URL, funções, perfis MDNs, tags e métricas de monitoramento.

Esse é o procedimento para visualizar os detalhes do conector.

**Como visualizar detalhes do conector**

1. 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 esquerda, escolha **Conectores**.

1. Escolha o identificador na coluna **ID do conector** para ver a página de detalhes do conector selecionado.

Você pode alterar as propriedades do AS2 conector na página de detalhes do conector escolhendo **Editar**.

![\[A página de detalhes do conector do console Transfer Family, mostrando a URL, a função de acesso e a função de logging do conector selecionado.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/as2-connector-details_01-top.png)


![\[A página de detalhes do conector do console Transfer Family, mostrando os detalhes da AS2 configuração do conector selecionado.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/as2-connector-details_02-middle.png)


![\[A página de detalhes do conector do console Transfer Family, mostrando os detalhes da seção Autenticação AS2 básica, tags, IP estático e informações de AS2 monitoramento do conector selecionado.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/as2-basic-auth-details-pane.png)


**nota**  
Você pode obter muitas dessas informações, embora em um formato diferente, executando o seguinte comando AWS Command Line Interface (AWS CLI :  

```
aws transfer describe-connector --connector-id your-connector-id
```
Para obter mais informações, consulte [https://docs.aws.amazon.com/transfer/latest/APIReference/API_DescribeConnector.html](https://docs.aws.amazon.com/transfer/latest/APIReference/API_DescribeConnector.html) na Referência da API.

# Enviando e recebendo AS2 mensagens
<a name="send-as2-messages"></a>

Esta seção descreve os processos de envio e recebimento de AS2 mensagens. Ele também fornece detalhes sobre nomes de arquivos e locais associados AS2 às mensagens.

A tabela a seguir lista os algoritmos de criptografia disponíveis para AS2 mensagens e quando você pode usá-los.


| Algoritmo de criptografia | HTTP | HTTPS | Observações | 
| --- |--- |--- |--- |
| AES128\$1CBC | Sim | Sim |  | 
| AES192\$1CBC | Sim | Sim |  | 
| AES256\$1CBC | Sim | Sim |  | 
| DES\$1 \$1CBC EDE3 | Sim | Sim | Use esse algoritmo somente se precisar oferecer suporte a um cliente antigo que o exija, pois é um algoritmo de criptografia fraco. | 
| NONE | Não | Sim | Se você estiver enviando mensagens para um servidor Transfer Family, só poderá selecionar NONE se estiver usando um Application Load Balancer (ALB). | 

**Topics**
+ [Processo de recebimento de AS2 mensagens](#as2-inbound-process)
+ [Enviando e recebendo AS2 mensagens por HTTPS](#as2-https-process)
+ [Transferindo arquivos usando um conector AS2](#transfer-as2-connectors)
+ [Nomes e localizações dos arquivos](#file-names-as2)
+ [Códigos de status](#status-codes)
+ [Arquivos JSON de amostra](#file-as2-json)

## Processo de recebimento de AS2 mensagens
<a name="as2-inbound-process"></a>

O processo de entrada é definido como uma mensagem ou arquivo que está sendo transferido para o seu AWS Transfer Family servidor. A sequência das mensagens de entrada é a seguinte:

1. Um processo administrativo ou automatizado inicia uma transferência de AS2 arquivos no AS2 servidor remoto do parceiro.

1. O AS2 servidor remoto do parceiro assina e criptografa o conteúdo do arquivo e, em seguida, envia uma solicitação HTTP POST para um endpoint de AS2 entrada hospedado no Transfer Family.

1. Usando os valores configurados para o servidor, parceiros, certificados e contrato, o Transfer Family descriptografa e verifica a carga útil. AS2 O conteúdo do arquivo é armazenado no armazenamento de arquivos configurado do Amazon S3.

1. A resposta MDN assinada é retornada em linha com a resposta HTTP ou de forma assíncrona por meio de uma solicitação HTTP POST separada para o servidor de origem.

1. Uma trilha de auditoria é escrita para a Amazon CloudWatch com detalhes sobre a troca.

1. O arquivo descriptografado está disponível em uma pasta chamada `inbox/processed`.

![\[Diagrama que mostra a sequência de processamento das mensagens recebidas.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/as2-architecture-inbound.png)


## Enviando e recebendo AS2 mensagens por HTTPS
<a name="as2-https-process"></a>

Esta seção descreve como configurar um servidor Transfer Family que usa o AS2 protocolo para enviar e receber mensagens por HTTPS.

**Topics**
+ [Envie AS2 mensagens por HTTPS](#send-https)
+ [Receba AS2 mensagens por HTTPS](#receive-https)

### Envie AS2 mensagens por HTTPS
<a name="send-https"></a>

Para enviar AS2 mensagens usando HTTPS, crie um conector com as seguintes informações:
+ Para o URL, especifique um URL HTTPS
+ Para o algoritmo de criptografia, selecione qualquer um dos algoritmos disponíveis.
**nota**  
 Para enviar mensagens para um servidor Transfer Family sem usar criptografia (ou seja, você seleciona o algoritmo `NONE` de criptografia), você deve usar um Application Load Balancer (ALB).
+ Forneça os valores restantes para o conector, conforme descrito em [Configurar AS2 conectores](configure-as2-connector.md).

### Receba AS2 mensagens por HTTPS
<a name="receive-https"></a>

 AWS Transfer Family AS2 atualmente, os servidores fornecem apenas transporte HTTP pela porta 5080. No entanto, você pode encerrar o TLS em um balanceador de carga de rede ou aplicativo na frente do endpoint VPC do servidor Transfer Family usando uma porta e um certificado de sua escolha. Com essa abordagem, você pode fazer com que as AS2 mensagens recebidas usem HTTPS.

**Pré-requisitos**
+ O VPC deve estar no mesmo Região da AWS servidor do Transfer Family.
+ As sub-redes da sua VPC devem estar dentro das zonas de disponibilidade nas quais você deseja usar o servidor.
**nota**  
Cada servidor Transfer Family pode suportar até três zonas de disponibilidade.
+ Aloque até três endereços IP Elastic na mesma região do seu servidor. Ou você pode optar por trazer seu próprio intervalo de endereços IP (BYOIP).
**nota**  
O número de endereços IP elásticos deve corresponder ao número de zonas de disponibilidade que você usa com os endpoints do servidor.

Você pode configurar um Network Load Balance (NLB) ou um Application Load Balancer (ALB). A tabela a seguir lista os prós e os contras de cada abordagem.

A tabela abaixo fornece as diferenças nos recursos quando você usa um NLB versus um ALB para encerrar o TLS.


| Recurso | Network Load Balancer (NLB) | Application Load Balancer (ALB) | 
| --- | --- | --- | 
| Latência | Menor latência à medida que opera na camada de rede. | Maior latência à medida que opera na camada do aplicativo. | 
| Compatibilidade com IP estático | Pode anexar endereços IP elásticos que podem ser estáticos. | Não é possível anexar endereços IP elásticos: fornece um domínio cujos endereços IP subjacentes podem mudar. | 
| Roteamento avançado | Não suporta roteamento avançado. | Suporta roteamento avançado. Pode injetar o `X-Forwarded-Proto` cabeçalho necessário AS2 sem criptografia. [Esse cabeçalho é descrito em [X-Forwarded-Proto no site developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto).](https://developer.mozilla.org/) | 
| Terminação TLS/SSL | Suporta TLS/SSL rescisão | Suporta TLS/SSL rescisão | 
| TLS mútua (mTLS) | Atualmente, o Transfer Family não suporta o uso de um NLB para mTLS | Support para mTLS | 

------
#### [ Configure NLB ]

Este procedimento descreve como configurar um Network Load Balancer (NLB) voltado para a Internet em sua VPC.<a name="create-nlb-AS2"></a>

**Para criar um Network Load Balancer e definir o endpoint da VPC do servidor como o destino do balanceador de carga**

1. Abra o console do Amazon Elastic Compute Cloud em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Balanceadores de carga** e, em seguida, escolha **Criar balanceador de carga**.

1. Em **Network Load Balancer**, escolha **Criar**.

1. Na seção **Configurações básicas**, insira as seguintes informações:
   + Em **Nome**, insira um nome descritivo para o balanceador de carga.
   + Para **Esquema**, escolha **Voltado para a internet**.
   + Em **IP address type** (Tipo de endereço IP), escolha **IPv4**.

1. Na seção **Mapeamento de rede**, insira as seguintes informações:
   + Em **VPC**, escolha a nuvem privada virtual (VPC) que você criou.
   + Em **Mapeamentos**, escolha as zonas de disponibilidade associadas às sub-redes públicas que estão disponíveis na mesma VPC que você usa com os endpoints do servidor.
   + Para o **IPv4 endereço** de cada sub-rede, escolha um dos endereços IP elásticos que você alocou.

1. Na seção **Receptores e roteamento**, insira as seguintes informações:
   + Para **Protocolos**, escolha **TLS**.
   + Em **Porta**, insira **5080**.
   + Em **Ação padrão**, escolha **Criar grupo de destino**. Para obter detalhes sobre a criação de um novo grupo-alvo, consulte [Para criar um grupo de destino](#create-target-group).

   Depois de criar um grupo-alvo, insira seu nome no campo **Ação padrão**.

1. Na seção **Configurações do ouvinte seguro**, escolha seu certificado na área ** SSL/TLS Certificado padrão**.

1. Escolha **Criar balanceador de carga** para criar seu NLB.

1. (Opcional, mas recomendado) Ative os logs de acesso do Network Load Balancer para manter uma trilha de auditoria completa, conforme descrito em [Logs de acesso do Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-access-logs.html).

   Recomendamos esta etapa porque a conexão TLS é encerrada no NLB. Portanto, o endereço IP de origem refletido nos grupos de AS2 CloudWatch registros do Transfer Family é o endereço IP privado do NLB, em vez do endereço IP externo do seu parceiro comercial.

------
#### [ Configure ALB ]

Este procedimento descreve como configurar um Application Load Balancer (ALB) em sua VPC.<a name="create-alb-AS2"></a>

**Para criar um Application Load Balancer e definir o VPC endpoint do servidor como destino do balanceador de carga**

1. Abra o console do Amazon Elastic Compute Cloud em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Balanceadores de carga** e, em seguida, escolha **Criar balanceador de carga**.

1. Em **Application Load Balancer**, escolha **Create** (Criar).

1. No console do ALB, crie um novo ouvinte HTTP na porta 443 (HTTPS).

1. (Opcional). Se você quiser configurar a autenticação mútua (mTLS), defina as configurações de segurança e um armazenamento confiável.

   1. Anexe seu SSL/TLS certificado ao ouvinte.

   1. Em **Tratamento de certificados do cliente**, selecione **Autenticação mútua (mTLS)**.

   1. Escolha **Verificar com loja confiável**.

   1. Em **Configurações avançadas do mTLS**, escolha ou crie um repositório confiável fazendo o upload de seus certificados CA.

1. Crie um novo grupo-alvo e adicione os endereços IP privados dos endpoints do AS2 servidor Transfer Family como destinos na porta 5080. Para obter detalhes sobre a criação de um novo grupo-alvo, consulte [Para criar um grupo de destino](#create-target-group).

1. Configure verificações de saúde para que o grupo-alvo use o protocolo HTTP na porta 5080.

1. Crie uma nova regra para encaminhar o tráfego HTTPS do ouvinte para o grupo-alvo.

1. Configure o ouvinte para usar seu certificado SSL/TLS.

------

Depois de configurar o balanceador de carga, os clientes se comunicam com o balanceador de carga por meio do receptor de porta personalizado. Em seguida, o balanceador de carga se comunica com o servidor pela porta 5080.<a name="create-target-group"></a>

**Para criar um grupo de destino**

1. Depois de escolher **Criar grupo-alvo** no procedimento anterior, você será direcionado para a página **Especificar detalhes do grupo** de destino para um novo grupo-alvo.

1.  Na seção **Configurações básicas**, insira as seguintes informações.
   + Em **Escolher um tipo de destino**, escolha **Endereços IP**.
   + Em **Nome do grupo de destino**, insira um nome para o grupo de destino.
   + Para **Protocolo**, sua seleção depende de você estar usando um ALB ou um NLB.
     + **Para um Network Load Balancer (NLB), escolha TCP**
     + **Para um Application Load Balancer (ALB), escolha HTTP**
   + Em **Porta**, insira **5080**. 
   + Em **IP address type** (Tipo de endereço IP), escolha **IPv4**.
   + Para **VPC**, escolha a VPC que você criou para seu servidor Transfer Family. AS2 

1. <a name="vpc-register-targets"></a>Na seção **Verificações de saúde**, escolha o **protocolo de verificação de saúde**.
   + **Para um ALB, escolha HTTP**
   + **Para um NLB, escolha TCP**

1. <a name="vpc-add-to-list"></a>Escolha **Próximo**.

1. Na página **Registrar alvos**, insira as seguintes informações:
   + Em **Rede**, confirme se a VPC que você criou para o AS2 servidor Transfer Family foi especificada.
   + Para **IPv4 endereço**, insira o IPv4 endereço privado dos endpoints do seu AS2 servidor Transfer Family.

      Se você tiver mais de um endpoint para seu servidor, escolha **Adicionar IPv4 endereço** para adicionar outra linha para inserir outro IPv4 endereço. Repita esse processo até inserir os endereços IP privados de todos os endpoints do seu servidor.
   + Verifique se as **portas** estão definidas como **5080**.
   + Escolha **Incluir como pendente abaixo** para adicionar suas entradas à seção **Revisar metas**.

1. Na seção **Revisar alvos**, revise seus alvos IP.

1. Escolha **Criar grupo-alvo** e, em seguida, volte ao procedimento anterior para criar seu NLB e insira o novo grupo-alvo onde indicado.

**Teste o acesso ao servidor a partir de um endereço IP elástico**

Conecte-se ao servidor pela porta personalizada usando um endereço IP elástico ou o nome DNS do Network Load Balancer.

**Importante**  
Gerencie o acesso ao seu servidor a partir de endereços IP do cliente usando as [listas de controle de acesso à rede (rede ACLs)](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) das sub-redes configuradas no balanceador de carga. As permissões da Network ACL são definidas no nível da sub-rede, portanto, as regras se aplicam a todos os recursos que usam a sub-rede. Não é possível controlar o acesso de endereços IP de clientes usando grupos de segurança, porque o tipo de destino do balanceador de carga é definido como **endereços IP** em vez de **Instâncias**. Portanto, o balanceador de carga não preserva endereços IP de origem. Se as [verificações de integridade do Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-health-checks.html) falharem, isso significa que o balanceador de carga não pode se conectar ao endpoint do servidor. Para solucionar esse problema, verifique o seguinte:  
Confirme se o [grupo de segurança associado ao endpoint](https://aws.amazon.com/premiumsupport/knowledge-center/sftp-enable-elastic-ip-custom-port/) do servidor permite conexões de entrada das sub-redes configuradas no balanceador de carga. O balanceador de carga deve ser capaz de se conectar ao endpoint do servidor pela porta 5080.
Confirme se o **estado** do servidor está **online**.

## Transferindo arquivos usando um conector AS2
<a name="transfer-as2-connectors"></a>

AS2 os conectores estabelecem um relacionamento entre parceiros comerciais para transferências de AS2 mensagens de um servidor Transfer Family para um destino externo de propriedade do parceiro.

Você pode usar o Transfer Family para enviar AS2 mensagens referenciando a ID do conector e os caminhos para os arquivos, conforme ilustrado no seguinte comando `start-file-transfer` AWS Command Line Interface (AWS CLI):

```
aws transfer start-file-transfer --connector-id c-1234567890abcdef0 \
--send-file-paths "/amzn-s3-demo-source-bucket/myfile1.txt" "/amzn-s3-demo-source-bucket/myfile2.txt"
```

Para obter detalhes dos conectores, execute o seguinte comando:

```
aws transfer list-connectors
```

O `list-connectors` comando retorna o conector e IDs URLs os Amazon Resource Names (ARNs) para seus conectores.

Para retornar as propriedades de um conector específico, execute o comando a seguir com o ID que você deseja usar:

```
aws transfer describe-connector --connector-id your-connector-id
```

O `describe-connector` comando retorna todas as propriedades do conector, incluindo URL, funções, perfis, avisos de disposição de mensagens (MDNs), tags e métricas de monitoramento.

Você pode confirmar que o parceiro recebeu os arquivos com êxito visualizando os arquivos JSON e MDN. Esses arquivos são nomeados de acordo com as convenções descritas em [Nomes e localizações dos arquivos](#file-names-as2). Se você configurou uma função de registro ao criar o conector, também poderá verificar o status das AS2 mensagens em seus CloudWatch registros.

Para ver os detalhes do AS2 conector, consulte[Exibir detalhes AS2 do conector](configure-as2-connector.md#connectors-view-info). Para obter mais informações sobre a criação de AS2 conectores, consulte[Configurar AS2 conectores](configure-as2-connector.md).

**Para enviar uma mensagem AS2 de saída**

O processo de saída é definido como uma mensagem ou arquivo enviado AWS para um cliente ou serviço externo. A sequência das mensagens de saída é a seguinte:

1. Um administrador chama o comando `start-file-transfer` AWS Command Line Interface (AWS CLI) ou a operação `StartFileTransfer` da API. Essa operação faz referência a uma configuração `connector`.

1. O Transfer Family detecta uma nova solicitação de arquivo e localiza o arquivo. O arquivo é compactado, assinado e criptografado. 

1. Um cliente HTTP de transferência executa uma solicitação HTTP POST para transmitir a carga ao AS2 servidor do parceiro. 

1. O processo retorna a resposta MDN assinada, em linha com a resposta HTTP (MDN síncrona).

1. À medida que o arquivo se move entre os diferentes estágios de transmissão, o processo entrega o recibo da resposta do MDN e os detalhes do processamento ao cliente. 

1. O AS2 servidor remoto disponibiliza o arquivo descriptografado e verificado para o administrador parceiro.

![\[Diagrama que mostra a sequência de processamento das mensagens enviadas.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/as2-architecture-outbound.png)


AS2 o processamento suporta muitos dos protocolos RFC 4130, com foco em casos de uso comuns e integração com implementações de servidores AS2 habilitados existentes. Para obter detalhes sobre as configurações suportadas, consulte [AS2 configurações](create-b2b-server.md#as2-supported-configurations).

## Nomes e localizações dos arquivos
<a name="file-names-as2"></a>

Esta seção discute as convenções de nomenclatura de arquivos para transferências. AS2 

Para Transferência de Arquivos de entrada, observe o seguinte:
+ Você especifica o diretório base em um contrato. O diretório base é o nome do bucket do Amazon S3 combinado com um prefixo, se houver. Por exemplo, .`/amzn-s3-demo-bucket/AS2-folder`
+ Se um arquivo de entrada for processado com êxito, o arquivo (e o arquivo JSON correspondente) será salvo na pasta `/processed`. Por exemplo, .`/amzn-s3-demo-bucket/AS2-folder/processed`

  O arquivo JSON contém os seguintes campos:
  + `agreement-id` 
  + `as2-from`
  + `as2-to`
  + `as2-message-id`
  + `transfer-id`
  + `client-ip`
  + `connector-id`
  + `failure-message`
  + `file-path`
  + `message-subject`
  + `mdn-message-id`
  + `mdn-subject`
  + `requester-file-name`
  + `requester-content-type`
  + `server-id`
  + `status-code`
  + `failure-code`
  + `transfer-size`
+ Se um arquivo de entrada não puder ser processado com êxito, o arquivo (e o arquivo JSON correspondente) será salvo na pasta `/failed`. Por exemplo, .`/amzn-s3-demo-bucket/AS2-folder/failed`
+ O arquivo transferido é armazenado na pasta `processed` como `original_filename.messageId.original_extension`. Ou seja, o ID da mensagem para a transferência é anexado ao nome do arquivo, antes da extensão original.
+ Um arquivo JSON é criado e salvo como `original_filename.messageId.original_extension.json`. Além do ID da mensagem que está sendo adicionado, a string `.json` é anexada ao nome do arquivo transferido.
+ Um arquivo de Aviso de Disposição de Mensagens (MDN) é criado e salvo como `original_filename.messageId.original_extension.mdn`. Além do ID da mensagem que está sendo adicionado, a string `.mdn` é anexada ao nome do arquivo transferido.
+ Se houver um arquivo de entrada chamado `ExampleFileInS3Payload.dat`, os seguintes arquivos serão criados:
  + **Arquivo** – `ExampleFileInS3Payload.c4d6b6c7-23ea-4b8c-9ada-0cb811dc8b35@44313c54b0a46a36.dat`
  + **JSON** – `ExampleFileInS3Payload.c4d6b6c7-23ea-4b8c-9ada-0cb811dc8b35@44313c54b0a46a36.dat.json` 
  + **MDN** – `ExampleFileInS3Payload.c4d6b6c7-23ea-4b8c-9ada-0cb811dc8b35@44313c54b0a46a36.dat.mdn` 

Para transferências de saída, a nomenclatura é semelhante, com a diferença de que não há arquivo de mensagem de entrada e, além disso, a ID de transferência da mensagem transferida é adicionada ao nome do arquivo. O ID de transferência é retornado pela operação API `StartFileTransfer` (ou quando outro processo ou script chama essa operação).
+ O `transfer-id` é um identificador associado a uma Transferência de Arquivos. Todas as solicitações que fazem parte de uma `StartFileTransfer` chamada compartilham um `transfer-id`.
+ O diretório base é o mesmo que o caminho que você usa para o arquivo de origem. Ou seja, o diretório base é o caminho que você especifica na operação ou no `start-file-transfer` AWS CLI comando da `StartFileTransfer` API. Por exemplo: 

  ```
  aws transfer start-file-transfer --send-file-paths /amzn-s3-demo-bucket/AS2-folder/file-to-send.txt
  ```

  Se você executar esse comando, os arquivos MDN e JSON serão salvos em `/amzn-s3-demo-bucket/AS2-folder/processed` (para transferências bem-sucedidas) ou `/amzn-s3-demo-bucket/AS2-folder/failed` (para transferências malsucedidas).
+ Um arquivo JSON é criado e salvo como `original_filename.transferId.messageId.original_extension.json`.
+ Um arquivo MDN é criado e salvo como `original_filename.transferId.messageId.original_extension.mdn`.
+ Se houver um arquivo de saída chamado `ExampleFileOutTestOutboundSyncMdn.dat`, os seguintes arquivos serão criados:
  + **JSON** – `ExampleFileOutTestOutboundSyncMdn.dedf4601-4e90-4043-b16b-579af35e0d83.fbe18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa.dat.json`
  + **MDN** – `ExampleFileOutTestOutboundSyncMdn.dedf4601-4e90-4043-b16b-579af35e0d83.fbe18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa.dat.mdn`

Você também pode verificar os CloudWatch registros para ver os detalhes de suas transferências, incluindo as que falharam.

## Códigos de status
<a name="status-codes"></a>

A tabela a seguir lista todos os códigos de status que podem ser registrados CloudWatch nos registros quando você ou seu parceiro enviam uma AS2 mensagem. Diferentes etapas de processamento de mensagens se aplicam a diferentes tipos de mensagens e são destinadas somente ao monitoramento. Os estados COMPLETED e FAILED representam a etapa final do processamento e são visíveis nos arquivos JSON.


****  

| Código | Description | Processamento concluído? | 
| --- | --- | --- | 
| PROCESSANDO | A mensagem está sendo convertida em seu formato final. Por exemplo, as etapas de descompressão e descriptografia têm esse status. | Não | 
| MDN\$1TRANSMIT | O processamento de mensagens está enviando uma resposta MDN. | Não | 
| MDN\$1RECEIVE | O processamento de mensagens está recebendo uma resposta MDN. | Não | 
| CONCLUÍDO | O processamento da mensagem foi concluído com êxito. Esse estado inclui quando um MDN é enviado para uma mensagem de entrada ou para verificação de mensagens enviadas pelo MDN. | Sim | 
| FAILED | O processamento da mensagem falhou. Para obter uma lista de códigos de erro, consulte[AS2 códigos de erro](as2-monitoring.md#as2-error-codes). | Sim | 

## Arquivos JSON de amostra
<a name="file-as2-json"></a>

Esta seção lista exemplos de arquivos JSON para transferências de entrada e saída, incluindo arquivos de amostra para transferências bem-sucedidas e transferências que falham.

Exemplo de arquivo de saída que foi transferido com sucesso:

```
{
  "requester-content-type": "application/octet-stream",
  "message-subject": "File xyzTest from MyCompany_OID to partner YourCompany",
  "requester-file-name": "TestOutboundSyncMdn-9lmCr79hV.dat",
  "as2-from": "MyCompany_OID",
  "connector-id": "c-c21c63ceaaf34d99b",
  "status-code": "COMPLETED",
  "disposition": "automatic-action/MDN-sent-automatically; processed",
  "transfer-size": 3198,
  "mdn-message-id": "OPENAS2-11072022063009+0000-df865189-1450-435b-9b8d-d8bc0cee97fd@PartnerA_OID_MyCompany_OID",
  "mdn-subject": "Message be18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa has been accepted",
  "as2-to": "PartnerA_OID",
  "transfer-id": "dedf4601-4e90-4043-b16b-579af35e0d83",
  "file-path": "/amzn-s3-demo-bucket/as2testcell0000/openAs2/TestOutboundSyncMdn-9lmCr79hV.dat",
  "as2-message-id": "fbe18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa",
  "timestamp": "2022-07-11T06:30:10.791274Z"
}
```

Exemplo de arquivo de saída que foi transferido sem sucesso:

```
{
  "failure-code": "HTTP_ERROR_RESPONSE_FROM_PARTNER",
  "status-code": "FAILED",
  "requester-content-type": "application/octet-stream",
  "subject": "Test run from Id da86e74d6e57464aae1a55b8596bad0a to partner 9f8474d7714e476e8a46ce8c93a48c6c",
  "transfer-size": 3198,
  "requester-file-name": "openAs2TestOutboundWrongAs2Ids-necco-3VYn5n8wE.dat",
  "as2-message-id": "9a9cc9ab-7893-4cb6-992a-5ed8b90775ff@718de4cec1374598",
  "failure-message": "http://Test123456789.us-east-1.elb.amazonaws.com:10080 returned status 500 for message with ID 9a9cc9ab-7893-4cb6-992a-5ed8b90775ff@718de4cec1374598",
  "transfer-id": "07bd3e07-a652-4cc6-9412-73ffdb97ab92",
  "connector-id": "c-056e15cc851f4b2e9",
  "file-path": "/amzn-s3-demo-bucket-4c1tq6ohjt9y/as2IntegCell0002/openAs2/openAs2TestOutboundWrongAs2Ids-necco-3VYn5n8wE.dat",
  "timestamp": "2022-07-11T21:17:24.802378Z"
}
```

Exemplo de arquivo de entrada que foi transferido com sucesso:

```
{
  "requester-content-type": "application/EDI-X12",
  "subject": "File openAs2TestInboundAsyncMdn-necco-5Ab6bTfCO.dat sent from MyCompany to PartnerA",
  "client-ip": "10.0.109.105",
  "requester-file-name": "openAs2TestInboundAsyncMdn-necco-5Ab6bTfCO.dat",
  "as2-from": "MyCompany_OID",
  "status-code": "COMPLETED",
  "disposition": "automatic-action/MDN-sent-automatically; processed",
  "transfer-size": 1050,
  "mdn-subject": "Message Disposition Notification",
  "as2-message-id": "OPENAS2-11072022233606+0000-5dab0452-0ca1-4f9b-b622-fba84effff3c@MyCompany_OID_PartnerA_OID",
  "as2-to": "PartnerA_OID",
  "agreement-id": "a-f5c5cbea5f7741988",
  "file-path": "processed/openAs2TestInboundAsyncMdn-necco-5Ab6bTfCO.OPENAS2-11072022233606+0000-5dab0452-0ca1-4f9b-b622-fba84effff3c@MyCompany_OID_PartnerA_OID.dat",
  "server-id": "s-5f7422b04c2447ef9",
  "timestamp": "2022-07-11T23:36:36.105030Z"
}
```

Exemplo de arquivo de entrada que foi transferido sem sucesso:

```
{
  "failure-code": "INVALID_REQUEST",
  "status-code": "FAILED",
  "subject": "Sending a request from InboundHttpClientTests",
  "client-ip": "10.0.117.27",
  "as2-message-id": "testFailedLogs-TestRunConfig-Default-inbound-direct-integ-0c97ee55-af56-4988-b7b4-a3e0576f8f9c@necco",
  "as2-to": "0beff6af56c548f28b0e78841dce44f9",
  "failure-message": "Unsupported date format: 2022/123/456T",
  "agreement-id": "a-0ceec8ca0a3348d6a",
  "as2-from": "ab91a398aed0422d9dd1362710213880",
  "file-path": "failed/01187f15-523c-43ac-9fd6-51b5ad2b08f3.testFailedLogs-TestRunConfig-Default-inbound-direct-integ-0c97ee55-af56-4988-b7b4-a3e0576f8f9c@necco",
  "server-id": "s-0582af12e44540b9b",
  "timestamp": "2022-07-11T06:30:03.662939Z"
}
```

# Personalize cabeçalhos HTTP para mensagens AS2
<a name="as2-custom-http-headers"></a>

Ao enviar AS2 mensagens para parceiros comerciais, talvez seja necessário personalizar os cabeçalhos HTTP para atender a requisitos específicos ou aprimorar a compatibilidade com a configuração do AS2 servidor do seu parceiro. Esse CloudFormation modelo cria uma infraestrutura para habilitar cabeçalhos HTTP personalizados para AS2 mensagens enviadas AWS Transfer Family. Ele configura um Amazon API Gateway e uma função Lambda para atuar como proxy, permitindo a modificação dinâmica dos cabeçalhos exigidos pelos servidores dos parceiros comerciais. AS2 

Use esse modelo para fazer o seguinte:
+ Adicione cabeçalhos HTTP personalizados às mensagens enviadas AS2 
+ Substituir valores de cabeçalho padrão por valores personalizados
**Importante**  
Tenha cuidado ao substituir os valores de cabeçalho padrão, pois isso pode causar falhas no envio: alguns AS2 cabeçalhos são necessários.
+ Garanta a compatibilidade com parceiros comerciais que tenham requisitos específicos de cabeçalho

## Visão geral do modelo
<a name="template-overview"></a>

O modelo cria os seguintes componentes principais:
+ Uma função Lambda que processa e encaminha mensagens AS2 
+ Um Amazon API Gateway para expor a função Lambda
+ Funções e permissões do IAM para a função Lambda
+ Recursos condicionais para suporte a HTTPS

O arquivo de modelo está disponível aqui: [Modelo de cabeçalhos HTTP dinâmicos](https://s3.amazonaws.com/aws-transfer-resources/as2-templates/dynamic-http-headers.template.yml).

## Como funciona
<a name="how-it-works"></a>

1. O Amazon API Gateway recebe AS2 mensagens de AWS Transfer Family.

1. A solicitação é encaminhada para a função Lambda.

1. A função Lambda processa a solicitação, adicionando ou modificando cabeçalhos conforme necessário.

1. A solicitação modificada é então encaminhada para o AS2 servidor do parceiro.

1. A resposta do servidor do parceiro é retornada por meio do Lambda e do Amazon API Gateway para. AWS Transfer Family

## Recursos principais
<a name="key-features"></a>
+ *Modificação dinâmica do cabeçalho:* permite a personalização do cabeçalho do assunto e a adição de outros cabeçalhos necessários.
+ *Protocol Support:* funciona com os protocolos HTTP e HTTPS.
+ *Configuração flexível:* permite a especificação do host, porta e caminho do parceiro.

## Detalhes da implantação
<a name="implementation-details"></a>

O modelo implementa os seguintes componentes principais:

### Função do Lambda
<a name="lambda-function"></a>

O núcleo da solução é uma função Lambda Node.js que:
+ Recebe solicitações do Amazon API Gateway
+ Modifica os cabeçalhos com base na configuração e nos dados da solicitação recebida
+ Encaminha a solicitação modificada para o servidor do AS2 parceiro
+ Lida com os protocolos HTTP e HTTPS
+ Inclui tratamento e registro de erros

### Amazon API Gateway
<a name="api-gateway"></a>

Uma API HTTP está configurada para:
+ Receba mensagens recebidas AS2 
+ Encaminhe solicitações para a função Lambda
+ Retorne as respostas para AWS Transfer Family

### Parâmetros do modelo
<a name="as2-header-template-parameter-details"></a>

Insira as informações para os parâmetros do modelo da seguinte forma. Observe que todos esses parâmetros são cadeias de caracteres.
+ `Environment`: esse parâmetro é usado para nomear os recursos que o modelo cria: se eles são destinados a um ambiente de desenvolvimento ou produção. Os valores válidos são **dev** e **prod.** 
+ `PartnerHost`: o endereço IP ou nome do host do servidor AS2 parceiro.
+ `PartnerPort`: o número da porta do servidor AS2 parceiro. Se não for especificado, o padrão é 80 para HTTP e 443 para HTTPS.
+ `PartnerPath`: o caminho para o AS2 endpoint no servidor parceiro
+ `ProtocolType`: o protocolo a ser usado para a AS2 comunicação: os valores válidos são **HTTP** e **HTTPS**.

### Recursos condicionais
<a name="conditional-resources"></a>

Para suporte a HTTPS, o modelo cria condicionalmente:
+ Uma camada Lambda para certificados CA
+ Configuração específica de HTTPS na função Lambda

## Implantação e uso
<a name="deployment-and-usage"></a>

**Para personalizar cabeçalhos AS2 HTTP usando um modelo CloudFormation**

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

1. No painel de navegação à esquerda, selecione**Pilhas**.

1. Selecione **Criar pilha** e, depois, **Com novos recursos (padrão)**. 

1. Na seção **Pré-requisito - Preparar modelo**, **escolha Escolher um modelo existente**.

1. Copie esse link, [modelo de cabeçalhos HTTP dinâmicos](https://s3.amazonaws.com/aws-transfer-resources/as2-templates/dynamic-http-headers.template.yml), e cole-o no campo URL do **Amazon S3**.

1. Escolha **Próximo**. 

1. Preencha os detalhes do parâmetro com suas informações. Eles estão detalhados em[Parâmetros do modelo](#as2-header-template-parameter-details).

1. Escolha **Próximo**. Na página **Configurar opções de pilha**, selecione **Próximo** novamente. 

1. Revise os detalhes da pilha que você está criando e escolha **Criar pilha**. 
**nota**  
Na parte inferior da página, em **Capacidades**, você deve reconhecer que isso CloudFormation pode criar recursos AWS Identity and Access Management (IAM). 

Depois de implantar essa CloudFormation pilha:

1. Observe a URL do endpoint do Amazon API Gateway fornecida nas saídas da pilha.

1. Atualize seu AWS Transfer Family conector existente para usar esse novo endpoint do Amazon API Gateway.

1. A solução agora manipulará AS2 mensagens, adicionando ou modificando cabeçalhos conforme configurado.

**Atenção**  
Modifique apenas o cabeçalho do assunto ou adicione cabeçalhos que seu parceiro espera explicitamente. Alterar outros cabeçalhos pode causar falhas na transferência.

# Monitorando AS2 o uso
<a name="as2-monitoring"></a>

Você pode monitorar AS2 a atividade usando a Amazon CloudWatch AWS CloudTrail e. Para ver outras métricas do servidor Transfer Family, consulte [CloudWatch Registro na Amazon para AWS Transfer Family servidores](structured-logging.md)


**AS2 métricas**  

| Métrica | Descrição | 
| --- | --- | 
| InboundMessage |  O número total de AS2 mensagens recebidas com sucesso de um parceiro comercial. Unidades: contagem Período: 5 minutos  | 
| InboundFailedMessage |  O número total de AS2 mensagens que foram recebidas sem sucesso de um parceiro comercial. Ou seja, um parceiro comercial enviou uma mensagem, mas o servidor Transfer Family não conseguiu processá-la com êxito. Unidades: contagem Período: 5 minutos  | 
| OutboundMessage |  O número total de AS2 mensagens enviadas com sucesso do servidor Transfer Family para um parceiro comercial. Unidades: contagem Período: 5 minutos  | 
| OutboundFailedMessage |  O número total de AS2 mensagens que foram enviadas sem sucesso a um parceiro comercial. Ou seja, elas foram enviados do servidor Transfer Family, mas não foram recebidas com sucesso pelo parceiro comercial. Unidades: contagem Período: 5 minutos  | 
| DaysUntilExpiry |  O número de dias até a expiração de um certificado é determinado pelo `InactiveDate` definido no certificado durante a importação. Unidades: contagem Dimensões:`CertificateId`, `Description` (se fornecido) Período: 1 dia Para obter mais informações, consulte [AS2 rotação de certificados](managing-as2-partners.md#as2-certificate-rotation).  | 

## AS2 Códigos de status
<a name="as2-monitor-status-codes"></a>

A tabela a seguir lista todos os códigos de status que podem ser registrados CloudWatch nos registros quando você ou seu parceiro enviam uma AS2 mensagem. Diferentes etapas de processamento de mensagens se aplicam a diferentes tipos de mensagens e são destinadas somente ao monitoramento. Os estados COMPLETED e FAILED representam a etapa final do processamento e são visíveis nos arquivos JSON.


****  

| Código | Descrição | Processamento concluído? | 
| --- | --- | --- | 
| PROCESSANDO | A mensagem está sendo convertida em seu formato final. Por exemplo, as etapas de descompressão e descriptografia têm esse status. | Não | 
| MDN\$1TRANSMIT | O processamento de mensagens está enviando uma resposta MDN. | Não | 
| MDN\$1RECEIVE | O processamento de mensagens está recebendo uma resposta MDN. | Não | 
| CONCLUÍDO | O processamento da mensagem foi concluído com êxito. Esse estado inclui quando um MDN é enviado para uma mensagem de entrada ou para verificação de mensagens enviadas pelo MDN. | Sim | 
| COM FALHA | O processamento da mensagem falhou. Para obter uma lista de códigos de erro, consulte[AS2 códigos de erro](#as2-error-codes). | Sim | 

## AS2 códigos de erro
<a name="as2-error-codes"></a>

A tabela a seguir lista e descreve os códigos de erro que você pode receber de transferências de AS2 arquivos.


**AS2 códigos de erro**  

| Código | Erro | Descrição e resolução | 
| --- | --- | --- | 
| ACCESS\$1DENIED |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/as2-monitoring.html)  |  Ocorre ao lidar com uma solicitação `StartFileTransfer` em que qualquer uma das `SendFilePaths` não é válida ou está malformada. Ou seja, falta o nome do bucket do Amazon S3 no caminho ou o caminho inclui caracteres que não são válidos. Também ocorre se Transfer Family não assumir a função de acesso ou de logging.Certifique-se de que o caminho contenha um nome de bucket e um nome de chave válidos do Amazon S3. | 
| AGREEMENT\$1NOT\$1FOUND | Não foi possível encontrar o acordo. | O acordo não foi encontrado ou está associado a um perfil inativo.Atualize o contrato no servidor Transfer Family para incluir perfis ativos. | 
| CONNECTOR\$1NOT\$1FOUND | O conector ou configuração relacionada não foi encontrado. |  O conector não foi encontrado ou está associado a um perfil inativo. Atualize o conector para incluir perfis ativos.  | 
| CREDENTIALS\$1RETRIEVAL\$1FAILED |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/as2-monitoring.html)  |  Para a autenticação AS2 básica, o segredo deve ser formatado corretamente. As resoluções a seguir correspondem aos erros listados na coluna anterior. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/as2-monitoring.html)  | 
| DECOMPRESSION\$1FAILED | Falha ao descompactar a mensagem. |  O arquivo enviado está corrompido ou o algoritmo de compactação não é válido.  Reenvie a mensagem e verifique se a compactação ZLIB é usada ou reenvie a mensagem sem a compactação habilitada.  | 
| DECRYPT\$1FAILED | Falha ao descriptografar a mensagem. message-ID Certifique-se de que o parceiro tenha a chave de criptografia pública correta. |  Falha na decodificação. Confirme se o parceiro enviou uma carga usando um certificado válido e se a criptografia foi executada usando um algoritmo de criptografia válido.  | 
| DECRYPT\$1FAILED\$1INVALID\$1SMIME\$1FORMAT | Não é possível analisar o MimePart envelopado. |  A carga MIME está corrompida ou está em um formato SMIME não suportado. O remetente deve certificar-se de que o formato que está usando é compatível e, em seguida, reenviar a carga.  | 
| DECRYPT\$1FAILED\$1NO\$1DECRYPTION\$1KEY\$1FOUND | Nenhuma chave de descriptografia correspondente encontrada. |  O perfil do parceiro não tinha um certificado atribuído que correspondesse à mensagem ou os certificados que correspondiam à mensagem expiraram ou não são mais válidos. Você deve atualizar o perfil do parceiro e garantir que ele contenha um certificado válido.  | 
| DECRYPT\$1FAILED\$1UNSUPPORTED\$1ENCRYPTION\$1ALG | Descriptografia de carga útil SMIME solicitada usando algoritmo não suportado com ID:. encryption-ID |  O remetente remoto enviou uma AS2 carga com um algoritmo de criptografia não suportado. O remetente deve escolher um algoritmo de criptografia compatível com AWS Transfer Family.  | 
| DUPLICATE\$1MESSAGE | Etapa duplicada ou processada duas vezes. |  A carga tem uma etapa de processamento duplicada. Por exemplo, existem duas etapas de criptografia. Reenvie a mensagem com uma única etapa de assinatura, compactação e criptografia.  | 
| ENCRYPT\$1FAILED\$1NO\$1ENCRYPTION\$1KEY\$1FOUND |  Nenhum certificado de criptografia pública válido foi encontrado no perfil: *local-profile-ID*  | O Transfer Family está tentando criptografar uma mensagem de saída, mas nenhum certificado de criptografia foi encontrado para o perfil local.Opções de resolução:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/as2-monitoring.html) | 
| ENCRYPTION\$1FAILED | Falha ao criptografar o arquivofile-name. |  O arquivo a ser enviado não está disponível para criptografia. Verifique se o arquivo está no AS2 local esperado e se AWS Transfer Family tem permissão para ler o arquivo.  | 
| FILE\$1SIZE\$1TOO\$1LARGE | O tamanho do arquivo é muito grande. | Isso ocorre ao enviar ou receber um arquivo que excede o limite de tamanho de arquivo. | 
| HTTP\$1ERROR\$1RESPONSE\$1FROM\$1PARTNER |  *partner-URL*retornou o status 400 para mensagem com ID=*message-ID*.  |  A comunicação com o AS2 servidor do parceiro retornou um código de resposta HTTP inesperado. Talvez o parceiro possa fornecer mais diagnósticos a partir dos registros do AS2 servidor.  | 
| INSUFFICENT\$1MESSAGE\$1SECURITY\$1UNENCRYPTED | A criptografia é necessária. | O parceiro enviou uma mensagem não criptografada para Transfer Family, o que não é suportado. O remetente deve usar uma carga criptografada. | 
| INVALID\$1ENDPOINT\$1PROTOCOL | Somente HTTP e HTTPS são compatíveis. | Você deve especificar HTTP ou HTTPS como protocolo na configuração do AS2 conector. | 
| INVALID\$1REQUEST |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/as2-monitoring.html)  |  Esse erro tem várias causas. As resoluções a seguir correspondem aos erros listados na coluna anterior. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/as2-monitoring.html) | 
| INVALID\$1URL\$1FORMAT | Formato de URL inválido: URL |  Isso ocorre quando você está enviando uma mensagem de saída usando um conector configurado com uma URL incorreta. Certifique-se de que o conector esteja configurado com uma URL HTTP ou HTTPS válida.  | 
| MDN\$1RESPONSE\$1INDICATES\$1AUTHENTICATION\$1FAILED | Não aplicável | O destinatário não consegue autenticar o remetente. O parceiro comercial retorna um MDN para Transfer Family com o [modificador de disposição ](https://datatracker.ietf.org/doc/html/rfc4130#section-7.5.4) Error: authentication-failed. | 
| MDN\$1RESPONSE\$1INDICATES\$1DECOMPRESSION\$1FAILED | Não aplicável | Isso ocorre quando o receptor não consegue descompactar o conteúdo da mensagem. O parceiro comercial retorna um MDN Transfer Family com o [modificador de disposição ](https://datatracker.ietf.org/doc/html/rfc4130#section-7.5.4) Error: authentication-failed. | 
| MDN\$1RESPONSE\$1INDICATES\$1DECRYPTION\$1FAILED | Não aplicável | O destinatário não consegue decifrar o conteúdo da mensagem. O parceiro comercial retorna um MDN para Transfer Family com o [modificador de disposição ](https://datatracker.ietf.org/doc/html/rfc4130#section-7.5.4) Error: authentication-failed. | 
| MDN\$1RESPONSE\$1INDICATES\$1INSUFFICIENT\$1MESSAGE\$1SECURITY | Não aplicável | O destinatário espera que a mensagem seja assinada ou criptografada, mas não está. O parceiro comercial retorna um MDN para Transfer Family com o [modificador de disposição Error](https://datatracker.ietf.org/doc/html/rfc4130#section-7.5.4):. insufficient-message-securityAtive a and/or criptografia de assinatura no conector para atender às expectativas do parceiro comercial. | 
| MDN\$1RESPONSE\$1INDICATES\$1INTEGRITY\$1CHECK\$1FAILED | Não aplicável | O receptor não pode verificar a integridade do conteúdo. O parceiro comercial retorna um MDN para Transfer Family com o [modificador de disposição Error](https://datatracker.ietf.org/doc/html/rfc4130#section-7.5.4):. integrity-check-failed | 
| PATH\$1NOT\$1FOUND |  Não foi possível criar o diretório*file-path*. O caminho principal não pôde ser encontrado.  | A Transfer Family está tentando criar um diretório no bucket Amazon S3 do cliente, mas o bucket não foi encontrado.Certifique-se de que cada caminho mencionado no `StartFileTransfer` comando contenha o nome de um bucket existente. | 
| SEND\$1FILE\$1NOT\$1FOUND | Caminho do arquivo file-path não encontrado. |  O Transfer Family não consegue localizar o arquivo na operação de envio do arquivo. Verifique se o diretório inicial e o caminho configurados são válidos e se o Transfer Family tem permissões de leitura para o arquivo.  | 
| SERVER\$1NOT\$1FOUND | Não foi possível encontrar o servidor associado à mensagem. | A Transfer Family não conseguiu encontrar o servidor ao receber uma mensagem. Isso pode acontecer se o servidor for excluído durante o processamento de uma mensagem recebida. | 
| SERVER\$1NOT\$1ONLINE | O servidor não server-ID está online. | O servidor Transfer Family está off-line.Inicie o servidor para que ele possa receber e processar mensagens. | 
| SIGNING\$1FAILED | Falha ao assinar o arquivo. |  O arquivo a ser enviado não está disponível para assinatura ou a assinatura não pôde ser executada. Verifique se o arquivo está no AS2 local esperado e se AWS Transfer Family tem permissão para ler o arquivo.  | 
| SIGNING\$1FAILED\$1NO\$1SIGNING\$1KEY\$1FOUND | Nenhum certificado encontrado para o perfil:local-profile-ID. | Tentando assinar uma mensagem de saída, mas nenhum certificado de assinatura foi encontrado para o perfil local.Opções de resolução:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/as2-monitoring.html) | 
| UNABLE\$1RESOLVE\$1HOST\$1TO\$1IP\$1ADDRESS | Não foi possível resolver o nome do host para endereços IP. |  O Transfer Family não consegue realizar a resolução de DNS para endereço IP no servidor DNS público que está configurado no AS2 conector. Atualize o conector para apontar para um URL de parceiro válido.  | 
| UNABLE\$1TO\$1CONNECT\$1TO\$1REMOTE\$1HOST\$1OR\$1IP | A conexão com o endpoint atingiu o tempo limite. |  O Transfer Family não pode estabelecer uma conexão de soquete com o AS2 servidor do parceiro configurado. Verifique se o AS2 servidor do parceiro está disponível no endereço IP configurado.  | 
| UNABLE\$1TO\$1RESOLVE\$1HOSTNAME | Não foi possível resolver o nome do hosthostname.  |  O servidor Transfer Family não conseguiu resolver o nome do host do parceiro usando um servidor DNS público. Verifique se o host configurado está registrado e se o registro DNS teve tempo de ser publicado.  | 
| VERIFICATION\$1FAILED | A verificação da assinatura da AS2 mensagem falhou message-ID ou o código MIC não correspondeu. | Verifique se o certificado de assinatura do remetente corresponde aos certificados de assinatura do perfil remoto. Verifique também se os algoritmos MIC são compatíveis com AWS Transfer Family. | 
| VERIFICATION\$1FAILED\$1NO\$1MATCHING\$1KEY\$1FOUND |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/as2-monitoring.html)  | AWS Transfer Family está tentando verificar a assinatura de uma mensagem recebida, mas nenhum certificado de assinatura correspondente foi encontrado para o perfil do parceiro. Opções de resolução:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/as2-monitoring.html) | 

# Monitoramento da expiração do certificado
<a name="certificate-expiry-monitoring"></a>

AWS Transfer Family monitora automaticamente as datas de expiração dos AS2 certificados e publica uma CloudWatch métrica da Amazon para ajudá-lo a rastrear quando os certificados estão prestes a expirar. Isso permite que você gerencie proativamente as renovações de certificados e evite interrupções no serviço.

## DaysUntilExpiry métrica
<a name="daysuntilexpiry-metric"></a>

Quando você importa um certificado para AS2 uso, o Transfer Family cria automaticamente uma CloudWatch métrica chamada`DaysUntilExpiry`. Essa métrica rastreia o número de dias restantes até o certificado expirar com base no `InactiveDate` que você especificou ao importar o certificado.

**Detalhes métricos:**
+ **Nome da métrica:** `DaysUntilExpiry`
+ **Namespace:** `AWS/Transfer`
+ **Dimensões:** `CertificateId` (sempre presentes), `Description` (se fornecidas durante a importação do certificado)
+ **Unidades:** Contagem (dias)
+ **Frequência:** Publicado diariamente

**Importante**  
Após a importação de um certificado, o Transfer Family pode levar até um dia inteiro para emitir essa métrica para sua conta.

O valor da métrica diminui em um a cada dia à medida que o certificado se aproxima da data de inatividade. Por exemplo, se um certificado tiver 30 dias até a expiração, a métrica mostrará 30, 29 no dia seguinte e assim por diante.

## Práticas recomendadas para monitoramento de certificados
<a name="certificate-monitoring-best-practices"></a>

Siga estas melhores práticas ao configurar o monitoramento de expiração de certificados:
+ **Defina vários limites de alerta:** crie alarmes para diferentes períodos de tempo (por exemplo, 30 dias, 14 dias e 7 dias antes da expiração) para fornecer tempo adequado para a renovação do certificado.
+ **Use estatísticas apropriadas:** use a `Maximum` estatística ao criar alarmes para garantir que você capture o valor métrico mais recente.
+ **Configure as ações de alarme adequadas:** configure notificações para alertar os membros apropriados da equipe que podem renovar os certificados.
+ **Teste seus alertas:** teste regularmente seu sistema de notificação para garantir que os alertas sejam entregues corretamente.
+ **Documente seu processo:** mantenha a documentação sobre o processo de renovação do certificado e quem é responsável pelos diferentes certificados.

## Exemplo de configurações de alarme
<a name="certificate-monitoring-examples"></a>

Aqui estão alguns exemplos de configurações de alarme para diferentes cenários de notificação:

### Aviso de expiração de 30 dias
<a name="thirty-day-warning"></a>

Crie um alarme que seja acionado quando um certificado tiver 30 dias ou menos até a expiração:
+ **Métrica:** DaysUntilExpiry
+ **Estatística:** máxima
+ **Período:** 1 dia
+ **Limite: 30**
+ **Comparação:** menor ou igual ao limite
+ **Tratamento de dados perdidos:** trate os dados perdidos da melhor forma (sem violação)

### Aviso crítico de expiração de 7 dias
<a name="critical-warning"></a>

Crie um alarme crítico que será acionado quando um certificado tiver 7 dias ou menos até a expiração:
+ **Métrica:** DaysUntilExpiry
+ **Estatística:** máxima
+ **Período:** 1 dia
+ **Limite: 7**
+ **Comparação:** menor ou igual ao limite
+ **Tratamento de dados perdidos:** trate os dados perdidos da melhor forma (sem violação)