View a markdown version of this page

AWS Transfer Family API-Referenz - AWS Transfer Family

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS Transfer Family API-Referenz

Das vollständige API-Referenzhandbuch für Transfer Family ist unter AWS Transfer Family API Reference verfügbar.

AWS Transfer Family ist ein sicherer Übertragungsservice, mit dem Sie Dateien über die folgenden Protokolle in den und aus dem Amazon Simple Storage Service (Amazon S3) -Speicher übertragen können:

  • Secure Shell (SSH) File Transfer Protocol (SFTP)

  • Sicheres Dateiübertragungsprotokoll (FTPS)

  • Dateiübertragungsprotokoll (FTP)

  • Erklärung zur Anwendbarkeit 2 (AS2)

Server, Benutzer und Rollen werden alle anhand ihres Amazon-Ressourcennamens (ARN) identifiziert. Sie können Entitäten mit einem ARN Tags zuweisen, bei denen es sich um Schlüssel-Wert-Paare handelt. Tags sind Metadaten, die verwendet werden können, um diese Entitäten zu gruppieren oder nach ihnen zu suchen. Tags sind beispielsweise für die Buchhaltung nützlich.

Die folgenden Konventionen werden bei AWS Transfer Family ID-Formaten eingehalten:

  • ServerId-Werte haben das Format s-01234567890abcdef.

  • SshPublicKeyId-Werte haben das Format key-01234567890abcdef.

Die Formate von Amazon Resource Name (ARN) haben die folgende Form:

  • Für Server haben ARNs die folgende Formarn:aws:transfer:region:account-id:server/server-id.

    Ein Beispiel für einen Server-ARN lautet arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef.

  • Für Benutzer haben ARNs das Format arn:aws:transfer:region:account-id:user/server-id/username.

    Ein Beispiel ist arn:aws:transfer:us-east-1:123456789012:user/s-01234567890abcdef/user1.

Folgende DNS-Einträge (Endpunkte) werden verwendet:

  • API-Endpunkte haben das Format transfer.region.amazonaws.com.

  • Server-Endpunkte haben das Format server-id.server.transfer.region.amazonaws.com.

Diese API-Schnittstellenreferenz für AWS Transfer Family enthält Dokumentation für eine Programmierschnittstelle, die Sie zur Verwaltung AWS Transfer Family verwenden können. Die Referenzstruktur:

  • Eine alphabetische Liste der API-Aktionen finden Sie unter Actions.

  • Eine alphabetische Liste der Datentypen finden Sie unter. Types

  • Eine Liste der häufigen Abfrageparameter finden Sie unter Häufige Parameter.

  • Beschreibungen der Fehlercodes finden Sie unter Häufige Fehler.

Tipp

Anstatt einen Befehl tatsächlich auszuführen, können Sie den --generate-cli-skeleton Parameter mit jedem API-Aufruf verwenden, um eine Parametervorlage zu generieren und anzuzeigen. Anschließend können Sie die generierte Vorlage anpassen und als Eingabe für einen späteren Befehl verwenden. Einzelheiten finden Sie unter Generieren und Verwenden einer Parameter-Skelettdatei.

API-Anfragen stellen

Zusätzlich zur Verwendung der Konsole können Sie die AWS Transfer Family API verwenden, um Ihre Server programmgesteuert zu konfigurieren und zu verwalten. In diesem Abschnitt werden die AWS Transfer Family Vorgänge, das Signieren von Anfragen zur Authentifizierung und die Fehlerbehandlung beschrieben. Informationen zu den Regionen und Endpunkten, die für Transfer Family verfügbar sind, finden Sie unter AWS Transfer Family Endpunkte und Kontingente in der Allgemeine AWS-Referenz

Anmerkung

Sie können die AWS SDKs auch bei der Entwicklung von Anwendungen mit Transfer Family; verwenden. Die AWS SDKs für Java, .NET und PHP umschließen die zugrunde liegende Transfer Family Family-API und vereinfachen so Ihre Programmieraufgaben. Informationen zum Herunterladen der SDK-Bibliotheken finden Sie unter Beispielcodebibliotheken.

Erforderliche Anforderungsheader für Transfer Family

In diesem Abschnitt werden die erforderlichen Header beschrieben, die Sie mit jeder POST-Anfrage an senden müssen. AWS Transfer Family In HTTP-Headern geben Sie wichtige Informationen über die Abfrage an, z. B, die Operation, die aufgerufen werden soll, das Datum der Abfrage und Informationen zur Ihrer Autorisierung als Sender der Abfrage. In Headern muss Groß- und Kleinschreibung beachtet werden; die Reihenfolge der Header ist nicht wichtig.

