Ich möchte, dass mein AWS Transfer Family-Server in meinem AWS-Konto auf ein Amazon Elastic File System (Amazon EFS)-Dateisystem in einem anderen Konto zugreift. Ich möchte auch meinen Transfer Family-Server mit kontoübergreifendem Zugriff auf das Amazon EFS-Dateisystem einrichten.
Behebung
Hinweis: Wenn du beim Ausführen von AWS CLI-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.
Um den Transfer Family-Server zu konfigurieren, erstelle eine AWS Identity and Access Management (IAM)-Rolle in Konto A mit Zugriff auf das Dateisystem in Konto B. Erstelle dann einen Transfer Family-Serverbenutzer, der mit der IAM-Rolle in Konto A konfiguriert ist. Stelle sicher, dass der Transfer Family-Serverbenutzer in Konto A auf das Dateisystem in Konto B zugreifen kann.
Hinweis: Die AWS Transfer Family-Konsole zeigt nur das Amazon EFS-Dateisystem an, das sich im selben Konto befindet. Verwende die AWS-CLI oder ein AWS-SDK, um den Transfer Family-Server mit einem Dateisystem zu verwenden, das sich in einem anderen Konto befindet.
Erstellen einer IAM-Rolle in Konto A mit Zugriff auf das Dateisystem
Erstelle eine IAM-Rolle für die Serverbenutzer. Verwende für die IAM-Richtlinie der Rolle die folgende Richtlinienanweisung:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "RootFileSystemAccess",
"Effect": "Allow",
"Action": [
"elasticfilesystem:ClientRootAccess",
"elasticfilesystem:ClientMount",
"elasticfilesystem:ClientWrite"
],
"Resource": "arn:aws:elasticfilesystem:region:accountB-id:file-system/file-system-id"
}
]
}
Füge im Dateisystem für Konto B eine Richtlinie hinzu, die die Berechtigung für die IAM-Rolle von Konto A erteilt:
{
"Sid": "EFS-TransferFamily",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::AccounA-id:role/RoleName"
},
"Action": [
"elasticfilesystem:ClientRootAccess",
"elasticfilesystem:ClientWrite",
"elasticfilesystem:ClientMount"
],
"Resource": "arn:aws:elasticfilesystem:region:accountB-id:file-system/file-system-id"
}
Einen Transfer-Family-Serverbenutzer mit der IAM-Rolle in Konto A erstellen
Führe den folgenden AWS-CLI-Befehl create-user aus, um einen Transfer Family-Benutzer zu erstellen:
aws transfer create-user --user-name "sftp" --server-id "SERVER-ID" --role "arn:aws:iam::accountA-id:role/RoleName" --home-directory "/file-system-id/username"
Der Befehl gibt die Server-ID und den Benutzernamen zurück.
Beispielausgabe:
{
"ServerId": "MY_SERVER_ID",
"UserName": "MY_SERVER_USER_NAME"
}
Überprüfen, ob der Transfer-Family-Serverbenutzer in Konto A auf das Dateisystem in Konto B zugreifen kann
Führe die folgenden Schritte aus:
-
Verbinde dich mit dem Server als der von dir erstellte Benutzer. Du kannst den folgenden OpenSSH-Befehl sftp ausführen, um eine Verbindung herzustellen:
sftp -i myserveruser MY_SERVER_USER_NAME@MY_SERVER_ID.server.transfer.us-east-1.amazonaws.com
-
Gib das Home-Verzeichnis des Buckets an. Wenn du OpenSSH verwendest, führe den Befehl ls aus:
ls
Wenn der Befehl das Home-Verzeichnis zurückgibt, dann hat der Serverbenutzer kontoübergreifenden Zugriff auf das Amazon EFs-Dateisystem.
Ähnliche Informationen
Erstellen eines SFTP-fähigen Servers
Erstellen von Dateisystemrichtlinien
Wie konfiguriere ich meinen AWS Transfer Family-Server für die Verwendung eines Amazon-S3-Buckets, der sich in einem anderen AWS-Konto befindet?
Konfiguration des kontoübergreifenden Zugriffs für Transfer Family