

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

La Dichiarazione di applicabilità 2 (AS2) è una specifica di trasmissione di file definita dalla RFC che include solidi meccanismi di protezione e verifica dei messaggi. La protezione di un AS2 payload in transito utilizza la Cryptographic Message Syntax (CMS) con crittografia e firme digitali per fornire protezione dei dati e autenticazione tra pari. Un payload di risposta MDN (Message Disposition Notice) firmato consente di verificare (non ripudio) che un messaggio sia stato ricevuto e decifrato correttamente.

Il AS2 protocollo è fondamentale per i flussi di lavoro con requisiti di conformità che si basano sull'integrazione di funzionalità di protezione e sicurezza dei dati nel protocollo. AWS Transfer Family AS2 gli endpoint sono [certificati Drummond](https://aws.amazon.com/about-aws/whats-new/2023/06/aws-transfer-family-drummond-group-as2-certification/), il che consente ai clienti di settori come la vendita al dettaglio, le scienze biologiche, la produzione, i servizi finanziari e i servizi di pubblica utilità di effettuare transazioni in sicurezza con i propri partner commerciali.

Quando si utilizza AS2 con Transfer Family, i dati oggetto di transazione sono accessibili in AWS modo nativo per:
+ Elaborazione, analisi e apprendimento automatico
+ Integrazione con i sistemi di pianificazione delle risorse aziendali (ERP)
+ Integrazione con i sistemi di gestione delle relazioni con i clienti (CRM)

Per scambiare file con un partner che dispone di un server AS2 abilitato, è necessario:
+ Genera una coppia di chiavi pubblica-privata per la crittografia
+ Genera una coppia di chiavi pubblica-privata per la firma
+ Scambia le chiavi pubbliche con il tuo partner

**Importante**  
Gli endpoint AS2 del server HTTPS non sono attualmente supportati. L'utente è responsabile della cessazione del TLS.