Das folgende Beispiel zeigt Header, die in der ListServersOperation verwendet werden.

POST / HTTP/1.1 Host: transfer.us-east-1.amazonaws.com x-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}

Im Folgenden sind die Header aufgeführt, die in Ihren POST-Anfragen an Transfer Family enthalten sein müssen. Die unten aufgeführten Header, die mit „x-amz“ beginnen, sind spezifisch für. AWS Alle anderen aufgeführten Header sind allgemeine Header für HTTP-Transaktionen.

Eingaben und Unterschreiben von Familienanfragen übertragen

Alle Anforderungseingaben müssen als Teil der JSON-Nutzlast im Anfragetext gesendet werden. Für Aktionen, bei denen alle Anforderungsfelder optional sind, müssen Sie beispielsweise ListServers immer noch ein leeres JSON-Objekt im Anforderungstext angeben, z. B. {} Die Struktur der Transfer Family Family-Nutzlast request/response ist beispielsweise DescribeServerin der vorhandenen API-Referenz dokumentiert.

Transfer Family unterstützt die Authentifizierung mit AWS Signature Version 4. Einzelheiten finden Sie unter AWS API-Anfragen signieren.

Fehlermeldungen

Bei einem Fehler enthalten die Informationen im Antwort-Header:

  • Content-Type: application/x-amz-json-1.1

  • Einen passenden 4xx- oder 5xx-HTTP-Statuscode

Der Textkörper einer Fehlermeldung enthält Informationen zu dem aufgetretenen Fehler. Das folgende Beispiel zeigt eine Fehlerantwort mit der Ausgabesyntax von Antwortelementen für alle Fehlermeldungen.

{ "__type": "String", "Message": "String", <!-- Message is lowercase in some instances --> "Resource": "String", "ResourceType": "String", "RetryAfterSeconds": "String" }

In der folgenden Tabellen werden die Felder der JSON-Fehlerantwort in dieser Syntax erläutert.

__type

Eine der Ausnahmen bei einem Transfer Family Family-API-Aufruf.

Typ: Zeichenfolge

Nachricht oder Nachricht

Eine der Operationsfehlercode-Nachrichten .

Anmerkung

Einige Ausnahmen verwendenmessage, andere verwendenMessage. Sie können den Code für Ihre Schnittstelle überprüfen, um den richtigen Fall zu ermitteln. Alternativ können Sie jede Option testen, um zu sehen, welche funktioniert.

Typ: Zeichenfolge

Ressource

Die Ressource, für die der Fehler ausgelöst wurde. Wenn Sie beispielsweise versuchen, einen Benutzer zu erstellen, der bereits existiert, Resource ist dies der Benutzername für den vorhandenen Benutzer.

Typ: Zeichenfolge

ResourceType

Der Ressourcentyp, für den der Fehler ausgelöst wird. Wenn Sie beispielsweise versuchen, einen Benutzer zu erstellen, der bereits existiert, ResourceType ist User der.

Typ: Zeichenfolge

RetryAfterSeconds

Die Anzahl der Sekunden, die gewartet werden muss, bevor der Befehl erneut ausgeführt wird.

Typ: Zeichenfolge

Beispiele für Antworten auf Fehler

Der folgende JSON-Hauptteil wird zurückgegeben, wenn Sie die DescribeServer API aufrufen und einen Server angeben, der nicht existiert.

{ "__type": "ResourceNotFoundException", "Message": "Unknown server", "Resource": "s-11112222333344444", "ResourceType": "Server" }

Der folgende JSON-Hauptteil wird zurückgegeben, wenn die Ausführung einer API zu einer Drosselung führt.

{ "__type":"ThrottlingException", "RetryAfterSeconds":"1" }

Der folgende JSON-Hauptteil wird zurückgegeben, wenn Sie die CreateServer API verwenden und nicht über ausreichende Berechtigungen verfügen, um einen Transfer Family Family-Server zu erstellen.

{ "__type": "AccessDeniedException", "Message": "You do not have sufficient access to perform this action." }

Der folgende JSON-Hauptteil wird zurückgegeben, wenn Sie die CreateUser API verwenden und einen Benutzer angeben, der bereits existiert.

