AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
Wie konfiguriere ich meinen AWS Transfer Family-Server für die Verwendung eines Amazon-S3-Buckets, der sich in einem anderen AWS-Konto befindet?
Ich möchte, dass mein AWS Transfer Family-Server in Konto A auf einen Amazon Simple Storage Service (Amazon S3)-Bucket in einem anderen Konto, d. h. Konto B zugreift. Ich möchte meinen Server mit kontoübergreifendem Zugriff auf den Bucket einrichten.
Kurzbeschreibung
Gehen Sie wie folgt vor:
- Erstellen Sie eine AWS Identity and Access Management (IAM)-Rolle in Konto A mit Zugriff auf den Bucket.
- Aktualisieren Sie die Bucket-Richtlinie, um der IAM-Rolle in Konto B kontoübergreifenden Zugriff zu gewähren.
- Erstellen Sie einen Transfer-Family-Serverbenutzer, der mit der IAM-Rolle in Konto A konfiguriert ist.
- Überprüfen Sie, ob Ihr Transfer-Family-Serverbenutzer in Konto A auf den S3-Bucket in Konto B zugreifen kann.
- (Optional) Setzen Sie die S3-Objekteigentümerschaft auf den in Konto B bevorzugten Bucket-Eigentümer.
Hinweis: Die AWS Transfer-Family-Konsole zeigt nur die Amazon S3-Buckets desselben Kontos an. Um Ihren Transfer-Family-Server mit einem Bucket in einem anderen Konto zu verwenden, müssen Sie die AWS-Befehlszeilenschnittstelle (AWS CLI) oder ein AWS-SDK verwenden.
Behebung
Erstellen einer IAM-Rolle in Konto A mit Zugriff auf den Bucket
Erstellen Sie eine IAM-Rolle für Ihre Serverbenutzer. Verwenden Sie für die IAM-Richtlinie der Rolle Folgendes:
Hinweis: Ersetzen Sie destination-DOC-EXAMPLE-BUCKET durch den Namen des S3-Buckets, auf den Ihr Server zugreifen soll.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingBucketReadandWriteandDelete", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:GetObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:GetObjectVersion", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::destination-DOC-EXAMPLE-BUCKET/*", "arn:aws:s3:::destination-DOC-EXAMPLE-BUCKET" ] } ] }
Hinweis: Die Transfer-Familie benötigt die s3:PutObjectAcl-Berechtigung, um kontoübergreifende S3-Uploads durchzuführen.
Nachdem Sie die IAM-Rolle erstellt haben, rufen Sie die Rollen-ID ab, indem Sie den Befehlget-role ausführen, ähnlich wie im Folgenden beschrieben:
$ aws iam get-role --role-name "ROLE_NAME"
Sie benötigen die Rollen-ID für den nächsten Schritt.
Aktualisieren Sie die Bucket-Richtlinie, um der IAM-Rolle in Konto B kontoübergreifenden Zugriff zu gewähren
Ändern Sie die Richtlinie des Ziel-Buckets, um der von Ihnen erstellten IAM-Rolle Zugriff zu gewähren. Sie können eine Bucket-Richtlinie wie die folgende verwenden:
Hinweis: Ersetzen Sie arn:aws:iam::123456789012:root durch den Amazon-Ressourcennamen (ARN) des Kontos, zu dem Ihr Server gehört. Ersetzen Sie destination-doc-example-bucket durch den Namen des Buckets. Ersetzen Sie AROA1234567890 durch die Rollen-ID der von Ihnen erstellten IAM-Rolle.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "BucketPolicyForTransferFamily", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:GetObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:GetObjectVersion", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::destination-DOC-EXAMPLE-BUCKET", "arn:aws:s3:::destination-DOC-EXAMPLE-BUCKET/*" ], "Condition": { "StringLike": { "aws:userId": "AROA1234567890:*" } } } ] }
Das Element „Bedingung“ in dieser Beispielrichtlinie ist optional. Fügen Sie das Element Bedingung ein, um den Zugriff auf den Bereich nur der von Ihnen angegebenen IAM-Rolle zu gewähren. Oder entfernen Sie das Element, um allen IAM-Rollen und Benutzern des Kontos, zu dem Ihr Server gehört, Zugriff zu gewähren.
Erstellen Sie einen Transfer-Family-Serverbenutzer, der mit der IAM-Rolle in Konto A konfiguriert ist
1.Generieren Sie SSH-Schlüssel für Ihren Transfer-Family-Server.
2.Ermitteln Sie die Server-IDIhres Servers.
3.Führen Sie den Befehlcreate-user über die AWS-CLI aus. Geben Sie für --server-id die ID Ihres Servers ein. Geben Sie für --role den ARN der IAM-Rolle ein, die Sie erstellt haben. Geben Sie für --ssh-public-key-body den Inhalt der .pub-Datei ein, die Sie beim Erstellen der SSH-Schlüssel generiert haben.
$ aws transfer create-user --user-name "MY_SERVER_USER_NAME" --server-id "MY_SERVER_ID" --role "MY_IAM_ROLE_ARN" --home-directory "/destination-DOC-EXAMPLE-BUCKET/MY_SERVER_USER_NAME" --ssh-public-key-body "CONTENTS_OF_MY_SSH_.PUB_FILE"
Hinweis: Wenn Sie beim Ausführen von AWS-CLI-Befehlen Fehler erhalten,stellen Sie sicher, dass Sie die neueste Version der AWS-CLI verwenden.
Der Befehl gibt die Server-ID und den von Ihnen erstellten Benutzer zurück:
{ "ServerId": "MY_SERVER_ID", "UserName": "MY_SERVER_USER_NAME" }
Wichtig: Um den Zugriff des Serverbenutzers nur auf sein Home-Verzeichnis zu beschränken,erstellen Sie in IAM eine Scope-Down-Richtlinie. Bearbeiten Sie dann die Eigenschaften des Serverbenutzers, um die von Ihnen erstellte Richtlinie zur Einschränkung des Umfangs anzuwenden.
Überprüfen Sie, ob Ihr Transfer-Family-Serverbenutzer in Konto A auf den Bucket in Konto B zugreifen kann
1.Verbinden Sie sich mit Ihrem Server als der von Ihnen erstellte Benutzer. Dieser OpenSSH-Befehl stellt beispielsweise eine Verbindung zu einem SFTP-Server her:
$ sftp -i myserveruser MY_SERVER_USER_NAME@MY_SERVER_ID.server.transfer.us-east-1.amazonaws.com
2.Geben Sie testweise das Home-Verzeichnis des Buckets an. Wenn Sie OpenSSH verwenden, führen Sie diesen Befehl aus:
$ ls
Wenn der Befehl das Home-Verzeichnis zurückgibt, dann hat Ihr Serverbenutzer kontoübergreifenden Zugriff auf den Bucket.
(Optional) Setzen Sie die S3-Objekteigentümerschaft auf den in Konto B bevorzugten Bucket-Eigentümer
Standardmäßig ist ein Amazon-S3-Objekt Eigentum des AWS-Kontos, welches das Objekt hochgeladen hat. Das bedeutet, dass die in den Ziel-Bucket hochgeladenen Objekte standardmäßig dem Konto des Quell-Servers gehören.
Um das Zielkonto so zu aktivieren, dass es automatisch Eigentümer von Objekten aus kontoübergreifenden Uploads wird, setzen Sie die S3-Objekteigentümerschaft des Ziel-Buckets auf Bucket-Eigentümer bevorzugt. Nachdem Sie das getan haben, gehören alle neuen Objekte, die über den AWS-Transfer-Family-Server hochgeladen werden, automatisch dem Konto des Ziel-Buckets.
Weitere Informationen
CreateUser (AWS-Transfer-Family-Benutzerhandbuch)
Hinzufügen eines Benutzers (AWS-Transfer-Family-Benutzerhandbuch)
- Sprache
- Deutsch

