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.
Verwendung logischer Verzeichnisse zur Vereinfachung Ihrer Transfer Family Family-Verzeichnisstrukturen
Logische Verzeichnisse vereinfachen die Verzeichnisstruktur Ihres AWS Transfer Family Servers. Mit logischen Verzeichnissen können Sie eine virtuelle Verzeichnisstruktur mit benutzerfreundlichen Namen erstellen, anhand derer Benutzer navigieren, wenn sie eine Verbindung zu Ihrem Amazon S3 S3-Bucket oder Amazon EFS-Dateisystem herstellen. Dadurch wird verhindert, dass Benutzer die tatsächlichen Verzeichnispfade, Bucket-Namen und Dateisystemnamen sehen.
Anmerkung
Sie sollten Sitzungsrichtlinien verwenden, damit Ihre Endbenutzer nur Vorgänge ausführen können, deren Ausführung Sie ihnen gestatten.
Sie sollten logische Verzeichnisse verwenden, um ein benutzerfreundliches, virtuelles Verzeichnis für Ihre Endbenutzer zu erstellen und Bucket-Namen zu abstrahieren. Logische Verzeichniszuordnungen ermöglichen Benutzern nur den Zugriff auf ihre zugewiesenen logischen Pfade und Unterverzeichnisse und verbieten relative Pfade, die die logischen Wurzeln durchqueren.
Transfer Family validiert jeden Pfad, der relative Elemente enthalten könnte, und blockiert aktiv die Auflösung dieser Pfade, bevor wir diese Pfade an Amazon S3 übergeben. Dadurch wird verhindert, dass Ihre Benutzer ihre logischen Zuordnungen verlassen.
Transfer Family verhindert zwar, dass Ihre Endbenutzer auf Verzeichnisse außerhalb ihres logischen Verzeichnisses zugreifen, wir empfehlen Ihnen jedoch, auch eindeutige Rollen oder Sitzungsrichtlinien zu verwenden, um die geringsten Rechte auf Speicherebene durchzusetzen.
Grundlegendes zu Chroot und Verzeichnisstruktur
Mit einer Chroot-Operation können Sie das Stammverzeichnis eines Benutzers auf eine beliebige Stelle in Ihrer Speicherhierarchie setzen. Dadurch werden Benutzer auf ihr konfiguriertes Home- oder Stammverzeichnis beschränkt, wodurch der Zugriff auf Verzeichnisse auf höherer Ebene verhindert wird.
Stellen Sie sich einen Fall vor, in dem ein Amazon S3 S3-Benutzer auf Folgendes beschränkt istamzn-s3-demo-bucket/home/${transfer:UserName}
. Ohne Chroot könnten einige Clients es Benutzern ermöglichen, zu /amzn-s3-demo-bucket/home zu wechseln, sodass sie sich abmelden und anmelden müssen, um zum richtigen Verzeichnis zurückzukehren. Das Ausführen einer Chroot-Operation verhindert dieses Problem.
Sie können benutzerdefinierte Verzeichnisstrukturen für mehrere Buckets und Präfixe erstellen. Dies ist nützlich, wenn Ihr Workflow ein bestimmtes Verzeichnislayout erfordert, das Bucket-Präfixe allein nicht bereitstellen können. Sie können auch Links zu mehreren nicht zusammenhängenden Speicherorten innerhalb von Amazon S3 erstellen, ähnlich wie beim Erstellen eines symbolischen Links in einem Linux-Dateisystem, in dem Ihr Verzeichnispfad auf einen anderen Speicherort im Dateisystem verweist.
Regeln für die Verwendung logischer Verzeichnisse
In diesem Abschnitt werden einige Regeln und andere Überlegungen zur Verwendung logischer Verzeichnisse beschrieben.
Grenzwerte zuordnen
-
Wenn ja, ist nur eine Zuordnung zulässig
"/"
(Entry
es sind keine überlappenden Pfade zulässig). -
Logische Verzeichnisse unterstützen Zuordnungen von bis zu 2,1 MB für benutzerdefinierte IDP- und AD-Benutzer und 2.000 Einträge für vom Service verwaltete Benutzer. Sie können die Größe Ihrer Zuordnungen wie folgt berechnen:
-
Schreiben Sie ein typisches Mapping in dem Format aus
{"Entry":"/
, woentry-path
","Target":"/target-path
"}
und wo die tatsächlichen Werteentry-path
sind, die Sie verwenden werden.target-path
-
Zählen Sie die Zeichen in dieser Zeichenfolge und fügen Sie dann eins hinzu (1).
-
Multiplizieren Sie diese Zahl mit der ungefähren Anzahl von Zuordnungen, die Sie für Ihren Server haben.
Wenn die Zahl, die Sie in Schritt 3 geschätzt haben, weniger als 2,1 MB beträgt, liegen Ihre Zuordnungen innerhalb des akzeptablen Grenzwerts.
-
Anforderungen an den Zielpfad
-
Verwenden Sie
${transfer:UserName}
eine Variable, wenn der Bucket- oder Dateisystempfad auf der Grundlage des Benutzernamens parametrisiert wurde. -
Ziele können so konfiguriert werden, dass sie auf verschiedene Amazon S3 S3-Buckets oder Dateisysteme verweisen, sofern die zugehörige IAM-Rolle über die erforderlichen Berechtigungen für den Zugriff auf diese Speicherorte verfügt.
-
Alle Ziele müssen mit einem Schrägstrich (
/
) beginnen, dürfen aber nicht mit einem enden. Zum Beispiel/amzn-s3-demo-bucket/images
ist richtig, währendamzn-s3-demo-bucket/images
und/amzn-s3-demo-bucket/images/
nicht.
Überlegungen zur Speicherung
-
Amazon S3 ist ein Objektspeicher, in dem Ordner nur als virtuelles Konzept existieren. Bei Verwendung von Amazon S3 S3-Speicher meldet Transfer Family Präfixe als Verzeichnisse in STAT-Vorgängen, auch wenn kein Null-Byte-Objekt mit einem abschließenden Schrägstrich vorhanden ist. Ein richtiges Null-Byte-Objekt mit einem abschließenden Schrägstrich wird bei STAT-Vorgängen auch als Verzeichnis gemeldet. Dieses Verhalten wird unter Organisieren von Objekten in der Amazon S3 S3-Konsole mithilfe von Ordnern im Amazon Simple Storage Service-Benutzerhandbuch beschrieben.
-
Für Anwendungen, die zwischen Dateien und Ordnern unterscheiden müssen, verwenden Sie Amazon Elastic File System (Amazon EFS) als Ihre Transfer Family Family-Speicheroption.
-
Wenn Sie logische Verzeichniswerte für Ihren Benutzer angeben, hängt der verwendete Parameter vom Benutzertyp ab:
-
Geben Sie für vom Dienst verwaltete Benutzer logische Verzeichniswerte in
HomeDirectoryMappings
ein. -
Geben Sie für Benutzer eines benutzerdefinierten Identitätsanbieters logische Verzeichniswerte in an
HomeDirectoryDetails
.
-
Werte für Benutzerverzeichnisse
-
Der Parameter für die Angabe logischer Verzeichniswerte hängt von Ihrem Benutzertyp ab:
-
Geben Sie für vom Dienst verwaltete Benutzer logische Verzeichniswerte in
HomeDirectoryMappings
ein. -
Geben Sie für Benutzer eines benutzerdefinierten Identitätsanbieters logische Verzeichniswerte in an
HomeDirectoryDetails
.
-
-
Wenn Sie LOGICAL verwenden HomeDirectoryType, können Sie einen HomeDirectory Wert für vom Service verwaltete Benutzer, Active Directory-Zugriff und benutzerdefinierte Identity Provider-Implementierungen angeben, sofern diese in der Antwort angegeben HomeDirectoryDetails werden. Wenn nicht angegeben, ist der HomeDirectory Standardwert.
/
Einzelheiten zur Implementierung logischer Verzeichnisse finden Sie unterImplementierung logischer Verzeichnisse.
Logische Verzeichnisse für Amazon EFS konfigurieren
Wenn Ihr Transfer Family Family-Server Amazon EFS verwendet, muss das Home-Verzeichnis für den Benutzer mit Lese- und Schreibzugriff erstellt werden, bevor der Benutzer in seinem logischen Home-Verzeichnis arbeiten kann. Der Benutzer kann dieses Verzeichnis nicht selbst erstellen, da ihm die entsprechenden Berechtigungen für mkdir
sein logisches Home-Verzeichnis fehlen würden.
Wenn das Basisverzeichnis des Benutzers nicht existiert und er einen ls
Befehl ausführt, reagiert das System wie folgt:
sftp> ls remote readdir ("/"): No such file or directory
Ein Benutzer mit Administratorzugriff auf das übergeordnete Verzeichnis muss das logische Home-Verzeichnis des Benutzers erstellen.
Benutzerdefinierte AWS Lambda Antwort
Sie können logische Verzeichnisse mit einer Lambda-Funktion verwenden, die eine Verbindung zu Ihrem benutzerdefinierten Identitätsanbieter herstellt. Dazu geben Sie in Ihrer Lambda-Funktion die Target
Werte HomeDirectoryType
as LOGICAL
und add Entry
und für den HomeDirectoryDetails
Parameter an. Zum Beispiel:
HomeDirectoryType: "LOGICAL" HomeDirectoryDetails: "[{\"Entry\": \"/\", \"Target\": \"/amzn-s3-demo-bucket/theRealFolder"}]"
Der folgende Code ist ein Beispiel für eine erfolgreiche Antwort auf einen benutzerdefinierten Lambda-Authentifizierungsaufruf.
aws transfer test-identity-provider \ --server-id s-1234567890abcdef0 \ --user-name myuser { "Url": "https://a1b2c3d4e5.execute-api.us-east-2.amazonaws.com/prod/servers/s-1234567890abcdef0/users/myuser/config", "Message": "", "Response": "{\"Role\": \"arn:aws:iam::123456789012:role/bob-usa-role\", \"HomeDirectoryType\": \"LOGICAL\", \"HomeDirectoryDetails\": \"[{\\\"Entry\\\":\\\"/myhome\\\",\\\"Target\\\":\\\"/amzn-s3-demo-bucket/theRealFolder\\\"}]\", \"PublicKeys\": \"[ssh-rsa myrsapubkey]\"}", "StatusCode": 200 }
Anmerkung
Die "Url":
Zeile wird nur zurückgegeben, wenn Sie eine API Gateway Gateway-Methode als Ihren benutzerdefinierten Identitätsanbieter verwenden.