{ "__type": "ResourceExistsException", "Message": "User already exists", "Resource": "Alejandro-Rosalez", "ResourceType": "User" }

Verfügbare Bibliotheken

AWS bietet Bibliotheken, Beispielcode, Tutorials und andere Ressourcen für Softwareentwickler, die es vorziehen, Anwendungen mithilfe sprachspezifischer APIs anstelle der Befehlszeilentools und der Abfrage-API zu erstellen. Diese Bibliotheken bieten grundlegende Funktionen (nicht in den APIs enthalten) wie Anforderungsauthentifizierung, Wiederholungen von Anfragen und Fehlerbehandlung, sodass der Einstieg erleichtert wird. Siehe Tools, auf denen Sie aufbauen können AWS

Bibliotheken und Beispielcode in allen Sprachen finden Sie unter Beispielcode und Bibliotheken.

Identitätsanbieter

AWS Transfer Family unterstützt mehrere Identitätsanbietertypen zur Authentifizierung und Verwaltung von Benutzern. Jeder Server kann nur eine Authentifizierungsmethode verwenden, die bei der Erstellung des Servers ausgewählt werden muss.

Der Dienst wurde verwaltet

Bei der SERVICE_MANAGED Authentifizierungsmethode werden Benutzeranmeldeinformationen darin gespeichert und verwaltet AWS Transfer Family. Benutzer werden mit öffentlichen SSH-Schlüsseln authentifiziert, die mit ihrem Benutzernamen auf dem Server verknüpft sind.

Jeder Benutzer kann einen oder mehrere öffentliche SSH-Schlüssel im Dienst speichern lassen. Wenn ein Client eine Dateioperation anfordert, stellt er den Benutzernamen und den privaten SSH-Schlüssel bereit, der anhand des gespeicherten öffentlichen Schlüssels authentifiziert wird.

Directory Service

Die AWS_DIRECTORY_SERVICE Authentifizierungsmethode ermöglicht Ihnen die Integration mit dem AWS Directory Service für Microsoft Active Directory (AWS Directory Service for Microsoft Active Directory).

Mit dieser Option können Sie die Benutzerauthentifizierung und den Zugriff über Ihre vorhandenen Active Directory-Gruppen verwalten. Benutzer können sich mit ihren Active Directory-Anmeldeinformationen authentifizieren.

Es gibt ein Standardlimit von 100 Active Directory-Gruppen pro Server, das durch eine Erhöhung des Dienstlimits auf maximal 150 Gruppen erhöht werden kann.

Lambda

Die AWS_LAMBDA Authentifizierungsmethode ermöglicht es Ihnen, mithilfe von eine Verbindung zu einem benutzerdefinierten Identitätsanbieter herzustellen AWS Lambda.

Diese Option bietet Flexibilität bei der Integration in Ihre vorhandenen Identitätsmanagementsysteme. Die Lambda-Funktion ist dafür verantwortlich, Benutzer zu authentifizieren und die entsprechenden Zugriffsrichtlinien zurückzugeben.

Benutzerdefiniert (API Gateway)

Die API_GATEWAY Authentifizierungsmethode (in der Konsole als Benutzerdefiniert angezeigt) ermöglicht es Ihnen, eine benutzerdefinierte Authentifizierungsmethode zu verwenden, die sowohl Benutzerauthentifizierung als auch Zugriffskontrolle bietet.

Diese Methode basiert darauf, dass Amazon API Gateway Ihren API-Aufruf von Ihrem Identitätsanbieter verwendet, um Benutzeranfragen zu validieren. Sie können diese benutzerdefinierte Methode verwenden, um Benutzer anhand eines Verzeichnisdienstes, eines name/password Datenbankpaars oder eines anderen Mechanismus zu authentifizieren.

Für alle Authentifizierungsmethoden werden Benutzern Richtlinien zugewiesen, die ihren Zugriff auf Amazon S3 S3-Buckets oder Amazon Elastic File System-Dateisysteme definieren. Der Server erbt die Vertrauensstellung vom Benutzer über eine IAM-Rolle mit einer AssumeRole Aktion, sodass er Dateioperationen im Namen des Benutzers ausführen kann.

Benennungskonventionen

AWS Transfer Family verwendet standardisierte Formate für Ressourcen-Identifikatoren und Amazon Resource Names (ARNs). Bei der Arbeit mit der API ist es wichtig, diese Konventionen zu verstehen. AWS Transfer Family

ID-Formate

Die folgenden Konventionen werden bei AWS Transfer Family ID-Formaten eingehalten:

