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 Documentazione di riferimento delle API
La guida di riferimento API completa per Transfer Family è disponibile su AWS Transfer Family API Reference.
AWS Transfer Family è un servizio di trasferimento sicuro che puoi utilizzare per trasferire file da e verso lo storage di Amazon Simple Storage Service (Amazon S3) tramite i seguenti protocolli:
-
Protocollo di trasferimento file (SFTP) Secure Shell (SSH)
-
Protocollo di trasferimento file sicuro (FTPS)
-
Protocollo di trasferimento file (FTP)
-
Dichiarazione di applicabilità 2 (AS2)
I server, gli utenti e i ruoli sono tutti identificati dal rispettivo Amazon Resource Name (ARN). È possibile assegnare tag, che sono coppie chiave-valore, a entità con un ARN. I tag sono metadati che possono essere utilizzati per raggruppare o cercare queste entità. Un esempio di utilizzo dei tag è per scopi di contabilità.
Nei formati AWS Transfer Family ID vengono rispettate le seguenti convenzioni:
-
I valori
ServerIdhanno il formatos-01234567890abcdef. -
I valori
SshPublicKeyIdhanno il formatokey-01234567890abcdef.
I formati Amazon Resource Name (ARN) assumono il seguente formato:
-
Per i server, gli ARN assumono il modulo.
arn:aws:transfer:region:account-id:server/server-idUn esempio di un ARN del server è:
arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef. -
Per gli utenti, gli ARN hanno il formato
arn:aws:transfer:.region:account-id:user/server-id/usernameUn esempio è
arn:aws:transfer:us-east-1:123456789012:user/s-01234567890abcdef/user1.
Le voci DNS (endpoint) in uso sono le seguenti:
-
Gli endpoint API hanno il formato
transfer..region.amazonaws.com -
Gli endpoint del server hanno il formato
.server-id.server.transfer.region.amazonaws.com
Questo riferimento all'interfaccia API per AWS Transfer Family contiene la documentazione per un'interfaccia di programmazione che è possibile utilizzare per gestire. AWS Transfer Family La struttura di riferimento è la seguente:
-
Per l'elenco alfabetico delle azioni API, vedere Actions.
-
Per l'elenco alfabetico dei tipi di dati, vedere. Types
-
Per un elenco di parametri di query comuni, consulta la pagina Parametri Comuni.
-
Per le descrizioni dei codici di errore, consulta la pagina Errori comuni.
Suggerimento
Invece di eseguire effettivamente un comando, è possibile utilizzare il --generate-cli-skeleton parametro con qualsiasi chiamata API per generare e visualizzare un modello di parametro. È quindi possibile utilizzare il modello generato per personalizzarlo e utilizzarlo come input per un comando successivo. Per i dettagli, consultate Generare e utilizzare un file scheletro di parametri.
Effettuare richieste API
Oltre a utilizzare la console, puoi utilizzare l' AWS Transfer Family API per configurare e gestire i tuoi server in modo programmatico. Questa sezione descrive AWS Transfer Family le operazioni, la richiesta di firma per l'autenticazione e la gestione degli errori. Per informazioni sulle regioni e gli endpoint disponibili per Transfer Family, consulta AWS Transfer Family endpoint e quote nel Riferimenti generali di AWS
Nota
Puoi anche utilizzare gli AWS SDK per sviluppare applicazioni con Transfer Family;. Gli AWS SDK per Java, .NET e PHP racchiudono l'API Transfer Family sottostante, semplificando le attività di programmazione. Per informazioni sul download delle librerie SDK, consulta Librerie di codice di esempio.
Intestazioni di richiesta obbligatorie per Transfer Family
Questa sezione descrive le intestazioni richieste a cui devi inviare con ogni richiesta POST. AWS Transfer Family Devi includere intestazioni HTTP per identificare le informazioni principali sulla richiesta, tra cui l'operazione che vuoi richiamare, la data della richiesta e le informazioni che indicano la tua autorizzazione come mittente della richiesta. Le intestazioni fanno distinzione tra maiuscole e minuscole, ma l'ordine delle intestazioni non è importante.
L'esempio seguente mostra le intestazioni utilizzate nell'ListServersoperazione.
POST / HTTP/1.1 Host:transfer---us-east-1.amazonaws.com.rproxy.govskope.cax-amz-target: TransferService.ListServers x-amz-date: 20220507T012034Z Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20220507/us-east-1/transfer/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-target, Signature=13550350a8681c84c861aac2e5b440161c2b33a3e4f302ac680ca5b686de48de Content-Type: application/x-amz-json-1.1 Content-Length: 17 {"MaxResults":10}
Di seguito sono riportate le intestazioni che devono essere incluse nelle richieste POST a Transfer Family. Le intestazioni mostrate di seguito che iniziano con «x-amz» sono specifiche per. AWS Tutte le altre intestazioni elencate sono intestazioni comuni usate in transazioni HTTP.
Input e firma delle richieste Transfer Family
Tutti gli input della richiesta devono essere inviati come parte del payload JSON nel corpo della richiesta. Per le azioni in cui tutti i campi di richiesta sono facoltativi, ad esempioListServers, è comunque necessario fornire un oggetto JSON vuoto nel corpo della richiesta, ad esempio. {} La struttura del payload Transfer Family request/response è documentata, ad esempio, nel riferimento all'API esistente. DescribeServer
Transfer Family supporta l'autenticazione tramite AWS Signature Version 4. Per i dettagli, consulta la sezione Richieste AWS API di firma.
Risposte agli errori
Quando si verifica un errore, le informazioni dell'intestazione della risposta contengono:
-
Content-Type:
application/x-amz-json-1.1 -
Un codice di stato HTTP
4xxo5xxappropriato
Il corpo di una risposta di errore contiene informazioni relative all'errore. La risposta di errore di esempio seguente mostra la sintassi di output degli elementi della risposta comuni a tutte le risposte di errore.
{ "__type": "String", "Message": "String", <!-- Message is lowercase in some instances --> "Resource": "String", "ResourceType": "String", "RetryAfterSeconds": "String" }
La tabella seguente illustra i campi della risposta di errore JSON mostrata nella sintassi precedente.
- __type
-
Una delle eccezioni a una chiamata API Transfer Family.
▬Tipo: stringa
- Messaggio o messaggio
-
Uno dei messaggi dei codici di errore delle operazioni.
Nota
Alcune eccezioni utilizzano
messagee altre utilizzanoMessage. Puoi controllare il codice dell'interfaccia per determinare il caso corretto. In alternativa, puoi testare ogni opzione per vedere quale funziona.▬Tipo: stringa
- Risorsa
-
La risorsa per la quale viene invocato l'errore. Ad esempio, se si tenta di creare un utente già esistente,
Resourceè il nome utente dell'utente esistente.▬Tipo: stringa
- ResourceType
-
Il tipo di risorsa per cui viene richiamato l'errore. Ad esempio, se si tenta di creare un utente già esistente,
ResourceTypeèUser.▬Tipo: stringa
- RetryAfterSeconds
-
Il numero di secondi di attesa prima di riprovare il comando.
▬Tipo: stringa
Esempi di risposte agli errori
Il seguente corpo JSON viene restituito se si chiama l'DescribeServerAPI e si specifica un server che non esiste.
{ "__type": "ResourceNotFoundException", "Message": "Unknown server", "Resource": "s-11112222333344444", "ResourceType": "Server" }
Il seguente corpo JSON viene restituito se l'esecuzione di un'API causa la limitazione.
{ "__type":"ThrottlingException", "RetryAfterSeconds":"1" }
Il seguente corpo JSON viene restituito se si utilizza l'CreateServerAPI e non si dispone di autorizzazioni sufficienti per creare un server Transfer Family.
{ "__type": "AccessDeniedException", "Message": "You do not have sufficient access to perform this action." }
Il seguente corpo JSON viene restituito se si utilizza l'CreateUserAPI e si specifica un utente già esistente.
{ "__type": "ResourceExistsException", "Message": "User already exists", "Resource": "Alejandro-Rosalez", "ResourceType": "User" }
Librerie disponibili
AWS fornisce librerie, codice di esempio, tutorial e altre risorse per gli sviluppatori di software che preferiscono creare applicazioni utilizzando API specifiche del linguaggio anziché gli strumenti da riga di comando e l'API Query. Queste librerie forniscono funzioni di base (non incluse nelle API), come l'autenticazione delle richieste, i nuovi tentativi di richiesta e la gestione degli errori, in modo che sia più facile iniziare. Vedi Strumenti su cui sviluppare AWS
Per le librerie e il codice di esempio in tutte le lingue, vedi Codice di esempio e librerie
Provider di identità
AWS Transfer Family supporta diversi tipi di provider di identità per l'autenticazione e la gestione degli utenti. Ogni server può utilizzare un solo metodo di autenticazione, che deve essere selezionato al momento della creazione del server.
- Servizio gestito
-
Con il metodo di
SERVICE_MANAGEDautenticazione, le credenziali dell'utente vengono archiviate e gestite all'interno AWS Transfer Family. Gli utenti vengono autenticati utilizzando chiavi pubbliche SSH associate al loro nome utente sul server.Ogni utente può avere una o più chiavi pubbliche SSH memorizzate nel servizio. Quando un client richiede un'operazione su un file, fornisce il nome utente e la chiave privata SSH, che viene autenticata con la chiave pubblica memorizzata.
- Directory Service
-
Il metodo di
AWS_DIRECTORY_SERVICEautenticazione consente l'integrazione con AWS Directory Service per Microsoft Active Directory (AWS Directory Service for Microsoft Active Directory).Questa opzione consente di gestire l'autenticazione e l'accesso degli utenti tramite i gruppi di Active Directory esistenti. Gli utenti possono autenticarsi utilizzando le proprie credenziali di Active Directory.
Esiste un limite predefinito di 100 gruppi Active Directory per server, che può essere aumentato fino a un massimo di 150 gruppi tramite un aumento del limite di servizio.
- Lambda
-
Il metodo di
AWS_LAMBDAautenticazione consente di connettersi a un provider di identità personalizzato utilizzando AWS Lambda.Questa opzione offre la flessibilità necessaria per l'integrazione con i sistemi di gestione delle identità esistenti. La funzione Lambda è responsabile dell'autenticazione degli utenti e della restituzione delle politiche di accesso appropriate.
- Personalizzato (API Gateway)
-
Il metodo di
API_GATEWAYautenticazione (visualizzato come Personalizzato nella console) consente di utilizzare un metodo di autenticazione personalizzato che fornisce sia l'autenticazione dell'utente che il controllo degli accessi.Questo metodo si basa su Amazon API Gateway per utilizzare la chiamata API dal tuo provider di identità per convalidare le richieste degli utenti. Puoi utilizzare questo metodo personalizzato per autenticare gli utenti tramite un servizio di directory, una name/password coppia di database o qualche altro meccanismo.
Per tutti i metodi di autenticazione, agli utenti vengono assegnate policy che definiscono il loro accesso ai bucket Amazon S3 o ai file system Amazon Elastic File System. Il server eredita la relazione di fiducia dall'utente tramite un ruolo IAM con un'AssumeRoleazione, che gli consente di eseguire operazioni sui file per conto dell'utente.
Convenzioni di denominazione
AWS Transfer Family utilizza formati standardizzati per identificatori di risorse e Amazon Resource Names (ARN). Comprendere queste convenzioni è importante quando si lavora con l'API. AWS Transfer Family
Formati ID
Nei formati AWS Transfer Family ID si osservano le seguenti convenzioni:
- ID del server
-
I valori
ServerIdhanno il formatos-01234567890abcdef. - ID delle chiavi pubbliche SSH
-
I valori
SshPublicKeyIdhanno il formatokey-01234567890abcdef. - ID dei connettori
-
I valori
ConnectorIdhanno il formatoc-01234567890abcdef. - ID del flusso di lavoro
-
I valori
WorkflowIdhanno il formatow-01234567890abcdef. - ID del profilo
-
I valori
ProfileIdhanno il formatop-01234567890abcdef. - WebApp ID
-
I valori
WebAppIdhanno il formatowebapp-01234567890abcdef.
Formati ARN
I formati Amazon Resource Name (ARN) assumono il seguente formato:
- ARN del server
-
Per i server, gli ARN assumono il modulo.
arn:aws:transfer:region:account-id:server/server-idEsempio:
arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef. - ARN utente
-
Per gli utenti, gli ARN hanno il formato
arn:aws:transfer:.region:account-id:user/server-id/usernameEsempio:
arn:aws:transfer:us-east-1:123456789012:user/s-01234567890abcdef/user1. - ARN di connettori
-
Per i connettori, gli ARN prendono il modulo.
arn:aws:transfer:region:account-id:connector/connector-idEsempio:
arn:aws:transfer:us-east-1:123456789012:connector/c-01234567890abcdef. - ARN del flusso di lavoro
-
Per i flussi di lavoro, gli ARN prendono il modulo.
arn:aws:transfer:region:account-id:workflow/workflow-idEsempio:
arn:aws:transfer:us-east-1:123456789012:workflow/w-01234567890abcdef. - WebApp ARN
-
Per le applicazioni web, gli ARN prendono il modulo.
arn:aws:transfer:region:account-id:webapp/webapp-idEsempio:
arn:aws:transfer:us-east-1:123456789012:webapp/webapp-01234567890abcdef.
È possibile assegnare tag, che sono coppie chiave-valore, a entità con un ARN. I tag sono metadati che possono essere utilizzati per raggruppare o cercare queste entità. Un esempio di utilizzo dei tag è per scopi di contabilità.
DNS ed endpoint
AWS Transfer Family utilizza convenzioni di denominazione DNS standardizzate sia per gli endpoint API che per gli endpoint del server. La comprensione di questi endpoint è essenziale per configurare i client ed effettuare chiamate API.
Endpoint API
Gli endpoint API vengono utilizzati per effettuare chiamate API per gestire le risorse. AWS Transfer Family Questi endpoint assumono le seguenti forme:
- Endpoint API standard
-
Gli endpoint API standard prendono il modulo.
transfer.region.amazonaws.com.rproxy.govskope.caAd esempio:
transfer.us-east-1.amazonaws.com - Dual-Stack Endpoint API
-
AWS Transfer Family offre endpoint API dual-stack a cui è possibile accedere utilizzando richieste IPv4 o IPv6:
-
https://transfer.
region-code.api.aws -
https://transfer-fips.
region-code.api.aws
-
Endpoint del server
Gli endpoint del server vengono utilizzati dai client di trasferimento file per connettersi ai AWS Transfer Family server. Questi endpoint assumono le seguenti forme:
- Endpoint server standard
-
Gli endpoint server standard assumono il modulo.
server-id.server.transfer.region.amazonaws.com.rproxy.govskope.caAd esempio:
s-01234567890abcdef.server.transfer.us-east-1.amazonaws.com - Nomi host personalizzati
-
Puoi anche configurare nomi host personalizzati per i tuoi AWS Transfer Family server. È possibile utilizzare nomi host personalizzati per offrire agli utenti un'esperienza più intuitiva o personalizzata.
Per utilizzare un nome host personalizzato, devi:
-
Possiedi il nome di dominio
-
Fornisci un certificato valido
-
Configura i record DNS in modo che puntino al tuo server AWS Transfer Family
-
Per un elenco completo degli AWS Transfer Family endpoint per AWS regione, consulta gli AWS Transfer Family endpoint e le quote in. Riferimenti generali di AWS