Transfer Family offre un workshop a cui puoi partecipare, in cui puoi configurare un endpoint Transfer Family con AS2 abilitato e un AS2 connettore Transfer Family. Puoi visualizzare i dettagli di questo workshop [qui](https://catalog.workshops.aws/transfer-family-as2/en-US).

Per step-by-step istruzioni sulla configurazione AS2 in Transfer Family, consulta quanto segue:

1. [Certificati di importazione AS2](managing-as2-partners.md#configure-as2-certificate)

1. [Crea profili AS2](configure-as2-profile.md)

1. [Creare un AS2 server](create-as2-transfer-server.md)

1. [Creare un AS2 accordo](create-as2-transfer-server.md#as2-agreements)

1. [Configura i AS2 connettori](configure-as2-connector.md)

Per un esempio completo, vedi[Impostazione di una configurazione AS2](as2-example-tutorial.md).

**Nota**  
Per mostrare il supporto per i modelli AS2 Terraform, aggiungi una reazione con il pollice in su (👍) alla richiesta di funzionalità dei [modelli Transfer Family Terraform](https://github.com/aws-ia/terraform-aws-transfer-family/issues/62#issue-3364703944). Puoi anche aggiungere un commento che descriva il tuo caso d'uso.

## AS2 casi d'uso
<a name="as2-use-cases"></a>

Se sei un AWS Transfer Family cliente che desidera scambiare file con un partner che dispone di un server AS2 abilitato, la parte più complessa della configurazione prevede la generazione di una coppia di chiavi pubblica-privata per la crittografia e un'altra per la firma e lo scambio delle chiavi pubbliche con il partner.

![\[Diagramma che mostra l'uso di coppie di chiavi pubbliche-private per la crittografia e la firma.\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/as2-architecture-high-level.png)


Considerate le seguenti varianti per l'utilizzo con. AWS Transfer Family AS2

**Nota**  
Il *partner commerciale* è il partner associato a quel profilo di partner.  
*Tutte le menzioni di *MDN* nella tabella seguente si presuppongono firmate.* MDNs


**AS2 casi d'uso**  

|  | 
| --- |
|  Casi d'uso solo in entrata [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/as2-for-transfer-family.html)  | 
|  Casi d'uso solo in uscita [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/as2-for-transfer-family.html)  | 
|  Casi d'uso in entrata e in uscita [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/as2-for-transfer-family.html)  | 

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

Questo argomento fornisce informazioni sui AWS CloudFormation modelli che è possibile utilizzare per distribuire rapidamente AS2 server e configurazioni per. AWS Transfer Family Questi modelli automatizzano il processo di configurazione e aiutano a implementare le migliori pratiche per AS2 il trasferimento di file.
+ Il AS2 modello di base è descritto in [Usa un modello per creare uno AS2 stack Transfer Family dimostrativo](create-as2-transfer-server.md#as2-cfn-demo-template)
+ Il AS2 modello per personalizzare le intestazioni HTTP è descritto in. [Personalizza le intestazioni HTTP per i messaggi AS2](as2-custom-http-headers.md)

### Personalizzazione dei modelli AS2
<a name="as2-template-customization"></a>

Puoi personalizzare i modelli forniti per soddisfare le tue esigenze specifiche:

1. Scarica il modello dall'URL S3.

1. Modifica il codice YAML per regolare configurazioni come:
   + Impostazioni di sicurezza e configurazioni dei certificati
   + Architettura di rete e impostazioni VPC
   + Opzioni di archiviazione e gestione dei file
   + Preferenze di monitoraggio e notifica

1. Carica il modello modificato nel tuo bucket S3.

1. Implementa il modello personalizzato utilizzando la CloudFormation console o. AWS CLI

**Importante**  
Quando personalizzi i modelli, assicurati di mantenere le dipendenze tra le risorse e di seguire le migliori pratiche di sicurezza.

### Verifica della tua implementazione AS2
<a name="as2-template-testing"></a>

Dopo aver distribuito un AS2 server utilizzando un modello, puoi testare la configurazione:

1. Controlla gli output dello CloudFormation stack per esempi di comandi e informazioni sugli endpoint.

1. Usa il AWS CLI per inviare un file di test:

   ```
   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. Verifica la consegna dei file nel bucket S3 di destinazione.

1. Controlla CloudWatch i log per verificare la corretta elaborazione e le risposte MDN.

Per test più completi, prendi in considerazione l'utilizzo di AS2 client di terze parti per inviare file al tuo AS2 server Transfer Family.

### Le migliori pratiche per la distribuzione dei AS2 modelli
<a name="as2-template-best-practices"></a>

Segui queste best practice quando utilizzi AS2 CloudFormation i modelli:

Sicurezza  
Usa certificati robusti e ruotali regolarmente.  
Implementa politiche IAM con privilegi minimi.  
Limita l'accesso alla rete utilizzando gruppi di sicurezza.

Affidabilità  
Implementa su più zone di disponibilità.  
Implementa il monitoraggio e la generazione di avvisi in caso di trasferimenti non riusciti.  
Imposta nuovi tentativi automatici per i trasferimenti non riusciti.

Performance  
Scegli i tipi di istanza appropriati per il tuo volume di trasferimento.  
Implementa le politiche del ciclo di vita di S3 per una gestione efficiente dei file.  
Monitora e ottimizza le configurazioni di rete.

Ottimizzazione dei costi  
Usa l'auto-scaling per carichi di lavoro variabili.  
Implementa le classi di storage S3 per i file più vecchi.  
Monitora e regola le risorse in base all'utilizzo effettivo.

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

Per creare un server AS2 abilitato, è inoltre necessario specificare i seguenti componenti:
+ Accordi: **gli** *accordi* bilaterali con i partner commerciali, o partnership, definiscono la relazione tra le due parti che si scambiano messaggi (file). Per definire un accordo, Transfer Family combina informazioni su server, profilo locale, profilo partner e certificato. I processi Transfer Family AS2 -inbound utilizzano accordi.
+ **Certificati: i certificati** a *chiave pubblica (X.509)* vengono utilizzati nelle AS2 comunicazioni per la crittografia e la verifica dei messaggi. I certificati vengono utilizzati anche per gli endpoint dei connettori.
+ **Profili locali e profili partner**: un *profilo locale* definisce l'organizzazione o il «partito» locale (con server Transfer Family AS2 abilitato). Allo stesso modo, un *profilo partner* definisce l'organizzazione del partner remoto, esterna a Transfer Family.

**Sebbene non sia necessario per tutti i server AS2 abilitati, per i trasferimenti in uscita è necessario un connettore.** Un connettore acquisisce i parametri per una connessione in uscita. Il connettore è necessario per inviare file a un server esterno, non AWS al server, del cliente.

Il diagramma seguente mostra la relazione tra gli AS2 oggetti coinvolti nei processi in entrata e in uscita.

![\[Diagramma che mostra la relazione tra gli AS2 oggetti coinvolti nei processi in entrata e in uscita.\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/as2-architecture-in-out-agree-connect.png)


Per un end-to-end esempio di AS2 configurazione, vedere. [Impostazione di una configurazione AS2](as2-example-tutorial.md)

**Topics**
+ [AS2 configurazioni](#as2-supported-configurations)
+ [AS2 quote e limitazioni](#as2-limitations)
+ [AS2 caratteristiche e funzionalità](#as2-capabilities)

## AS2 configurazioni
<a name="as2-supported-configurations"></a>

Questo argomento descrive le configurazioni, le caratteristiche e le funzionalità supportate per i trasferimenti che utilizzano il protocollo Applicability Statement 2 (AS2), inclusi i codici e i digest accettati.

**Firma, crittografia, compressione, MDN**

Sia per i trasferimenti in entrata che per quelli in uscita, i seguenti elementi sono obbligatori o facoltativi:
+ **Crittografia**: obbligatoria (per il trasporto HTTP, che è l'unico metodo di trasporto attualmente supportato). I messaggi non crittografati vengono accettati solo se inoltrati da un proxy con terminazione TLS come un Application Load Balancer (ALB) e l'intestazione è presente. `X-Forwarded-Proto: https`
+ **Firma: facoltativa**
+ **Compressione**: opzionale (l'unico algoritmo di compressione attualmente supportato è ZLIB)
+ **Avviso di disposizione dei messaggi (MDN**): opzionale

**Cifre**

I seguenti codici sono supportati sia per i trasferimenti in entrata che in uscita:
+ AES128\$1CBC
+ AES192\$1CBC
+ AES256\$1CBC
+ 3DES (solo per compatibilità con le versioni precedenti)

**Digerisce**

Sono supportati i seguenti digest:
+ **Firma in entrata e MDN** — SHA1,,, SHA256 SHA384 SHA512
+ **Firma in uscita e MDN** —,,, SHA1 SHA256 SHA384 SHA512

**MDN**

Per le risposte MDN, sono supportati alcuni tipi, come segue: 
+ **Trasferimenti in entrata**: sincroni e asincroni
+ **Trasferimenti in uscita: solo sincroni**
+ **Simple Mail Transfer Protocol (SMTP) (email MDN**) — Non supportato

**Trasporti**
+ **Trasferimenti in entrata**: HTTP è l'unico trasporto attualmente supportato ed è necessario specificarlo in modo esplicito.
**Nota**  
Se devi utilizzare HTTPS per i trasferimenti in entrata, puoi terminare TLS su un Application Load Balancer o un Network Load Balancer. Questa procedura è descritta in [Ricevi AS2 messaggi tramite HTTPS](send-as2-messages.md#receive-https).
+ **Trasferimenti in uscita**: se fornisci un URL HTTP, devi specificare anche un algoritmo di crittografia. Se fornisci un URL HTTPS, hai la possibilità di specificare **NONE** per il tuo algoritmo di crittografia.

## AS2 quote e limitazioni
<a name="as2-limitations"></a>

Questa sezione illustra le quote e le limitazioni per AS2

**Topics**
+ [AS2 quote](#as2-quotas)
+ [Quote per la gestione dei segreti](#as2-quotas-secrets)
+ [Limiti noti](#as2-known-limitations)

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

Le seguenti quote sono valide per i trasferimenti di AS2 file. Per richiedere un aumento di una quota regolabile, consulta le [Servizio AWS quote](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) nel. *Riferimenti generali di AWS*


**AS2 quote**  

| Name | Predefinita | Adattabile | 
| --- | --- | --- | 
| Numero massimo di file per richiesta in uscita | 10 | No | 
| Numero massimo di richieste in uscita al secondo | 100 | No | 
| Numero massimo di richieste in entrata al secondo | 100 | No | 
| Larghezza di banda massima in uscita per account (SFTP e AS2 richieste in uscita contribuiscono entrambi a questo valore) | 50 MB al secondo | No | 

### Quote per la gestione dei segreti
<a name="as2-quotas-secrets"></a>

AWS Transfer Family effettua chiamate per Gestione dei segreti AWS conto dei AS2 clienti che utilizzano l'autenticazione di base. Inoltre Secrets Manager effettua chiamate a AWS KMS.

**Nota**  
Queste quote non sono specifiche per l'uso dei segreti per Transfer Family: sono condivise tra tutti i servizi di Transfer Family. Account AWS

Per Secrets Manager`GetSecretValue`, la quota che si applica è la **frequenza combinata delle richieste DescribeSecret e delle GetSecretValue API**, come descritto in [Gestione dei segreti AWS quote](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_limits.html#quotas).


**Secrets Manager `GetSecretValue`**  

| Name | Valore | Description | 
| --- | --- | --- | 
| Frequenza combinata di richieste GetSecretValue API DescribeSecret e frequenza | Ogni regione supportata: 10.000 al secondo | Il numero massimo di transazioni al secondo DescribeSecret e le operazioni GetSecretValue API combinate. | 

Infatti AWS KMS, si applicano le seguenti quote. `Decrypt` Per i dettagli, consulta [Richiedere quote per ogni operazione API AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/requests-per-second.html#rps-table)


**AWS KMS `Decrypt`**  

| Nome quota | Valore predefinito (richieste al secondo) | 
| --- | --- | 
|  Frequenza della richiesta di operazioni crittografiche (simmetriche)  |  Queste quote condivise variano in base al tipo Regione AWS e al tipo di AWS KMS chiave utilizzata nella richiesta. Ogni quota è calcolata separatamente. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/create-b2b-server.html)  | 
|  Quote di richiesta per l'archivio delle chiavi personalizzate  Questa quota si applica solo se si utilizza un archivio di chiavi esterno.   |  Le quote di richieste di archiviazione chiavi personalizzate vengono calcolate separatamente per ogni archivio chiavi personalizzato. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/create-b2b-server.html)  | 

### Limiti noti
<a name="as2-known-limitations"></a>
+ Il keep-alive TCP sul lato server non è supportato. La connessione scade dopo 350 secondi di inattività, a meno che il client non invii pacchetti keep-alive.
+ Affinché un contratto attivo venga accettato dal servizio e venga visualizzato nei CloudWatch log di Amazon, i messaggi devono contenere AS2 intestazioni valide.
+ [Il server da AWS Transfer Family cui riceve i messaggi AS2 deve supportare l'attributo di protezione dell'algoritmo Cryptographic Message Syntax (CMS) per la convalida delle firme dei messaggi, come definito nella RFC 6211.](https://datatracker.ietf.org/doc/html/rfc6211) Questo attributo non è supportato in alcuni prodotti IBM Sterling precedenti.
+ Un messaggio duplicato IDs genera un messaggio elaborato/avviso: documento duplicato.
+ La lunghezza della chiave per i AS2 certificati deve essere di almeno 2048 bit e al massimo di 4096.
+ Quando si inviano AS2 messaggi o in modo asincrono MDNs all'endpoint HTTPS di un partner commerciale, i messaggi MDNs devono utilizzare un certificato SSL valido firmato da un'autorità di certificazione (CA) pubblicamente affidabile. I certificati autofirmati sono attualmente supportati solo per i trasferimenti in uscita. 
+ L'endpoint deve supportare il protocollo TLS versione 1.2 e un algoritmo crittografico consentito dalla politica di sicurezza (come descritto in). [Politiche di sicurezza per i server AWS Transfer Family](security-policies.md)
+ Al momento non sono supportati più allegati e messaggi di scambio di certificati (CEM) della AS2 versione 1.2.
+ L'autenticazione di base è attualmente supportata solo per i messaggi in uscita.
+ È possibile collegare un flusso di lavoro di elaborazione file a un server Transfer Family che utilizza il AS2 protocollo: tuttavia, AS2 i messaggi non eseguono flussi di lavoro collegati al server. 

## AS2 caratteristiche e funzionalità
<a name="as2-capabilities"></a>

Le tabelle seguenti elencano le caratteristiche e le funzionalità disponibili per le risorse Transfer Family che utilizzano AS2.

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

Transfer Family offre le seguenti funzionalità per AS2.


| Funzionalità | Supportato da AWS Transfer Family | 
| --- |--- |
|  [Certificazione Drummond](https://aws.amazon.com/about-aws/whats-new/2023/06/aws-transfer-family-drummond-group-as2-certification/) | Sì | 
| [AWS CloudFormation supporto](https://docs.aws.amazon.com/transfer/latest/userguide/as2-cfn-demo-template.html)  | Sì | 
| [ CloudWatchMetriche Amazon](https://docs.aws.amazon.com/transfer/latest/userguide/as2-monitoring.html) | Sì | 
| [Algoritmi crittografici SHA-2](https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html#cryptographic-algorithms) | Sì | 
| Supporto per Amazon S3 | Sì | 
| Support per Amazon EFS | No | 
| Messaggi pianificati | Sì 1 | 
| AWS Transfer Family Flussi di lavoro gestiti | No | 
| Messaggistica per lo scambio di certificati (CEM) | No | 
| TLS reciproco (mTLS) | No | 
| Support per certificati autofirmati | Sì | 

1. Messaggi pianificati in uscita disponibili tramite [AWS Lambda le funzioni di pianificazione](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-run-lambda-schedule.html) tramite Amazon EventBridge

### AS2 funzionalità di invio e ricezione
<a name="as2-capabilities"></a>

La tabella seguente fornisce un elenco delle funzionalità di AWS Transfer Family AS2 invio e ricezione.


| Funzionalità | In entrata: ricezione tramite server | In uscita: invio con connettore | 
| --- |--- |--- |
| [Trasporto crittografato TLS (HTTPS)](send-as2-messages.md#as2-https-process) | Sì 1 | Sì | 
| Trasporto non TLS (HTTP) | Sì |  Sì 2  | 
| MDN sincrono | Sì  | Sì | 
| Compressione dei messaggi | Sì  | Sì | 
| MDN asincrono | Sì | No | 
| Indirizzo IP statico | Sì  | Sì | 
| Porta il tuo indirizzo IP | Sì | No | 
| Più file allegati | No | No | 
| Autenticazione di base | No | Sì | 
| AS2 Riavvia | Non applicabile | No | 
| AS2 Affidabilità | No | No | 
| Oggetto personalizzato per messaggio | Non applicabile | No | 

1. Trasporto crittografato TLS in entrata disponibile con Network Load Balancer (NLB) o Application Load Balancer (ALB)

2. Trasporto non TLS in uscita disponibile solo quando la crittografia è abilitata

# Gestisci AS2 i certificati
<a name="managing-as2-partners"></a>

In questo argomento viene descritto come importare e gestire i AS2 certificati. L'importazione di certificati è il primo passo nel AS2 processo di Transfer Family.

1. Importazione di certificati 

1. [Crea profili AS2](configure-as2-profile.md)

1. [Creare un AS2 server](create-as2-transfer-server.md) 

1. [Creare un AS2 accordo](create-as2-transfer-server.md#as2-agreements)

1. [Configura i AS2 connettori](configure-as2-connector.md)

## Certificati di importazione AS2
<a name="configure-as2-certificate"></a>

Il AS2 processo Transfer Family utilizza chiavi di certificato sia per la crittografia che per la firma delle informazioni trasferite. I partner possono utilizzare la stessa chiave per entrambi gli scopi o una chiave separata per ciascuno. Se disponi di chiavi di crittografia comuni conservate in deposito da una terza parte affidabile in modo che i dati possano essere decrittografati in caso di emergenza o violazione della sicurezza, ti consigliamo di disporre di chiavi di firma separate. Utilizzando chiavi di firma separate (che non vengono affidate a garanzia), non compromettete le funzionalità di non ripudio delle vostre firme digitali.

**Nota**  
La lunghezza della chiave per AS2 i certificati deve essere di almeno 2048 bit e al massimo di 4096.

I seguenti punti descrivono in dettaglio come vengono utilizzati AS2 i certificati durante il processo.
+ In entrata AS2
  + Il partner commerciale invia la propria chiave pubblica per il certificato di firma e questa chiave viene importata nel profilo del partner.
  + La parte locale invia la chiave pubblica per i certificati di crittografia e firma. Il partner importa quindi la chiave o le chiavi private. La parte locale può inviare chiavi di certificato separate per la firma e la crittografia oppure può scegliere di utilizzare la stessa chiave per entrambi gli scopi.
+ In uscita AS2
  + Il partner invia la chiave pubblica per il proprio certificato di crittografia e questa chiave viene importata nel profilo del partner.
  + La parte locale invia la chiave pubblica per il certificato da firmare e importa la chiave privata del certificato per la firma.
  + Se utilizzi HTTPS, puoi importare un certificato Transport Layer Security (TLS) autofirmato.

Per informazioni dettagliate su come creare certificati, consulta. [Fase 1: Creare certificati per AS2](as2-example-tutorial.md#as2-create-certs)

Questa procedura spiega come importare i certificati utilizzando la console Transfer Family. Se AWS CLI invece desideri utilizzare la, consulta[Fase 2: Importazione dei certificati come risorse di certificati Transfer Family](as2-example-tutorial.md#as2-import-certs-example).

**Per specificare un certificato AS2 abilitato**

1. Apri la AWS Transfer Family console all'indirizzo [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/). 

1. Nel riquadro di navigazione a sinistra, in **Partner AS2 commerciali**, scegli **Certificati**.

1. Selezionare **Import certificate (Importa certificato)**.

1. Nella sezione **Configurazione del certificato**, in **Descrizione del certificato**, inserisci un nome facilmente identificabile per il certificato. Assicurati di poter identificare lo scopo del certificato tramite la sua descrizione. Inoltre, scegli il ruolo per il certificato. 

1. Nella sezione **Utilizzo del certificato**, scegli lo scopo di questo certificato. Può essere usato per la crittografia, la firma o entrambi.

   **Suggerimento:** se scegli **Crittografia e firma** per l'utilizzo, Transfer Family crea due certificati identici (ognuno con il proprio ID): uno con un valore d'uso di `ENCRYPTION` e uno con un valore di utilizzo di`SIGNING`.

1. Nella sezione **Contenuto del certificato**, fornisci un certificato pubblico rilasciato da un partner commerciale o le chiavi pubbliche e private per un certificato locale.

   Compila la sezione **Contenuto del certificato** con i dettagli appropriati.
   + Se scegli **Certificato autofirmato**, non fornisci la catena di certificati.
   + Incolla il testo del certificato e la relativa catena nel campo **Certificato e catena di certificati**.
   + Se questo certificato è un certificato locale, incollane la chiave privata.

1. Scegli **Importa certificato** per completare il processo e salvare i dettagli del certificato importato.

**Nota**  
I certificati TLS possono essere importati solo come certificato pubblico del partner. Se si seleziona **Certificato pubblico di un partner** e quindi si seleziona **Transport Layer Security (TLS)** per l'utilizzo, viene visualizzato un avviso. Inoltre, i certificati TLS devono essere autofirmati (ovvero, è necessario selezionare Certificato **autofirmato per importare un certificato** TLS).

## AS2 rotazione dei certificati
<a name="as2-certificate-rotation"></a>

Spesso i certificati sono validi per un periodo da sei mesi a un anno. È possibile che tu abbia impostato profili che desideri mantenere per un periodo più lungo. Per facilitare ciò, Transfer Family offre la rotazione dei certificati. È possibile specificare più certificati per un profilo, in modo da continuare a utilizzare il profilo per più anni. Transfer Family utilizza i certificati per la firma (opzionale) e la crittografia (obbligatoria). Se lo desideri, puoi specificare un singolo certificato per entrambi gli scopi.

La rotazione dei certificati è il processo di sostituzione di un vecchio certificato in scadenza con un certificato più recente. La transizione è graduale per evitare di interrompere i trasferimenti, laddove un partner dell'accordo non abbia ancora configurato un nuovo certificato per i trasferimenti in uscita o stia inviando payload firmati o crittografati con un vecchio certificato in un periodo in cui potrebbe essere in uso anche un certificato più recente. *Il periodo intermedio in cui sono validi sia i vecchi che i nuovi certificati viene definito periodo di grazia.*

I certificati X.509 hanno `Not Before` e date. `Not After` Tuttavia, questi parametri potrebbero non fornire un controllo sufficiente per gli amministratori. Transfer Family fornisce `Active Date` `Inactive Date` impostazioni per controllare quale certificato viene utilizzato per i payload in uscita e quale è accettato per i payload in entrata.

### Monitoraggio della scadenza dei certificati
<a name="as2-certificate-expiry-monitoring"></a>

Transfer Family pubblica una CloudWatch metrica Amazon `DaysUntilExpiry` dopo l'importazione di un certificato. La metrica indica il numero di giorni tra la data corrente e la data specificata nel certificato. `InactiveDate` La metrica si trova nello spazio dei `Transfer` AWS nomi nella dashboard delle metriche. CloudWatch

Questa metrica avrà sempre una dimensione metrica **CertificateId**e facoltativamente includerà una dimensione **Descrizione**, se fornita dal cliente nel certificato. *Per ulteriori informazioni sulle dimensioni CloudWatch metriche, consulta [Dimension](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Dimension.html) nel riferimento API. CloudWatch *

**Nota**  
Può essere necessario fino a un giorno intero dopo l'importazione di un Certificate for Transfer Family per emettere questa metrica sull'account del cliente.

Puoi utilizzare questa metrica per creare CloudWatch allarmi che ti avvisano quando i certificati stanno per scadere.

La selezione dei certificati in uscita utilizza il valore massimo precedente alla data del trasferimento come. `Inactive Date` I processi in entrata accettano certificati nell'intervallo di `Not Before` e `Not After` e nell'intervallo di `Active Date` e. `Inactive Date`

### Esempio di rotazione dei certificati
<a name="as2-cert-rotate-example"></a>

La tabella seguente descrive un modo possibile per configurare due certificati per un singolo profilo.


**Due certificati a rotazione**  

| Name | NOT BEFORE(controllato dall'autorità di certificazione) | ACTIVE DATE(impostato da Transfer Family) | INACTIVE DATE(impostato da Transfer Family) | NOT AFTER(impostato dall'autorità di certificazione) | 
| --- | --- | --- | --- | --- | 
| Cert1 (certificato precedente) | 2019-11-01 | 2020-01-01 | 2020-12-31 | 2024-01-01 | 
| Cert2 (certificato più recente) | 2020-11-01 | 2020-06-01 | 2021-06-01 | 2025-01-01 | 

 Tenere presente quanto segue: 
+ Quando si specifica un `Active Date` e `Inactive Date` per un certificato, l'intervallo deve essere compreso tra e. `Not Before` `Not After`
+ Ti consigliamo di configurare diversi certificati per ogni profilo, assicurandoti che l'intervallo di date attivo per tutti i certificati combinati copra il periodo di tempo per il quale desideri utilizzare il profilo.
+ Ti consigliamo di specificare un periodo di tolleranza tra il momento in cui il certificato precedente diventa inattivo e il momento in cui il certificato più recente diventa attivo. Nell'esempio precedente, il primo certificato non diventa inattivo fino al 31/12/2020, mentre il secondo certificato diventa attivo il 01/06/2020, garantendo un periodo di grazia di 6 mesi. Nel periodo dal 01/06/2020 al 31/12/2020, entrambi i certificati sono attivi.

# Crea profili AS2
<a name="configure-as2-profile"></a>

In questo argomento viene descritto come creare profili da utilizzare nel AS2 processo. Un *profilo locale* definisce l'organizzazione o il «partito» locale (con server Transfer Family AS2 abilitato). Allo stesso modo, un *profilo partner* definisce l'organizzazione del partner remoto, esterna a Transfer Family.

1. [Certificati di importazione AS2](managing-as2-partners.md#configure-as2-certificate)

1. Crea AS2 profili

1. [Creare un AS2 server](create-as2-transfer-server.md) 

1. [Creare un AS2 accordo](create-as2-transfer-server.md#as2-agreements)

1. [Configura i AS2 connettori](configure-as2-connector.md)

Utilizzate questa procedura per creare profili locali e di partner. Questa procedura spiega come creare AS2 profili utilizzando la console Transfer Family. Se AWS CLI invece desideri utilizzare la, consulta[Fase 3: Crea profili per te e il tuo partner commerciale](as2-example-tutorial.md#as2-create-profiles-example).

**Per creare un AS2 profilo**

1. Apri la AWS Transfer Family console all'indirizzo [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Nel riquadro di navigazione a sinistra, in **Partner AS2 commerciali**, scegli **Profili**, quindi scegli **Crea profilo**.

1. Nella sezione **Configurazione del profilo**, inserisci l' AS2 ID per il profilo. Questo valore viene utilizzato per le intestazioni HTTP AS2 specifiche del protocollo `as2-from` e `as2-to` per identificare la partnership commerciale, che determina i certificati da utilizzare e così via.

1. **Nella sezione **Tipo di profilo**, scegli **Profilo locale o Profilo partner**.**

1. Nella sezione **Certificati**, scegli uno o più certificati dal menu a discesa.

   **Suggerimento:** se desideri importare un certificato che non è elencato nel menu a discesa, seleziona **Importa un nuovo** certificato. Si apre una nuova finestra del browser nella schermata **Importa certificato**. Per la procedura relativa all'importazione dei certificati, vedere[Certificati di importazione AS2](managing-as2-partners.md#configure-as2-certificate).

1. (Facoltativo) Nella sezione **Tag**, specificate una o più coppie chiave-valore per identificare questo profilo.

1. Scegli **Crea profilo** per completare il processo e salvare il nuovo profilo.

# Creare un AS2 server
<a name="create-as2-transfer-server"></a>

Questo argomento fornisce istruzioni per creare un server Transfer Family AS2 abilitato, utilizzando la console o un CloudFormation modello. Per un end-to-end esempio di AS2 configurazione, vedi[Impostazione di una configurazione AS2](as2-example-tutorial.md). Dopo aver creato un AS2 server, è possibile aggiungere un accordo al server. 

1. [Certificati di importazione AS2](managing-as2-partners.md#configure-as2-certificate)

1. [Crea profili AS2](configure-as2-profile.md)

1. Creare un AS2 server

1. [Creare un AS2 accordo](#as2-agreements)

1. [Configura i AS2 connettori](configure-as2-connector.md)

**Topics**
+ [Creare un AS2 server utilizzando la console Transfer Family](#create-server-as2-console)
+ [Usa un modello per creare uno AS2 stack Transfer Family dimostrativo](#as2-cfn-demo-template)
+ [Creare un AS2 accordo](#as2-agreements)

## Creare un AS2 server utilizzando la console Transfer Family
<a name="create-server-as2-console"></a>

Questa procedura spiega come creare un server AS2 abilitato utilizzando la console Transfer Family. Se AWS CLI invece desideri utilizzare il, consulta[Fase 4: Creare un server Transfer Family che utilizzi il AS2 protocollo](as2-example-tutorial.md#as2-example-server).

**Nota**  
È possibile collegare un flusso di lavoro di elaborazione file a un server Transfer Family che utilizza il AS2 protocollo: tuttavia, AS2 i messaggi non eseguono flussi di lavoro collegati al server. 

**Per creare un server abilitato AS2**

1. Apri la AWS Transfer Family console all'indirizzo [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Nel riquadro di navigazione a sinistra, scegli **Server**, quindi scegli **Crea server**.

1. Nella pagina **Scegli i protocolli**, seleziona **AS2(Dichiarazione di applicabilità 2)**, quindi scegli **Avanti**.

1. Nella pagina **Scegli un provider di identità**, scegli **Avanti**.
**Nota**  
Infatti AS2, non puoi scegliere un provider di identità perché l'autenticazione di base non è supportata per il AS2 protocollo. Al contrario, puoi controllare l'accesso tramite gruppi di sicurezza del cloud privato virtuale (VPC).

1. Nella pagina **Scegli un endpoint**, procedi come segue:  
![\[Schermata della console che mostra la pagina Scegli un endpoint con VPC ospitato selezionato.\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/create-server-choose-endpoint-vpc-internal.png)

   1. Per il **tipo di endpoint**, scegli **VPC** ospitato per ospitare l'endpoint del tuo server. Per informazioni sulla configurazione dell'endpoint ospitato da VPC, consulta. [Crea un server in un cloud privato virtuale](create-server-in-vpc.md)
**Nota**  
Gli endpoint accessibili al pubblico non sono supportati per il protocollo. AS2 Per rendere il tuo endpoint VPC accessibile su Internet, scegli **Internet Facing** in **Access**, quindi fornisci i tuoi indirizzi IP elastici. 

   1. Per **Access**, scegli una delle seguenti opzioni:
      + **Interno**: scegli questa opzione per fornire l'accesso dall'interno dei tuoi ambienti VPC e connessi a VPC, come un data center locale tramite VPN. Direct Connect 
      + **Connessione Internet**: scegli questa opzione per fornire l'accesso tramite Internet e dall'interno dei tuoi ambienti VPC e connessi a VPC, come un data center locale o una VPN. Direct Connect 

        Se scegli **Internet Facing**, fornisci i tuoi indirizzi IP elastici quando richiesto.

   1. Per **VPC**, scegli un VPC esistente o scegli Crea VPC per creare un **nuovo VPC**.

   1. Per **FIPS Enabled**, mantieni deselezionata la casella di controllo **FIPS** Enabled endpoint.
**Nota**  
Gli endpoint compatibili con FIPS non sono supportati per il protocollo. AS2

   1. Scegli **Next (Successivo)**.

1. Nella pagina **Scegli un dominio**, scegli **Amazon S3** per archiviare e accedere ai tuoi file come oggetti utilizzando il protocollo selezionato.

   Scegli **Next (Successivo)**.

1. Nella pagina **Configura dettagli aggiuntivi**, scegli le impostazioni di cui hai bisogno.
**Nota**  
Se state configurando anche altri protocolli AS2, verranno applicate tutte le impostazioni di dettaglio aggiuntive. Tuttavia, per il AS2 protocollo, le uniche impostazioni applicabili sono quelle nelle sezioni di **CloudWatch registrazione** e **Tag**.  
Anche se l'impostazione di un ruolo CloudWatch di registrazione è facoltativa, consigliamo vivamente di configurarla in modo da poter visualizzare lo stato dei messaggi e risolvere i problemi di configurazione.

1. Nella pagina **Rivedi e crea**, rivedi le tue scelte per assicurarti che siano corrette.
   + Se desideri modificare una qualsiasi delle tue impostazioni, scegli **Modifica** accanto al passaggio che desideri modificare.
**Nota**  
Se modifichi un passaggio, ti consigliamo di rivedere ogni passaggio successivo a quello che hai scelto di modificare.
   + Se non hai apportato modifiche, scegli **Crea server** per creare il tuo server. Viene visualizzata la pagina **Servers (Server)**, mostrata di seguito, in cui è elencato il nuovo server.

     Possono essere necessari alcuni minuti prima che lo stato del nuovo server passi a **Online**. A questo punto, il server può eseguire operazioni sui file per gli utenti.

## Usa un modello per creare uno AS2 stack Transfer Family dimostrativo
<a name="as2-cfn-demo-template"></a>

Forniamo un CloudFormation modello autonomo per creare rapidamente un server Transfer Family AS2 abilitato. Il modello configura il server con un endpoint Amazon VPC pubblico, certificati, profili locali e partner, un accordo e un connettore.

Il modello di AS2 server di base crea le seguenti risorse:
+ Un server Transfer Family AS2 abilitato con un endpoint VPC
+ Profili locali e partner con certificati AS2 
+ Un accordo tra i profili
+ Un bucket Amazon S3 per lo storage di file
+ Ruoli e politiche IAM richiesti
+ CloudWatch configurazione di registrazione

 Prima di utilizzare questo modello, tenete presente quanto segue:
+ Se crei uno stack da questo modello, ti verranno fatturate le AWS risorse utilizzate.
+ Il modello crea più certificati e li inserisce Gestione dei segreti AWS per archiviarli in modo sicuro. Puoi eliminare questi certificati da Secrets Manager se lo desideri, perché l'utilizzo di questo servizio ti viene addebitato. L'eliminazione di questi certificati in Secrets Manager non li elimina dal server Transfer Family. Pertanto, la funzionalità dello stack demo non è influenzata. Tuttavia, per i certificati che utilizzerai con un AS2 server di produzione, potresti voler utilizzare Secrets Manager per gestire e ruotare periodicamente i certificati archiviati.
+ Ti consigliamo di utilizzare il modello solo come base e principalmente a scopo dimostrativo. Se desideri utilizzare questo stack dimostrativo in produzione, ti consigliamo di modificare il codice YAML del modello per creare uno stack più robusto. Ad esempio, create certificati a livello di produzione e create una AWS Lambda funzione da utilizzare in produzione.

**Per creare un server Transfer Family AS2 abilitato a partire da un modello CloudFormation**

1. Apri la CloudFormation console in [https://console.aws.amazon.com/cloudformation.](https://console.aws.amazon.com/cloudformation/)

1. Nel riquadro di navigazione a sinistra, selezionare **Stacks (Stack)**.

1. Scegliere **Create stack (Crea stack)**, quindi scegliere **Con nuove risorse (standard).** 

1. Nella sezione **Prerequisito: prepara il modello**, scegli **Scegli** un modello esistente. 

1. Copia questo link, [modello AS2 demo](https://s3.amazonaws.com/aws-transfer-resources/as2-templates/aws-transfer-as2-basic.template.yml), e incollalo nel campo **URL di Amazon S3**. 

1. Scegli **Next (Successivo)**. 

1. Nella pagina **Specificare i dettagli dello stack**, assegna un nome allo stack, quindi specifica i seguenti parametri: 
   + In **AS2**, inserisci i valori per **Local AS2 ID** e **Partner AS2 ID** oppure accetta i valori predefiniti e, `local` rispettivamente. `partner` 
   + In **Rete**, inserite un valore per **Security group ingress CIDR IP** o accettate quello predefinito,. `0.0.0.0/0` 
**Nota**  
Questo valore, in formato CIDR, specifica quali indirizzi IP sono consentiti per il traffico in entrata verso il server. AS2 Il valore predefinito,`0.0.0.0/0`, consente tutti gli indirizzi IP.
   + In **Generale**, immettete un valore per **Prefisso** o accettate quello predefinito,`transfer-as2`. Questo prefisso viene inserito prima dei nomi di risorse creati dallo stack. Ad esempio, se utilizzi il prefisso predefinito, il tuo bucket Amazon S3 viene denominato. `transfer-as2-amzn-s3-demo-bucket` 

1. Scegli **Next (Successivo)**. **Nella pagina **Configura le opzioni dello stack**, scegli di nuovo Avanti.** 

1. Controlla i dettagli dello stack che stai creando, quindi scegli **Crea** stack. 
**Nota**  
Nella parte inferiore della pagina, in **Capacità**, devi riconoscere che CloudFormation potrebbe creare risorse AWS Identity and Access Management (IAM). 

Dopo aver creato lo stack, puoi inviare un AS2 messaggio di prova dal server partner al tuo server Transfer Family locale utilizzando AWS Command Line Interface (AWS CLI). Un AWS CLI comando di esempio per l'invio di un messaggio di prova viene creato insieme a tutte le altre risorse dello stack. 

**Per utilizzare questo comando di esempio, vai alla scheda **Outputs** dello stack e copia 2Command. TransferExampleAs** È quindi possibile eseguire il comando utilizzando. AWS CLI Se non l'hai già installato AWS CLI, consulta [Installazione o aggiornamento della versione più recente di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*. 

Il comando di esempio ha il seguente formato:

```
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**  
La versione in uso di questo comando contiene i valori effettivi `TransferConnectorId` delle risorse `amzn-s3-demo-bucket` e dello stack.

Questo comando di esempio è costituito da due comandi separati concatenati utilizzando la `&&` stringa. 

Il primo comando crea un nuovo file di testo vuoto nel bucket:

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

Quindi, il secondo comando utilizza il connettore per inviare il file dal profilo partner al profilo locale. Il server Transfer Family dispone di un accordo che consente al profilo locale di accettare messaggi dal profilo partner.

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

Dopo aver eseguito il comando, puoi accedere al tuo bucket Amazon S3 (`amzn-s3-demo-bucket`) e visualizzarne il contenuto. Se il comando ha esito positivo, dovresti vedere i seguenti oggetti nel tuo bucket:
+ `processed/`— Questa cartella contiene un file JSON che descrive il file trasferito e la risposta MDN.
+ `processing/`— Questa cartella contiene temporaneamente i file durante l'elaborazione, ma una volta completato il trasferimento, questa cartella dovrebbe essere vuota.
+ `server-id/`— Questa cartella è denominata in base all'ID del server Transfer Family. Contiene `from-partner` (questa cartella ha un nome dinamico, in base all' AS2 ID del partner), che a sua volta contiene `failed/``processed/`, e `processing/` cartelle. La `/server-id/from-partner/processed/` cartella contiene una copia del file di testo trasferito e i corrispondenti file JSON e MDN.
+ `test.txt`— Questo oggetto è il file (vuoto) che è stato trasferito.

## Creare un AS2 accordo
<a name="as2-agreements"></a>

Gli accordi sono associati ai server Transfer Family. Specificano i dettagli per i partner commerciali che utilizzano il AS2 protocollo per scambiare messaggi o file utilizzando Transfer Family, per i trasferimenti in *entrata*, ovvero l'invio di AS2 file da una fonte esterna di proprietà del partner a un server Transfer Family.

Questa procedura spiega come creare AS2 accordi utilizzando la console Transfer Family. Se AWS CLI invece desideri utilizzare la, consulta[Fase 5: Crea un accordo tra te e il tuo partner](as2-example-tutorial.md#as2-create-agreement-example).

**Per creare un contratto per un server Transfer Family**

1. Apri la AWS Transfer Family console all'indirizzo [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Nel riquadro di navigazione a sinistra, scegli **Server**, quindi scegli un server che utilizza il AS2 protocollo.

   In alternativa, purché disponga di almeno un server Transfer Family che utilizza il AS2 protocollo, seleziona **Accordi per ricevere messaggi** dal menu **AS2 Trading Partners**. Quindi, nella schermata **Crea accordo**, seleziona il AS2 server a cui desideri associare questo accordo.

1. Nella pagina dei dettagli del server, scorri verso il basso fino alla sezione **Accordi**.

1. Scegli **Aggiungi accordo**.

1. Compila i parametri dell'accordo, come segue:

   1. Nella sezione **Configurazione dell'accordo**, inserisci un nome descrittivo. Assicurati di poter identificare lo scopo dell'accordo tramite il nome. Inoltre, imposta lo **stato** dell'accordo: **Attivo** (selezionato per impostazione predefinita) o **Inattivo**.

   1. Nella sezione **Configurazione della comunicazione**, scegli un profilo locale e un profilo partner. Inoltre, scegli se applicare o meno la firma dei messaggi.
      + Per impostazione predefinita, **Enforce message signature** è abilitata, il che significa che Transfer Family rifiuta i messaggi non firmati del tuo partner commerciale per questo contratto.
      + Deseleziona questa impostazione per consentire a Transfer Family di accettare messaggi non firmati dal tuo partner commerciale per questo contratto.

   1. Nella sezione **Configurazione della directory di posta** in arrivo, fornisci le seguenti informazioni.
      + Determina se selezionare o meno **Specificare directory separate per archiviare AS2 i messaggi, i file MDN e i file di stato JSON**.
        + Se si seleziona questa opzione, si specificano posizioni separate per i file di payload, i file non riusciti, i file MDN, i file di stato e i file temporanei.
        + Se si deseleziona questa opzione, tutti AS2 i file vengono inseriti nella posizione specificata per la directory di base.
      + Per **S3 Bucket, scegli un bucket** Amazon S3.
      + Per **Prefix**, puoi inserire un prefisso (cartella) da utilizzare per archiviare i file nel bucket.

        Ad esempio, se inserisci **amzn-s3-demo-bucket** il tuo bucket e **incoming** il tuo prefisso, AS2 i file vengono salvati nella cartella. `/amzn-s3-demo-bucket/incoming`
      + Per **AWS IAM Role**, scegli un ruolo che possa accedere al bucket specificato.
      + Per **Preserve filename, scegli se conservare** i nomi di file originali per i payload dei messaggi in arrivo. AS2 
        + Se selezioni questa impostazione, il nome del file fornito dal tuo partner commerciale viene mantenuto quando il file viene salvato in Amazon S3.
        + Se si deseleziona questa impostazione, quando Transfer Family salva il file, il nome del file viene modificato, come descritto in. [Nomi e posizioni dei file](send-as2-messages.md#file-names-as2)

   1. (Facoltativo) Aggiungi tag nella sezione **Tag**.

   1. Dopo aver inserito tutte le informazioni per l'accordo, scegli **Crea accordo**.

Il nuovo accordo viene visualizzato nella sezione **Accordi** della pagina dei dettagli del server.

# Configura i AS2 connettori
<a name="configure-as2-connector"></a>

Lo scopo di un connettore è stabilire una relazione tra i partner commerciali per i trasferimenti in *uscita*, inviando AS2 file da un server Transfer Family a una destinazione esterna di proprietà del partner. Per il connettore, si specifica la parte locale, il partner remoto e i relativi certificati (creando profili locali e partner).

Dopo aver installato un connettore, puoi trasferire le informazioni ai tuoi partner commerciali. A ciascun AS2 server vengono assegnati tre indirizzi IP statici. AS2 i connettori utilizzano questi indirizzi IP per l'invio asincrono MDNs ai partner commerciali. AS2

**Nota**  
La dimensione del messaggio ricevuto da un partner commerciale non corrisponderà alla dimensione dell'oggetto in Amazon S3. Questa discrepanza si verifica perché il AS2 messaggio avvolge il file in una busta prima dell'invio. Pertanto, la dimensione del file potrebbe aumentare, anche se il file viene inviato con compressione. Pertanto, assicurati che la dimensione massima del file del partner commerciale sia maggiore della dimensione del file che stai inviando.

1. [Certificati di importazione AS2](managing-as2-partners.md#configure-as2-certificate)

1. [Crea profili AS2](configure-as2-profile.md)

1. [Creare un AS2 server](create-as2-transfer-server.md)

1. [Creare un AS2 accordo](create-as2-transfer-server.md#as2-agreements)

1. Crea un AS2 connettore

## Creare un AS2 connettore
<a name="create-as2-connector"></a>

Questa procedura spiega come creare AS2 connettori utilizzando la AWS Transfer Family console. Se AWS CLI invece desideri utilizzare il, consulta[Passaggio 6: crea un connettore tra te e il tuo partner](as2-example-tutorial.md#as2-create-connector-example).

**Per creare un AS2 connettore**

1. Apri la AWS Transfer Family console all'indirizzo [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Nel riquadro di navigazione **a sinistra, scegli Connettori per inviare messaggi**, dal menu **Partner AS2 commerciali**, quindi scegli **Crea AS2 connettore**.

1. Nella sezione **Configurazione del connettore**, specifica le seguenti informazioni:
   + **URL**: immetti l'URL per le connessioni in uscita.
   + **Ruolo di accesso**: scegli l'Amazon Resource Name (ARN) del ruolo AWS Identity and Access Management (IAM) da utilizzare. Assicurati che questo ruolo fornisca l'accesso in lettura e scrittura alla directory principale della posizione del file utilizzata nella `StartFileTransfer` richiesta. Inoltre, assicurati che il ruolo fornisca l'accesso in lettura e scrittura alla directory principale dei file con cui intendi inviare`StartFileTransfer`.
**Nota**  
Se utilizzi l'autenticazione di base per il connettore, il ruolo di accesso richiede l'`secretsmanager:GetSecretValue`autorizzazione per il segreto. Se il segreto viene crittografato utilizzando una chiave gestita dal cliente anziché l' Chiave gestita da AWS accesso Gestione dei segreti AWS, il ruolo necessita anche dell'`kms:Decrypt`autorizzazione per quella chiave. Se si assegna un nome al segreto con il prefisso`aws/transfer/`, è possibile aggiungere l'autorizzazione necessaria con un carattere jolly (`*`), come mostrato nell'[esempio di autorizzazione a creare](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_examples_wildcard) segreti.
   + **Ruolo di registrazione** (opzionale): scegli il ruolo IAM per il connettore da utilizzare per inviare eventi ai tuoi log. CloudWatch

1. Nella sezione di **AS2 configurazione**, scegli i profili locali e partner, gli algoritmi di crittografia e firma e se comprimere le informazioni trasferite. Tenere presente quanto segue:
   + Il parametro **Preserve S3 Content-Type** è abilitato per impostazione predefinita.

     Se impostato, Transfer Family utilizza Amazon S3 `Content-Type` associato agli oggetti in S3 anziché avere il tipo di contenuto mappato in base all'estensione del file. Deseleziona questa impostazione se desideri che il servizio mappi il tipo di contenuto AS2 dei tuoi messaggi in base all'estensione del file, anziché utilizzare il tipo di contenuto dell'oggetto S3.
   + Per quanto riguarda l'algoritmo di crittografia, non scegliete `DES_EDE3_CBC` a meno che non dobbiate supportare un client legacy che lo richiede, poiché si tratta di un algoritmo di crittografia debole.
   + L'**oggetto** viene utilizzato come attributo di intestazione `subject` HTTP nei AS2 messaggi inviati con il connettore.
   + Se si sceglie di creare un connettore senza un algoritmo di crittografia, è necessario specificare `HTTPS` come protocollo.

1. Nella sezione **Autenticazione di base**, specificate le seguenti informazioni.
   + **Per inviare credenziali di accesso insieme ai messaggi in uscita, seleziona Abilita l'autenticazione di base.** **Se non desideri inviare credenziali con messaggi in uscita, mantieni la casella di controllo Abilita autenticazione di base deselezionata.**
   + Se utilizzi l'autenticazione, scegli o crea un segreto.
     + Per creare un nuovo segreto, scegli **Crea un nuovo segreto**, quindi inserisci un nome utente e una password. Queste credenziali devono corrispondere all'utente che si connette all'endpoint del partner.  
![\[La pagina Crea connettore nella AWS Transfer Family console, che mostra la sezione Autenticazione di base con l'opzione Crea un nuovo segreto.\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/as2-basic-auth-create-secret.png)
     + Per utilizzare un segreto esistente, scegli **Scegli un segreto esistente**, quindi scegli un segreto dal menu a discesa. Per i dettagli sulla creazione di un segreto formattato correttamente in Secrets Manager, vedere[Abilita l'autenticazione di base per i AS2 connettori](#as2-secret-create).  
![\[La pagina Crea connettore nella AWS Transfer Family console, che mostra la sezione Autenticazione di base con Scegli un segreto esistente scelto.\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/as2-basic-auth-select-secret.png)

1. Nella sezione di **configurazione MDN**, specifica le seguenti informazioni:
   + **Richiedi MDN**: hai la possibilità di richiedere al tuo partner commerciale di inviarti un MDN dopo che avrà ricevuto correttamente il tuo messaggio. AS2
   + **MDN firmato**: hai la possibilità di richiederne la firma. MDNs Questa opzione è disponibile solo se hai selezionato **Richiedi MDN**.

1. Dopo aver confermato tutte le impostazioni, scegli **Crea AS2 connettore** per creare il connettore.

Viene visualizzata la pagina **Connettori**, con l'ID del nuovo connettore aggiunto all'elenco. Per visualizzare i dettagli dei connettori, consulta[Visualizza i dettagli AS2 del connettore](#connectors-view-info).

## AS2 algoritmi dei connettori
<a name="as2-connectors-details"></a>

Quando si crea un AS2 connettore, al connettore vengono collegati i seguenti algoritmi di sicurezza.


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

## Autenticazione di base per i connettori AS2
<a name="as2-basic-auth"></a>

Quando crei o aggiorni un server Transfer Family che utilizza il AS2 protocollo, puoi aggiungere l'autenticazione di base per i messaggi in uscita. A tale scopo, è necessario aggiungere informazioni di autenticazione a un connettore.

**Nota**  
L'autenticazione di base è disponibile solo se utilizzi HTTPS.

Per utilizzare l'autenticazione per il connettore, seleziona **Abilita l'autenticazione di base** nella sezione **Autenticazione di base**. Dopo aver abilitato l'autenticazione di base, puoi scegliere di creare un nuovo segreto o utilizzarne uno esistente. In entrambi i casi, le credenziali contenute nel segreto vengono inviate con messaggi in uscita che utilizzano questo connettore. Le credenziali devono corrispondere all'utente che sta tentando di connettersi all'endpoint remoto del partner commerciale.

La schermata seguente mostra l'**opzione Abilita autenticazione di base** selezionata e l'opzione **Crea un nuovo segreto**. Dopo aver effettuato queste scelte, puoi inserire un nome utente e una password per il segreto. 

![\[La pagina Connettori della console Transfer Family, che mostra le informazioni di autenticazione dei messaggi per il connettore. In questo caso, è selezionato Abilita l'autenticazione di base e viene scelto Crea un nuovo segreto.\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/as2-basic-auth-create-secret.png)


La schermata seguente mostra l'opzione **Abilita autenticazione di base** selezionata e l'opzione **Scegli un segreto esistente**. Il segreto deve essere nel formato corretto, come descritto in[Abilita l'autenticazione di base per i AS2 connettori](#as2-secret-create).

![\[La pagina Connettori della console Transfer Family, che mostra le informazioni di autenticazione dei messaggi per il connettore. In questo caso, è selezionato Abilita l'autenticazione di base e viene scelto Scegli un segreto esistente.\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/as2-basic-auth-select-secret.png)


## Abilita l'autenticazione di base per i AS2 connettori
<a name="as2-secret-create"></a>

Quando abiliti l'autenticazione di base per i AS2 connettori, puoi creare un nuovo segreto nella console Transfer Family oppure puoi usare un segreto creato in Gestione dei segreti AWS. In entrambi i casi, il tuo segreto viene archiviato in Secrets Manager.

**Topics**
+ [Crea un nuovo segreto nella console](#as2-secret-details-console)
+ [Usa un segreto esistente](#use-existing-secret)
+ [Crea un segreto in Gestione dei segreti AWS](#as2-secret-details-asm)

### Crea un nuovo segreto nella console
<a name="as2-secret-details-console"></a>

Quando crei un connettore nella console, puoi creare un nuovo segreto.

Per creare un nuovo segreto, scegli **Crea un nuovo segreto**, quindi inserisci un nome utente e una password. Queste credenziali devono corrispondere all'utente che si connette all'endpoint del partner.

![\[La pagina Create connector della AWS Transfer Family console, che mostra la sezione Autenticazione di base con l'opzione Crea un nuovo segreto.\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/as2-basic-auth-create-secret.png)


**Nota**  
Quando crei un nuovo segreto nella console, il nome del segreto segue questa convenzione di denominazione:**/aws/transfer/*connector-id***, *connector-id* dov'è l'ID del connettore che stai creando. Consideralo quando cerchi di individuare il segreto in Gestione dei segreti AWS.

### Usa un segreto esistente
<a name="use-existing-secret"></a>

Quando crei un connettore nella console, puoi specificare un segreto esistente.

Per utilizzare un segreto esistente, scegli **Scegli un segreto esistente**, quindi scegli un segreto dal menu a discesa. Per i dettagli sulla creazione di un segreto formattato correttamente in Secrets Manager, vedere[Crea un segreto in Gestione dei segreti AWS](#as2-secret-details-asm).

![\[La pagina Create connector della AWS Transfer Family console, che mostra la sezione Autenticazione di base con Scegli un segreto esistente scelto.\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/as2-basic-auth-select-secret.png)


### Crea un segreto in Gestione dei segreti AWS
<a name="as2-secret-details-asm"></a>

La procedura seguente descrive come creare un segreto appropriato da utilizzare con il AS2 connettore.

**Nota**  
L'autenticazione di base è disponibile solo se utilizzi HTTPS.<a name="as2-auth-secret-key"></a>

**Per memorizzare le credenziali utente in Secrets Manager per l'autenticazione AS2 di base**

1. Accedi a Console di gestione AWS e apri la Gestione dei segreti AWS console all'indirizzo [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Nel pannello di navigazione a sinistra, seleziona **Segreti**. 

1. Nella pagina **Segreti**, scegli **Memorizza un nuovo segreto**.

1. Nella pagina **Scegli il tipo di segreto**, per **Tipo segreto**, scegli **Altro tipo di segreto**.

1. Nella sezione **Coppie chiave/valore**, scegli la scheda **Chiave/valore**.
   + **Chiave: Invio.** **Username**
   + **valore**: immettere il nome dell'utente autorizzato a connettersi al server del partner.

1. **Se desideri fornire una password, scegli **Aggiungi riga** e nella sezione **Coppie chiave/valore**, scegli la scheda Chiave/valore.**

   **Scegli **Aggiungi riga** e, nella sezione **Coppie chiave/valore, scegli la scheda Chiave/valore**.**
   + **Chiave: Invio.** **Password**
   + **valore**: immettere la password per l'utente.

1. Se desideri fornire una chiave privata, scegli **Aggiungi riga** e nella sezione **Coppie chiave/valore**, scegli la scheda **Chiave/valore**.
   + **Chiave: Invio.** **PrivateKey**
   + **value** — Inserisci una chiave privata per l'utente. Questo valore deve essere archiviato in formato OpenSSH e deve corrispondere alla chiave pubblica archiviata per questo utente nel server remoto.

1. Scegli **Next (Successivo)**.

1. Nella pagina **Configura segreto**, inserisci un nome e una descrizione per il tuo segreto. Ti consigliamo di utilizzare il prefisso di **aws/transfer/** per il nome. Ad esempio, puoi dare un nome al tuo segreto**aws/transfer/connector-1**.

1. Scegli **Avanti**, quindi accetta le impostazioni predefinite nella pagina **Configura rotazione**. Quindi scegli **Successivo**.

1. Nella pagina **Revisione**, scegli **Store** per creare e archiviare il segreto.

Dopo aver creato il segreto, puoi sceglierlo quando crei un connettore (vedi[Configura i AS2 connettori](#configure-as2-connector)). Nel passaggio in cui abiliti l'autenticazione di base, scegli il segreto dall'elenco a discesa dei segreti disponibili.

## Visualizza i dettagli AS2 del connettore
<a name="connectors-view-info"></a>

È possibile trovare un elenco di dettagli e proprietà di un AS2 AWS Transfer Family connettore nella AWS Transfer Family console. Le proprietà di un AS2 connettore includono l'URL, i ruoli, i profili MDNs, i tag e le metriche di monitoraggio.

Questa è la procedura per visualizzare i dettagli del connettore.

**Per visualizzare i dettagli dei connettori**

1. Apri la AWS Transfer Family console all'indirizzo [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Nel riquadro di navigazione a sinistra, selezionare **Connectors (Connettori)**.

1. Scegli l'identificatore nella colonna **Connector ID** per visualizzare la pagina dei dettagli del connettore selezionato.

Puoi modificare le proprietà del AS2 connettore nella pagina dei dettagli del connettore scegliendo **Modifica**.

![\[La pagina dei dettagli del connettore della console Transfer Family, che mostra l'URL, il ruolo di accesso e il ruolo di registrazione per il connettore selezionato.\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/as2-connector-details_01-top.png)


![\[La pagina dei dettagli del connettore della console Transfer Family, che mostra i dettagli di AS2 configurazione per il connettore selezionato.\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/as2-connector-details_02-middle.png)


![\[La pagina dei dettagli del connettore della console Transfer Family, che mostra i dettagli della sezione AS2 di autenticazione di base, i tag, l'IP statico e le informazioni di AS2 monitoraggio per il connettore selezionato.\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/as2-basic-auth-details-pane.png)


**Nota**  
È possibile ottenere molte di queste informazioni, anche se in un formato diverso, eseguendo il seguente comando AWS Command Line Interface ()AWS CLI :  

```
aws transfer describe-connector --connector-id your-connector-id
```
Per ulteriori informazioni, consulta il riferimento [https://docs.aws.amazon.com/transfer/latest/APIReference/API_DescribeConnector.html](https://docs.aws.amazon.com/transfer/latest/APIReference/API_DescribeConnector.html)all'API.

# Invio e ricezione AS2 di messaggi
<a name="send-as2-messages"></a>

Questa sezione descrive i processi per l'invio e la ricezione di AS2 messaggi. Fornisce inoltre dettagli sui nomi dei file e sulle posizioni associate AS2 ai messaggi.

La tabella seguente elenca gli algoritmi di crittografia disponibili per AS2 i messaggi e quando è possibile utilizzarli.


| Algoritmo di crittografia | HTTP | HTTPS | Note | 
| --- |--- |--- |--- |
| AES128\$1CBC | Sì  | Sì |  | 
| AES192\$1CBC | Sì  | Sì |  | 
| AES256\$1CBC | Sì  | Sì |  | 
| DES\$1 \$1CBC EDE3 | Sì  | Sì | Utilizzate questo algoritmo solo se dovete supportare un client legacy che lo richiede, poiché si tratta di un algoritmo di crittografia debole. | 
| NONE | No | Sì | Se si inviano messaggi a un server Transfer Family, è possibile selezionare solo NONE se si utilizza un Application Load Balancer (ALB). | 

**Topics**
+ [Processo di ricezione AS2 dei messaggi](#as2-inbound-process)
+ [Invio e ricezione di AS2 messaggi tramite HTTPS](#as2-https-process)
+ [Trasferimento di file tramite un connettore AS2](#transfer-as2-connectors)
+ [Nomi e posizioni dei file](#file-names-as2)
+ [Codici di stato](#status-codes)
+ [File JSON di esempio](#file-as2-json)

## Processo di ricezione AS2 dei messaggi
<a name="as2-inbound-process"></a>

Il processo in entrata è definito come un messaggio o un file che viene trasferito sul tuo AWS Transfer Family server. La sequenza per i messaggi in entrata è la seguente:

1. Un processo amministrativo o automatizzato avvia un trasferimento di AS2 file sul AS2 server remoto del partner.

1. Il AS2 server remoto del partner firma e crittografa il contenuto del file, quindi invia una richiesta HTTP POST a un endpoint in AS2 entrata ospitato su Transfer Family.

1. Utilizzando i valori configurati per il server, i partner, i certificati e il contratto, Transfer Family decrittografa e verifica il payload. AS2 Il contenuto del file viene archiviato nell'archivio di file Amazon S3 configurato.

1. La risposta MDN firmata viene restituita in linea con la risposta HTTP o in modo asincrono tramite una richiesta HTTP POST separata al server di origine.

1. Un audit trail viene scritto su Amazon CloudWatch con i dettagli sullo scambio.

1. Il file decrittografato è disponibile in una cartella denominata. `inbox/processed`

![\[Diagramma che mostra la sequenza di elaborazione dei messaggi in entrata.\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/as2-architecture-inbound.png)


## Invio e ricezione di AS2 messaggi tramite HTTPS
<a name="as2-https-process"></a>

Questa sezione descrive come configurare un server Transfer Family che utilizza il AS2 protocollo per inviare e ricevere messaggi tramite HTTPS.

**Topics**
+ [Inviare AS2 messaggi tramite HTTPS](#send-https)
+ [Ricevi AS2 messaggi tramite HTTPS](#receive-https)

### Inviare AS2 messaggi tramite HTTPS
<a name="send-https"></a>

Per inviare AS2 messaggi tramite HTTPS, crea un connettore con le seguenti informazioni:
+ Per l'URL, specificate un URL HTTPS
+ Per l'algoritmo di crittografia, selezionare uno degli algoritmi disponibili.
**Nota**  
 Per inviare messaggi a un server Transfer Family senza utilizzare la crittografia (ovvero, selezionando l'algoritmo `NONE` di crittografia), è necessario utilizzare un Application Load Balancer (ALB).
+ Fornire i valori rimanenti per il connettore come descritto in. [Configura i AS2 connettori](configure-as2-connector.md)

### Ricevi AS2 messaggi tramite HTTPS
<a name="receive-https"></a>

 AWS Transfer Family AS2 i server attualmente forniscono solo il trasporto HTTP tramite la porta 5080. Tuttavia, puoi terminare TLS su un sistema di bilanciamento del carico di rete o delle applicazioni davanti all'endpoint VPC del server Transfer Family utilizzando una porta e un certificato di tua scelta. Con questo approccio, puoi fare in modo che i messaggi in arrivo utilizzino HTTPS. AS2 

**Prerequisiti**
+ Il VPC deve trovarsi nello stesso Regione AWS server Transfer Family.
+ Le sottoreti del tuo VPC devono trovarsi all'interno delle zone di disponibilità in cui desideri utilizzare il server.
**Nota**  
Ogni server Transfer Family può supportare fino a tre zone di disponibilità.
+ Alloca fino a tre indirizzi IP elastici nella stessa regione del server. In alternativa, puoi scegliere di utilizzare il tuo intervallo di indirizzi IP (BYOIP).
**Nota**  
Il numero di indirizzi IP elastici deve corrispondere al numero di zone di disponibilità utilizzate con gli endpoint del server.

È possibile configurare un Network Load Balance (NLB) o un Application Load Balancer (ALB). La tabella seguente elenca i pro e i contro di ogni approccio.

La tabella seguente fornisce le differenze nelle funzionalità quando si utilizza un NLB rispetto a un ALB per terminare TLS.


| Funzionalità | Network Load Balancer (NLB) | Application Load Balancer (ALB) | 
| --- | --- | --- | 
| Latenza | Latenza inferiore in quanto opera a livello di rete. | Latenza più elevata in quanto opera a livello di applicazione. | 
| Supporto per indirizzi IP statici | Può allegare indirizzi IP elastici che possono essere statici. | Impossibile collegare indirizzi IP elastici: fornisce un dominio i cui indirizzi IP sottostanti possono cambiare. | 
| Routing avanzato | Non supporta il routing avanzato. | Supporta il routing avanzato. Può iniettare l'`X-Forwarded-Proto`intestazione richiesta senza crittografia. AS2 [Questa intestazione è descritta in [X-Forwarded-Proto](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto) sul sito web developer.mozilla.org.](https://developer.mozilla.org/) | 
| Terminazione TLS/SSL | Supporta la TLS/SSL terminazione | Supporta la TLS/SSL terminazione | 
| TLS reciproco (mTLS) | Transfer Family attualmente non supporta l'utilizzo di un NLB per MTL | Support per MTL | 

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

Questa procedura descrive come configurare un Network Load Balancer (NLB) con accesso a Internet nel tuo VPC.<a name="create-nlb-AS2"></a>

**Per creare un Network Load Balancer e definire l'endpoint VPC del server come destinazione del load balancer**

1. Apri la console Amazon Elastic Compute Cloud all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dal pannello di navigazione, scegli **Load Balancers, quindi scegli **Create** load balancer**.

1. In **Network Load Balancer (Sistema di bilanciamento del carico della rete)**, scegli **Crea**.

1. Nella sezione **Configurazione di base**, inserisci le seguenti informazioni:
   + Per **Nome**, inserisci un nome descrittivo per il sistema di bilanciamento del carico.
   + Per **Scheme (Schema)**, scegliere ** Internet-facing**.
   + Per **Tipo di indirizzo IP**, scegli **IPv4**.

1. Nella sezione **Mappatura della rete**, inserisci le seguenti informazioni:
   + Per **VPC**, scegli il cloud privato virtuale (VPC) che hai creato.
   + In **Mappature**, scegli le zone di disponibilità associate alle sottoreti pubbliche disponibili nello stesso VPC che usi con gli endpoint del server.
   + Per l'**IPv4 indirizzo** di ogni sottorete, scegli uno degli indirizzi IP elastici che hai allocato.

1. Nella sezione **Listener and routing**, inserite le seguenti informazioni:
   + **Per **Protocollo**, scegli TLS.**
   + Per **Port (Porta)**, immettere **5080**.
   + Per **Azione predefinita**, scegli **Crea gruppo target**. Per i dettagli sulla creazione di un nuovo gruppo target, consulta[Per creare un gruppo di destinazione](#create-target-group).

   Dopo aver creato un gruppo target, inserisci il suo nome nel campo di **azione predefinito**.

1. Nella sezione **Impostazioni Secure listener**, scegli il tuo certificato nell'area ** SSL/TLS Certificato predefinito**.

1. Scegli **Crea sistema di bilanciamento del carico** per creare il tuo NLB.

1. (Facoltativo, ma consigliato) Attiva i log di accesso per Network Load Balancer per mantenere un audit trail completo, come descritto [in Registri di accesso per il tuo Network Load Balancer.](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-access-logs.html)

   Consigliamo questo passaggio perché la connessione TLS viene interrotta all'NLB. Pertanto, l'indirizzo IP di origine riportato nei tuoi gruppi di AS2 CloudWatch log Transfer Family è l'indirizzo IP privato di NLB, anziché l'indirizzo IP esterno del tuo partner commerciale.

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

Questa procedura descrive come configurare un Application Load Balancer (ALB) nel tuo VPC.<a name="create-alb-AS2"></a>

**Per creare un Application Load Balancer e definire l'endpoint VPC del server come destinazione del load balancer**

1. Apri la console Amazon Elastic Compute Cloud all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dal pannello di navigazione, scegli **Load Balancers, quindi scegli **Create** load balancer**.

1. In **Application Load Balancer**, scegli **Crea**.

1. Nella console ALB, crea un nuovo listener HTTP sulla porta 443 (HTTPS).

1. (Facoltativo). Se desideri configurare l'autenticazione reciproca (MTL), configura le impostazioni di sicurezza e un trust store.

   1. Allega il SSL/TLS certificato all'ascoltatore.

   1. In **Gestione dei certificati del client**, seleziona **Autenticazione reciproca (MTLs**).

   1. Scegli **Verifica con trust store**.

   1. In **Impostazioni MTLS avanzate**, scegli o crea un trust store caricando i tuoi certificati CA.

1. Crea un nuovo gruppo target e aggiungi gli indirizzi IP privati degli endpoint del AS2 server Transfer Family come destinazioni sulla porta 5080. Per i dettagli sulla creazione di un nuovo gruppo target, consulta. [Per creare un gruppo di destinazione](#create-target-group)

1. Configura i controlli di integrità per il gruppo target in modo che utilizzi il protocollo HTTP sulla porta 5080.

1. Crea una nuova regola per inoltrare il traffico HTTPS dal listener al gruppo di destinazione.

1. Configura il listener per utilizzare il tuo certificato SSL/TLS.

------

Dopo aver configurato il sistema di bilanciamento del carico, i client comunicano con il sistema di bilanciamento del carico tramite il listener di porta personalizzato. Quindi, il load balancer comunica con il server tramite la porta 5080.<a name="create-target-group"></a>

**Per creare un gruppo di destinazione**

1. Dopo aver scelto **Crea gruppo target** nella procedura precedente, viene visualizzata la pagina **Specificare i dettagli del gruppo** per un nuovo gruppo target.

1.  Nella sezione **Configurazione di base**, inserisci le seguenti informazioni.
   + Per **Scegli un tipo di destinazione**, scegli **gli indirizzi IP**.
   + In **Nome gruppo di destinazione**, immetti un nome per il gruppo di destinazione.
   + Per **Protocol**, la selezione dipende dal fatto che si stia utilizzando un ALB o un NLB.
     + **Per un Network Load Balancer (NLB), scegli TCP**
     + **Per un Application Load Balancer (ALB), scegli HTTP**
   + Per **Port (Porta)**, immettere **5080**. 
   + Per **Tipo di indirizzo IP**, scegli **IPv4**.
   + Per **VPC**, scegli il VPC che hai creato per il tuo server Transfer Family. AS2 

1. <a name="vpc-register-targets"></a>Nella sezione **Controlli sanitari**, scegli il **protocollo Health check**.
   + **Per un ALB, scegli HTTP**
   + **Per un NLB, scegli TCP**

1. <a name="vpc-add-to-list"></a>Scegli **Next (Successivo)**.

1. Nella pagina **Registra obiettivi**, inserisci le seguenti informazioni:
   + Per **Network**, verifica che sia specificato il VPC che hai creato per il tuo AS2 server Transfer Family.
   + Per **IPv4 l'indirizzo**, inserisci l' IPv4indirizzo privato degli endpoint del tuo AS2 server Transfer Family.

      Se hai più di un endpoint per il tuo server, scegli **Aggiungi IPv4 indirizzo per aggiungere** un'altra riga per l'immissione di un altro IPv4 indirizzo. Ripeti questa procedura finché non avrai inserito gli indirizzi IP privati per tutti gli endpoint del server.
   + Assicurati che **Ports** sia impostato su. **5080**
   + Scegli **Includi come in sospeso di seguito** per aggiungere i tuoi dati alla sezione **Review targets**.

1. Nella sezione **Rivedi gli obiettivi**, esamina i tuoi obiettivi IP.

1. Scegli **Crea gruppo target**, quindi torna alla procedura precedente per la creazione del tuo NLB e inserisci il nuovo gruppo target dove indicato.

**Verifica l'accesso al server da un indirizzo IP elastico**

Connettiti al server tramite la porta personalizzata utilizzando un indirizzo IP elastico o il nome DNS del Network Load Balancer.

**Importante**  
Gestisci l'accesso al tuo server dagli indirizzi IP dei client utilizzando gli [elenchi di controllo degli accessi alla rete (rete ACLs)](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) per le sottoreti configurate sul load balancer. Le autorizzazioni ACL di rete sono impostate a livello di sottorete, quindi le regole si applicano a tutte le risorse che utilizzano la sottorete. **Non è possibile controllare l'accesso dagli indirizzi IP dei client utilizzando i gruppi di sicurezza, poiché il tipo di destinazione del sistema di bilanciamento del carico è impostato su indirizzi **IP** anziché su istanze.** Pertanto, il load balancer non conserva gli indirizzi IP di origine. Se i [controlli di integrità del Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-health-checks.html) falliscono, significa che il load balancer non può connettersi all'endpoint del server. Per risolvere questo problema, controlla quanto segue:  
Verifica che il [gruppo di sicurezza associato all'endpoint del](https://aws.amazon.com/premiumsupport/knowledge-center/sftp-enable-elastic-ip-custom-port/) server consenta le connessioni in entrata dalle sottoreti configurate sul load balancer. Il load balancer deve essere in grado di connettersi all'endpoint del server tramite la porta 5080.
**Verifica che lo **stato** del server sia Online.**

## Trasferimento di file tramite un connettore AS2
<a name="transfer-as2-connectors"></a>

AS2 i connettori stabiliscono una relazione tra i partner commerciali per il trasferimento di AS2 messaggi da un server Transfer Family a una destinazione esterna di proprietà del partner.

È possibile utilizzare Transfer Family per inviare AS2 messaggi facendo riferimento all'ID del connettore e ai percorsi dei file, come illustrato nel seguente 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"
```

Per ottenere i dettagli dei connettori, esegui il comando seguente:

```
aws transfer list-connectors
```

Il `list-connectors` comando restituisce il connettore IDs e Amazon Resource Names (ARNs) per i connettori. URLs

Per restituire le proprietà di un particolare connettore, esegui il comando seguente con l'ID che desideri utilizzare:

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

Il `describe-connector` comando restituisce tutte le proprietà del connettore, inclusi URL, ruoli, profili, Message Disposition Notices (MDNs), tag e metriche di monitoraggio.

È possibile confermare che il partner ha ricevuto correttamente i file visualizzando i file JSON e MDN. Questi file sono denominati in base alle convenzioni descritte in. [Nomi e posizioni dei file](#file-names-as2) Se hai configurato un ruolo di registrazione quando hai creato il connettore, puoi anche controllare CloudWatch nei log lo stato dei messaggi. AS2 

Per visualizzare i dettagli AS2 del connettore, vedere. [Visualizza i dettagli AS2 del connettore](configure-as2-connector.md#connectors-view-info) Per ulteriori informazioni sulla creazione di AS2 connettori, vedere[Configura i AS2 connettori](configure-as2-connector.md).

**Per inviare un messaggio AS2 in uscita**

Il processo in uscita è definito come un messaggio o un file inviato AWS a un client o servizio esterno. La sequenza per i messaggi in uscita è la seguente:

1. Un amministratore chiama il comando `start-file-transfer` AWS Command Line Interface (AWS CLI) o l'operazione `StartFileTransfer` API. Questa operazione fa riferimento a una `connector` configurazione.

1. Transfer Family rileva una nuova richiesta di file e individua il file. Il file è compresso, firmato e crittografato. 

1. Un client HTTP di trasferimento esegue una richiesta HTTP POST per trasmettere il payload al server del AS2 partner. 

1. Il processo restituisce la risposta MDN firmata, in linea con la risposta HTTP (MDN sincrono).

1. Man mano che il file si sposta tra le diverse fasi di trasmissione, il processo fornisce al cliente la ricevuta della risposta MDN e i dettagli di elaborazione. 

1. Il AS2 server remoto mette il file decrittografato e verificato a disposizione dell'amministratore partner.

![\[Diagramma che mostra la sequenza di elaborazione dei messaggi in uscita.\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/as2-architecture-outbound.png)


AS2 l'elaborazione supporta molti dei protocolli RFC 4130, con particolare attenzione ai casi d'uso comuni e all'integrazione con le implementazioni server abilitate esistenti AS2. Per i dettagli sulle configurazioni supportate, vedere. [AS2 configurazioni](create-b2b-server.md#as2-supported-configurations)

## Nomi e posizioni dei file
<a name="file-names-as2"></a>

Questa sezione illustra le convenzioni di denominazione dei file per i trasferimenti. AS2 

Per i trasferimenti di file in entrata, tenete presente quanto segue:
+ Si specifica la directory di base in un accordo. La directory di base è il nome del bucket Amazon S3 combinato con un prefisso, se presente. Ad esempio, `/amzn-s3-demo-bucket/AS2-folder`.
+ Se un file in entrata viene elaborato correttamente, il file (e il file JSON corrispondente) viene salvato nella cartella. `/processed` Ad esempio, `/amzn-s3-demo-bucket/AS2-folder/processed`.

  Il file JSON contiene i seguenti campi:
  + `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 un file in entrata non può essere elaborato correttamente, il file (e il file JSON corrispondente) viene salvato nella cartella. `/failed` Ad esempio, `/amzn-s3-demo-bucket/AS2-folder/failed`.
+ Il file trasferito viene archiviato nella `processed` cartella come. `original_filename.messageId.original_extension` Cioè, l'ID del messaggio per il trasferimento viene aggiunto al nome del file, prima dell'estensione originale.
+ Un file JSON viene creato e salvato come. `original_filename.messageId.original_extension.json` Oltre all'ID del messaggio aggiunto, la stringa `.json` viene aggiunta al nome del file trasferito.
+ Un file MDN (Message Disposition Notice) viene creato e salvato come. `original_filename.messageId.original_extension.mdn` Oltre all'ID del messaggio aggiunto, la stringa `.mdn` viene aggiunta al nome del file trasferito.
+ Se è presente un file in entrata denominato`ExampleFileInS3Payload.dat`, vengono creati i seguenti file:
  + **File** — `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` 

Per i trasferimenti in uscita, la denominazione è simile, con la differenza che non esiste un file di messaggi in entrata e inoltre, l'ID di trasferimento per il messaggio trasferito viene aggiunto al nome del file. L'ID di trasferimento viene restituito dall'operazione `StartFileTransfer` API (o quando un altro processo o script richiama questa operazione).
+ `transfer-id`è un identificatore associato a un trasferimento di file. Tutte le richieste che fanno parte di una `StartFileTransfer` chiamata condividono un`transfer-id`.
+ La directory di base è la stessa del percorso utilizzato per il file sorgente. In altre parole, la directory di base è il percorso specificato nell'operazione o nel `start-file-transfer` AWS CLI comando `StartFileTransfer` API. Esempio: 

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

  Se si esegue questo comando, i file MDN e JSON vengono salvati in `/amzn-s3-demo-bucket/AS2-folder/processed` (per trasferimenti riusciti) o `/amzn-s3-demo-bucket/AS2-folder/failed` (per trasferimenti non riusciti).
+ Un file JSON viene creato e salvato come. `original_filename.transferId.messageId.original_extension.json`
+ Un file MDN viene creato e salvato come. `original_filename.transferId.messageId.original_extension.mdn`
+ Se esiste un file in uscita denominato`ExampleFileOutTestOutboundSyncMdn.dat`, vengono creati i seguenti file:
  + **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`

Puoi anche controllare CloudWatch i log per visualizzare i dettagli dei tuoi trasferimenti, compresi quelli che non sono andati a buon fine.

## Codici di stato
<a name="status-codes"></a>

La tabella seguente elenca tutti i codici di stato che possono essere registrati nei CloudWatch log quando tu o il tuo partner inviate un messaggio. AS2 Le diverse fasi di elaborazione dei messaggi si applicano a diversi tipi di messaggi e sono destinate esclusivamente al monitoraggio. Gli stati COMPLETED e FAILED rappresentano la fase finale dell'elaborazione e sono visibili nei file JSON.


****  

| Codice | Description | Elaborazione completata? | 
| --- | --- | --- | 
| IN ELABORAZIONE | Il messaggio è in fase di conversione nel formato finale. Ad esempio, le fasi di decompressione e decrittografia hanno entrambe questo stato. | No | 
| MDN\$1TRANSMITX | L'elaborazione dei messaggi consiste nell'invio di una risposta MDN. | No | 
| MDN\$1RECEIVE | L'elaborazione dei messaggi sta ricevendo una risposta MDN. | No | 
| COMPLETED | L'elaborazione dei messaggi è stata completata correttamente. Questo stato include l'invio di un MDN per un messaggio in entrata o per la verifica MDN dei messaggi in uscita. | Sì | 
| NON RIUSCITO | L'elaborazione dei messaggi non è riuscita. Per un elenco dei codici di errore, vedere[AS2 codici di errore](as2-monitoring.md#as2-error-codes). | Sì | 

## File JSON di esempio
<a name="file-as2-json"></a>

Questa sezione elenca file JSON di esempio per i trasferimenti in entrata e in uscita, inclusi file di esempio per trasferimenti riusciti e trasferimenti non riusciti.

File in uscita di esempio che è stato trasferito correttamente:

```
{
  "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"
}
```

Esempio di file in uscita trasferito senza successo:

```
{
  "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"
}
```

Esempio di file in entrata trasferito correttamente:

```
{
  "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"
}
```

Esempio di file in entrata che non è stato trasferito correttamente:

```
{
  "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"
}
```

# Personalizza le intestazioni HTTP per i messaggi AS2
<a name="as2-custom-http-headers"></a>

Quando si inviano AS2 messaggi a partner commerciali, potrebbe essere necessario personalizzare le intestazioni HTTP per soddisfare requisiti specifici o migliorare la compatibilità con la configurazione del AS2 server del partner. Questo CloudFormation modello crea un'infrastruttura per abilitare intestazioni HTTP personalizzate per i AS2 messaggi inviati. AWS Transfer Family Configura un Amazon API Gateway e una funzione Lambda che fungono da proxy, permettendo la modifica dinamica delle intestazioni richieste dai server dei partner commerciali. AS2 

Usa questo modello per effettuare le seguenti operazioni:
+ Aggiungi intestazioni HTTP personalizzate ai messaggi in uscita AS2 
+ Sostituisci i valori di intestazione predefiniti con valori personalizzati
**Importante**  
Fai attenzione quando sovrascrivi i valori di intestazione predefiniti, poiché ciò può causare errori di invio: alcune intestazioni sono obbligatorie. AS2 
+ Garantisci la compatibilità con i partner commerciali che hanno requisiti di intestazione specifici

## Panoramica del modello
<a name="template-overview"></a>

Il modello crea i seguenti componenti principali:
+ Una funzione Lambda che elabora e inoltra i messaggi AS2 
+ Un Amazon API Gateway per esporre la funzione Lambda
+ Ruoli e autorizzazioni IAM per la funzione Lambda
+ Risorse condizionali per il supporto HTTPS

Il file modello è disponibile qui: Modello di [intestazioni HTTP dinamiche](https://s3.amazonaws.com/aws-transfer-resources/as2-templates/dynamic-http-headers.template.yml).

## Come funziona
<a name="how-it-works"></a>

1. Amazon API Gateway riceve AS2 messaggi in arrivo da AWS Transfer Family.

1. La richiesta viene inoltrata alla funzione Lambda.

1. La funzione Lambda elabora la richiesta, aggiungendo o modificando le intestazioni secondo necessità.

1. La richiesta modificata viene quindi inoltrata al server del partner. AS2 

1. La risposta dal server del partner viene restituita tramite Lambda e Amazon API Gateway a. AWS Transfer Family

## Caratteristiche chiave
<a name="key-features"></a>
+ *Modifica dinamica dell'intestazione:* consente la personalizzazione dell'intestazione dell'oggetto e l'aggiunta di altre intestazioni richieste.
+ *Protocol Support:* funziona con entrambi i protocolli HTTP e HTTPS.
+ *Configurazione flessibile:* consente di specificare l'host, la porta e il percorso del partner.

## Dettagli di implementazione
<a name="implementation-details"></a>

Il modello implementa i seguenti componenti chiave:

### Funzione Lambda
<a name="lambda-function"></a>

Il cuore della soluzione è una funzione Lambda Node.js che:
+ Riceve richieste da Amazon API Gateway
+ Modifica le intestazioni in base alla configurazione e ai dati delle richieste in entrata
+ Inoltra la richiesta modificata al server del partner AS2 
+ Gestisce entrambi i protocolli HTTP e HTTPS
+ Include la gestione e la registrazione degli errori

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

Un'API HTTP è configurata per:
+ Ricevere messaggi in arrivo AS2 
+ Indirizza le richieste alla funzione Lambda
+ Restituisci le risposte a AWS Transfer Family

### Parametri del modello
<a name="as2-header-template-parameter-details"></a>

Immettete le informazioni per i parametri del modello come segue. Notate che tutti questi parametri sono stringhe.
+ `Environment`: questo parametro viene utilizzato per denominare le risorse create dal modello, indipendentemente dal fatto che siano destinate a un ambiente di sviluppo o di produzione. I valori validi sono **dev** e **prod.** 
+ `PartnerHost`: l'indirizzo IP o il nome host del server AS2 partner.
+ `PartnerPort`: il numero di porta per il server AS2 partner. Se non specificato, il valore predefinito è 80 per HTTP e 443 per HTTPS.
+ `PartnerPath`: il percorso dell' AS2 endpoint sul server partner
+ `ProtocolType`: il protocollo da utilizzare per la AS2 comunicazione: i valori validi sono **HTTP** e **HTTPS**.

### Risorse condizionali
<a name="conditional-resources"></a>

Per il supporto HTTPS, il modello crea in modo condizionale:
+ Un Lambda Layer per i certificati CA
+ Configurazione specifica per HTTPS nella funzione Lambda

## Distribuzione e utilizzo
<a name="deployment-and-usage"></a>

**Per personalizzare le intestazioni AS2 HTTP utilizzando un modello CloudFormation**

1. Apri la CloudFormation console all'indirizzo [https://console.aws.amazon.com/cloudformazione.](https://console.aws.amazon.com/cloudformation/)

1. Nel riquadro di navigazione a sinistra, selezionare **Stacks (Stack)**.

1. Scegliere **Create stack (Crea stack)**, quindi scegliere **Con nuove risorse (standard).** 

1. Nella sezione **Prerequisito: prepara il modello**, scegli **Scegli** un modello esistente.

1. Copia questo link, [modello di intestazioni HTTP dinamiche](https://s3.amazonaws.com/aws-transfer-resources/as2-templates/dynamic-http-headers.template.yml), e incollalo nel campo URL di **Amazon S3**.

1. Scegli **Next (Successivo)**. 

1. Inserisci i dettagli del parametro con le tue informazioni. Questi sono descritti in dettaglio in[Parametri del modello](#as2-header-template-parameter-details).

1. Scegli **Next (Successivo)**. Nella pagina **Configura le opzioni dello stack**, scegli di nuovo **Avanti**. 

1. Controlla i dettagli dello stack che stai creando, quindi scegli **Crea** stack. 
**Nota**  
Nella parte inferiore della pagina, in **Capacità**, devi riconoscere che CloudFormation potrebbe creare risorse AWS Identity and Access Management (IAM). 

Dopo aver distribuito questo CloudFormation stack:

1. Prendi nota dell'URL dell'endpoint Amazon API Gateway fornito negli output dello stack.

1. Aggiorna il tuo AWS Transfer Family connettore esistente per utilizzare questo nuovo endpoint Amazon API Gateway.

1. La soluzione ora gestirà AS2 i messaggi, l'aggiunta o la modifica delle intestazioni in base alla configurazione.

**avvertimento**  
Modifica l'intestazione Subject o aggiungi solo le intestazioni che il tuo partner si aspetta esplicitamente. La modifica di altre intestazioni può causare errori di trasferimento.

# Monitoraggio AS2 dell'utilizzo
<a name="as2-monitoring"></a>

Puoi monitorare AS2 l'attività utilizzando Amazon CloudWatch e AWS CloudTrail. Per visualizzare altre metriche del server Transfer Family, consulta [CloudWatch Registrazione Amazon per server AWS Transfer Family](structured-logging.md)


**AS2 metriche**  

| Parametro | Descrizione | 
| --- | --- | 
| InboundMessage |  Il numero totale di AS2 messaggi ricevuti con successo da un partner commerciale. Unità: numero Periodo: 5 minuti  | 
| InboundFailedMessage |  Il numero totale di AS2 messaggi ricevuti senza successo da un partner commerciale. Cioè, un partner commerciale ha inviato un messaggio, ma il server Transfer Family non è stato in grado di elaborarlo correttamente. Unità: numero Periodo: 5 minuti  | 
| OutboundMessage |  Il numero totale di AS2 messaggi inviati con successo dal server Transfer Family a un partner commerciale. Unità: numero Periodo: 5 minuti  | 
| OutboundFailedMessage |  Il numero totale di AS2 messaggi che sono stati inviati senza successo a un partner commerciale. Cioè, sono stati inviati dal server Transfer Family, ma non sono stati ricevuti con successo dal partner commerciale. Unità: numero Periodo: 5 minuti  | 
| DaysUntilExpiry |  Il numero di giorni che mancano alla scadenza di un certificato è determinato da quanto `InactiveDate` indicato sul certificato al momento dell'importazione. Unità: numero Dimensioni:`CertificateId`, `Description` (se fornite) Periodo: 1 giorno Per ulteriori informazioni, consulta [AS2 rotazione dei certificati](managing-as2-partners.md#as2-certificate-rotation).  | 

## AS2 Codici di stato
<a name="as2-monitor-status-codes"></a>

La tabella seguente elenca tutti i codici di stato che possono essere registrati CloudWatch nei registri quando tu o il tuo partner inviate un AS2 messaggio. Le diverse fasi di elaborazione dei messaggi si applicano a diversi tipi di messaggi e sono destinate esclusivamente al monitoraggio. Gli stati COMPLETED e FAILED rappresentano la fase finale dell'elaborazione e sono visibili nei file JSON.


****  

| Codice | Descrizione | Elaborazione completata? | 
| --- | --- | --- | 
| IN ELABORAZIONE | Il messaggio è in fase di conversione nel formato finale. Ad esempio, le fasi di decompressione e decrittografia hanno entrambe questo stato. | No | 
| MDN\$1TRANSMITX | L'elaborazione dei messaggi consiste nell'invio di una risposta MDN. | No | 
| MDN\$1RECEIVE | L'elaborazione dei messaggi sta ricevendo una risposta MDN. | No | 
| COMPLETED | L'elaborazione dei messaggi è stata completata con successo. Questo stato include l'invio di un MDN per un messaggio in entrata o per la verifica MDN dei messaggi in uscita. | Sì | 
| Non riuscito | L'elaborazione dei messaggi non è riuscita. Per un elenco dei codici di errore, vedere[AS2 codici di errore](#as2-error-codes). | Sì | 

## AS2 codici di errore
<a name="as2-error-codes"></a>

La tabella seguente elenca e descrive i codici di errore che è possibile ricevere dai trasferimenti di AS2 file.


**AS2 codici di errore**  

| Codice | Errore | Descrizione e risoluzione | 
| --- | --- | --- | 
| ACCESS\$1DENIED |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/as2-monitoring.html)  |  Si verifica quando si gestisce una `StartFileTransfer` richiesta in cui nessuna delle `SendFilePaths` due non è valida o non è valida. Cioè, nel percorso manca il nome del bucket Amazon S3 oppure il percorso include caratteri non validi. Si verifica anche se Transfer Family non riesce ad assumere il ruolo di accesso o il ruolo di registrazione.Assicurati che il percorso contenga un nome di bucket Amazon S3 e un nome chiave validi. | 
| AGREEMENT\$1NOT\$1FOUND | L'accordo non è stato trovato. | L'accordo non è stato trovato o l'accordo è associato a un profilo inattivo.Aggiorna l'accordo all'interno del server Transfer Family per includere i profili attivi. | 
| CONNECTOR\$1NOT\$1FOUND | Il connettore o la configurazione correlata non sono stati trovati. |  Il connettore non è stato trovato oppure il connettore è associato a un profilo inattivo. Aggiorna il connettore per includere i profili attivi.  | 
| CREDENTIALS\$1RETRIEVAL\$1FAILED |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/as2-monitoring.html)  |  Per l'autenticazione AS2 di base, il segreto deve essere formattato correttamente. Le seguenti risoluzioni corrispondono agli errori elencati nella colonna precedente. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/as2-monitoring.html)  | 
| DECOMPRESSION\$1FAILED | Decompressione del messaggio non riuscita. |  Il file inviato è danneggiato o l'algoritmo di compressione non è valido.  Invia nuovamente il messaggio e verifica che venga utilizzata la compressione ZLIB oppure invia nuovamente il messaggio senza la compressione abilitata.  | 
| DECRYPT\$1FAILED | Impossibile decifrare il messaggio. message-ID Assicurati che il partner disponga della chiave di crittografia pubblica corretta. |  Decrittografia non riuscita. Verifica che il partner abbia inviato un payload utilizzando un certificato valido e che la crittografia sia stata eseguita utilizzando un algoritmo di crittografia valido.  | 
| DECRYPT\$1FAILED\$1INVALID\$1SMIME\$1FORMAT | Impossibile analizzare MimePart con busta. |  Il payload MIME è danneggiato o è in un formato SMIME non supportato. Il mittente deve assicurarsi che il formato che sta utilizzando sia supportato, quindi inviare nuovamente il payload.  | 
| DECRYPT\$1FAILED\$1NO\$1DECRYPTION\$1KEY\$1FOUND | Non è stata trovata alcuna chiave di decrittografia corrispondente. |  Al profilo partner non era assegnato un certificato corrispondente al messaggio oppure i certificati corrispondenti al messaggio sono ora scaduti o non più validi. È necessario aggiornare il profilo partner e assicurarsi che contenga un certificato valido.  | 
| DECRYPT\$1FAILED\$1UNSUPPORTED\$1ENCRYPTION\$1ALG | Decrittografia del payload SMIME richiesta utilizzando un algoritmo non supportato con ID:. encryption-ID |  Il mittente remoto ha inviato un AS2 payload con un algoritmo di crittografia non supportato. Il mittente deve scegliere un algoritmo di crittografia supportato da. AWS Transfer Family  | 
| DUPLICATE\$1MESSAGE | Fase di elaborazione duplicata o doppia. |  Il payload ha una fase di elaborazione duplicata. Ad esempio, esistono due fasi di crittografia. Invia nuovamente il messaggio con un solo passaggio per la firma, la compressione e la crittografia.  | 
| ENCRYPT\$1FAILED\$1NO\$1ENCRYPTION\$1KEY\$1FOUND |  Nessun certificato di crittografia pubblico valido trovato nel profilo: *local-profile-ID*  | Transfer Family sta tentando di crittografare un messaggio in uscita, ma non è stato trovato alcun certificato di crittografia per il profilo locale.Opzioni di risoluzione:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/as2-monitoring.html) | 
| ENCRYPTION\$1FAILED | Crittografia del file file-name non riuscita. |  Il file da inviare non è disponibile per la crittografia. Verifica che il file si trovi nella AS2 posizione prevista e che AWS Transfer Family disponga dell'autorizzazione per leggerlo.  | 
| FILE\$1SIZE\$1TOO\$1LARGE | La dimensione del file è troppo grande. | Ciò si verifica quando si invia o si riceve un file che supera il limite di dimensione del file. | 
| HTTP\$1ERROR\$1RESPONSE\$1FROM\$1PARTNER |  *partner-URL*ha restituito lo stato 400 per il messaggio con *message-ID* ID=.  |  La comunicazione con il AS2 server del partner ha restituito un codice di risposta HTTP imprevisto. Il partner potrebbe essere in grado di fornire ulteriori strumenti di diagnostica dai registri AS2 del server.  | 
| INSUFFICENT\$1MESSAGE\$1SECURITY\$1UNENCRYPTED | È richiesta la crittografia. | Il partner ha inviato un messaggio non crittografato a Transfer Family, che non è supportato. Il mittente deve utilizzare un payload crittografato. | 
| INVALID\$1ENDPOINT\$1PROTOCOL | Sono supportati solo HTTP e HTTPS. | È necessario specificare HTTP o HTTPS come protocollo nella configurazione del AS2 connettore. | 
| INVALID\$1REQUEST |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/as2-monitoring.html)  |  Questo errore ha diverse cause. Le seguenti risoluzioni corrispondono agli errori elencati nella colonna precedente. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/as2-monitoring.html) | 
| INVALID\$1URL\$1FORMAT | Formato URL non valido: URL |  Ciò si verifica quando si invia un messaggio in uscita utilizzando un connettore configurato con un URL non valido. Assicurati che il connettore sia configurato con un URL HTTP o HTTPS valido.  | 
| MDN\$1RESPONSE\$1INDICATES\$1AUTHENTICATION\$1FAILED | Non applicabile | Il destinatario non può autenticare il mittente. Il partner commerciale restituisce un MDN a Transfer Family con il [modificatore di disposizione](https://datatracker.ietf.org/doc/html/rfc4130#section-7.5.4) Error: authentication-failed. | 
| MDN\$1RESPONSE\$1INDICATES\$1DECOMPRESSION\$1FAILED | Non applicabile | Ciò si verifica quando il destinatario non è in grado di decomprimere il contenuto del messaggio. Il partner commerciale restituisce un MDN a Transfer Family con il [modificatore di disposizione](https://datatracker.ietf.org/doc/html/rfc4130#section-7.5.4) Error: decompression-failed. | 
| MDN\$1RESPONSE\$1INDICATES\$1DECRYPTION\$1FAILED | Non applicabile | Il destinatario non può decriptare il contenuto del messaggio. Il partner commerciale restituisce un MDN a Transfer Family con il [modificatore di disposizione](https://datatracker.ietf.org/doc/html/rfc4130#section-7.5.4) Error: authentication-failed. | 
| MDN\$1RESPONSE\$1INDICATES\$1INSUFFICIENT\$1MESSAGE\$1SECURITY | Non applicabile | Il destinatario si aspetta che il messaggio sia firmato o crittografato, ma non è così. Il partner commerciale restituisce un MDN a Transfer Family con il [modificatore di disposizione Error](https://datatracker.ietf.org/doc/html/rfc4130#section-7.5.4):. insufficient-message-securityAbilita la and/or crittografia della firma sul connettore per soddisfare le aspettative del partner commerciale. | 
| MDN\$1RESPONSE\$1INDICATES\$1INTEGRITY\$1CHECK\$1FAILED | Non applicabile | Il destinatario non può verificare l'integrità del contenuto. Il partner commerciale restituisce un MDN a Transfer Family con il [modificatore di disposizione Error](https://datatracker.ietf.org/doc/html/rfc4130#section-7.5.4):. integrity-check-failed | 
| PATH\$1NOT\$1FOUND |  Impossibile creare una cartella. *file-path* Il percorso principale non è stato trovato.  | Transfer Family sta tentando di creare una directory nel bucket Amazon S3 del cliente, ma il bucket non viene trovato.Assicurati che ogni percorso menzionato nel `StartFileTransfer` comando contenga il nome di un bucket esistente. | 
| SEND\$1FILE\$1NOT\$1FOUND | Percorso del file file-path non trovato. |  Transfer Family non riesce a localizzare il file durante l'operazione di invio del file. Verifica che la home directory e il percorso configurati siano validi e che Transfer Family disponga dei permessi di lettura per il file.  | 
| SERVER\$1NOT\$1FOUND | Impossibile trovare il server associato al messaggio. | Transfer Family non è riuscito a trovare il server quando ha ricevuto un messaggio. Questo può accadere se il server viene eliminato durante l'elaborazione di un messaggio in arrivo. | 
| SERVER\$1NOT\$1ONLINE | server-IDIl server non è online. | Il server Transfer Family è offline.Avvia il server in modo che possa ricevere ed elaborare i messaggi. | 
| SIGNING\$1FAILED | Impossibile firmare il file. |  Il file da inviare non è disponibile per la firma oppure non è stato possibile eseguire la firma. Verifica che il file si trovi nella AS2 posizione prevista e che AWS Transfer Family disponga dell'autorizzazione per leggerlo.  | 
| SIGNING\$1FAILED\$1NO\$1SIGNING\$1KEY\$1FOUND | Nessun certificato trovato per il profilo:local-profile-ID. | Tentativo di firmare un messaggio in uscita, ma non viene trovato alcun certificato di firma per il profilo locale.Opzioni di risoluzione:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/as2-monitoring.html) | 
| UNABLE\$1RESOLVE\$1HOST\$1TO\$1IP\$1ADDRESS | Impossibile convertire il nome host in indirizzi IP. |  Transfer Family non è in grado di eseguire la risoluzione da DNS a indirizzo IP sul server DNS pubblico configurato nel AS2 connettore. Aggiorna il connettore in modo che punti a un URL partner valido.  | 
| UNABLE\$1TO\$1CONNECT\$1TO\$1REMOTE\$1HOST\$1OR\$1IP | La connessione all'endpoint è scaduta. |  Transfer Family non è in grado di stabilire una connessione socket al AS2 server del partner configurato. Verificate che il AS2 server del partner sia disponibile all'indirizzo IP configurato.  | 
| UNABLE\$1TO\$1RESOLVE\$1HOSTNAME | Impossibile risolvere il nome hosthostname.  |  Il server Transfer Family non è riuscito a risolvere il nome host del partner utilizzando un server DNS pubblico. Verifica che l'host configurato sia registrato e che il record DNS abbia avuto il tempo di pubblicazione.  | 
| VERIFICATION\$1FAILED | La verifica della firma non è riuscita per AS2 il messaggio message-ID o il codice MIC non corrisponde. | Verifica che il certificato di firma del mittente corrisponda ai certificati di firma del profilo remoto. Verifica anche che gli algoritmi MIC siano compatibili con. AWS Transfer Family | 
| VERIFICATION\$1FAILED\$1NO\$1MATCHING\$1KEY\$1FOUND |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/as2-monitoring.html)  | AWS Transfer Family sta tentando di verificare la firma di un messaggio ricevuto, ma non è stato trovato alcun certificato di firma corrispondente per il profilo partner. Opzioni di risoluzione:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/as2-monitoring.html) | 

# Monitoraggio della scadenza dei certificati
<a name="certificate-expiry-monitoring"></a>

AWS Transfer Family monitora automaticamente le date di scadenza dei AS2 certificati e pubblica una CloudWatch metrica Amazon per aiutarti a monitorare quando i certificati si avvicinano alla scadenza. Ciò consente di gestire in modo proattivo i rinnovi dei certificati ed evitare interruzioni del servizio.

## DaysUntilExpiry parametro
<a name="daysuntilexpiry-metric"></a>

Quando importi un certificato per AS2 l'uso, Transfer Family crea automaticamente una CloudWatch metrica chiamata`DaysUntilExpiry`. Questa metrica tiene traccia del numero di giorni rimanenti alla scadenza del certificato in base al periodo specificato durante l'`InactiveDate`importazione del certificato.

**Dettagli metrici:**
+ **Nome della metrica:** `DaysUntilExpiry`
+ **Spazio dei nomi:** `AWS/Transfer`
+ **Dimensioni:** `CertificateId` (sempre presenti), `Description` (se fornite durante l'importazione del certificato)
+ **Unità:** conteggio (giorni)
+ **Frequenza:** pubblicata giornalmente

**Importante**  
Dopo l'importazione di un certificato, Transfer Family può impiegare fino a un giorno intero prima che Transfer Family emetta questa metrica sul tuo account.

Il valore della metrica diminuisce di una volta al giorno man mano che il certificato si avvicina alla data di inattività. Ad esempio, se mancano 30 giorni alla scadenza di un certificato, la metrica mostrerà 30, 29 il giorno successivo e così via.

## Le migliori pratiche per il monitoraggio dei certificati
<a name="certificate-monitoring-best-practices"></a>

Segui queste best practice per configurare il monitoraggio della scadenza dei certificati:
+ **Imposta soglie di avviso multiple:** crea allarmi per periodi di tempo diversi (ad esempio, 30 giorni, 14 giorni e 7 giorni prima della scadenza) per fornire un periodo di tempo adeguato per il rinnovo del certificato.
+ **Utilizza statistiche appropriate:** utilizza la `Maximum` statistica durante la creazione di allarmi per assicurarti di acquisire il valore metrico più recente.
+ **Configura le azioni di allarme appropriate:** imposta le notifiche per avvisare i membri del team appropriati che possono rinnovare i certificati.
+ **Testa gli avvisi: verifica regolarmente il** tuo sistema di notifica per assicurarti che gli avvisi vengano recapitati correttamente.
+ **Documenta il processo:** conserva la documentazione sul processo di rinnovo dei certificati e su chi è responsabile dei diversi certificati.

## Esempi di configurazioni di allarme
<a name="certificate-monitoring-examples"></a>

Ecco alcuni esempi di configurazioni di allarme per diversi scenari di notifica:

### avviso di scadenza di 30 giorni
<a name="thirty-day-warning"></a>

Crea un allarme che si attiva quando mancano 30 giorni o meno alla scadenza di un certificato:
+ **Metrica:** DaysUntilExpiry
+ **Statistica: **Maximum
+ **Periodo:** 1 giorno
+ **Soglia:** 30
+ **Confronto:** inferiore o uguale alla soglia
+ **Trattamento dei dati mancanti:** considera validi i dati mancanti (senza violarli)

### Avviso critico di scadenza entro 7 giorni
<a name="critical-warning"></a>

Crea un allarme critico che si attiva quando mancano 7 giorni o meno alla scadenza di un certificato:
+ **Metrica:** DaysUntilExpiry
+ **Statistica: **Maximum
+ **Periodo:** 1 giorno
+ **Soglia:** 7
+ **Confronto:** inferiore o uguale alla soglia
+ **Trattamento dei dati mancanti:** considera validi i dati mancanti (senza violarli)