Server-IDs

ServerId-Werte haben das Format s-01234567890abcdef.

Öffentliche SSH-Schlüssel-IDs

SshPublicKeyId-Werte haben das Format key-01234567890abcdef.

Konnektor-IDs

ConnectorId-Werte haben das Format c-01234567890abcdef.

Workflow-IDs

WorkflowId-Werte haben das Format w-01234567890abcdef.

Profil-IDs

ProfileId-Werte haben das Format p-01234567890abcdef.

WebApp IDs

WebAppId-Werte haben das Format webapp-01234567890abcdef.

ARN-Formate

Die Formate von Amazon Resource Name (ARN) haben die folgende Form:

Server-ARNs

Für Server haben ARNs die folgende Form. arn:aws:transfer:region:account-id:server/server-id

Beispiel: arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef.

Benutzer-ARNs

Für Benutzer haben ARNs das Format arn:aws:transfer:region:account-id:user/server-id/username.

Beispiel: arn:aws:transfer:us-east-1:123456789012:user/s-01234567890abcdef/user1.

ARNs des Anschlusses

Für Steckverbinder haben ARNs die folgende Form. arn:aws:transfer:region:account-id:connector/connector-id

Beispiel: arn:aws:transfer:us-east-1:123456789012:connector/c-01234567890abcdef.

Arbeitsablauf-ARNs

Für Workflows haben ARNs die folgende Form. arn:aws:transfer:region:account-id:workflow/workflow-id

Beispiel: arn:aws:transfer:us-east-1:123456789012:workflow/w-01234567890abcdef.

WebApp ARNs

Für Webanwendungen haben ARNs die Form. arn:aws:transfer:region:account-id:webapp/webapp-id

Beispiel: arn:aws:transfer:us-east-1:123456789012:webapp/webapp-01234567890abcdef.

Sie können Entitäten mit einem ARN Tags zuweisen, bei denen es sich um Schlüssel-Wert-Paare handelt. Tags sind Metadaten, die verwendet werden können, um diese Entitäten zu gruppieren oder nach ihnen zu suchen. Tags sind beispielsweise für die Buchhaltung nützlich.

DNS und Endpunkte

AWS Transfer Family verwendet standardisierte DNS-Namenskonventionen sowohl für API-Endpunkte als auch für Serverendpunkte. Das Verständnis dieser Endpunkte ist für die Konfiguration von Clients und die Durchführung von API-Aufrufen unerlässlich.

API-Endpunkte

API-Endpunkte werden für API-Aufrufe zur Verwaltung AWS Transfer Family von Ressourcen verwendet. Diese Endpunkte haben die folgenden Formen:

Standard-API-Endpunkte

Standard-API-Endpunkte haben die Form. transfer.region.amazonaws.com

Beispiel: transfer.us-east-1.amazonaws.com

Dual-Stack API-Endpunkte

AWS Transfer Family bietet Dual-Stack-API-Endpunkte, auf die entweder über IPv4- oder IPv6-Anfragen zugegriffen werden kann:

  • https://transfer.region-code.api.aws

  • https://transfer-fips.region-code.api.aws

Server-Endpunkte

Serverendpunkte werden von Dateiübertragungsclients verwendet, um eine Verbindung zu AWS Transfer Family Servern herzustellen. Diese Endpunkte haben die folgenden Formen:

Standard-Serverendpunkte

Standard-Serverendpunkte haben die Form. server-id.server.transfer.region.amazonaws.com

Beispiel: s-01234567890abcdef.server.transfer.us-east-1.amazonaws.com

Benutzerdefinierte Hostnamen

Sie können auch benutzerdefinierte Hostnamen für Ihre AWS Transfer Family Server konfigurieren. Benutzerdefinierte Hostnamen können verwendet werden, um Ihren Benutzern ein benutzerfreundlicheres oder markenspezifischeres Erlebnis zu bieten.

Um einen benutzerdefinierten Hostnamen zu verwenden, müssen Sie:

  1. Besitzen Sie den Domainnamen

  2. Stellen Sie ein gültiges Zertifikat bereit

  3. Konfigurieren Sie DNS-Einträge so, dass sie auf Ihren AWS Transfer Family Server verweisen

Eine vollständige Liste der AWS Transfer Family Endpunkte nach AWS Regionen finden Sie unter AWS Transfer Family Endpunkte und Kontingente in der. Allgemeine AWS-Referenz