Wie kann ich meiner Amazon-EC2-Instance Zugriff auf einen Amazon S3 Bucket gewähren?

Letzte Aktualisierung am 22.07.2021

Ich kann von meiner Amazon-Elastic-Compute-Cloud-Instance (Amazon EC2) nicht auf einen Amazon-Simple-Storage-Service-Bucket (Amazon S3) zugreifen. Wie kann ich den Lese-/Schreibzugriff auf S3 Buckets von einer EC2-Instance aktivieren?

Kurzbeschreibung

Folgende Schritte sind notwendig, um eine Verbindung zu Ihren S3 Buckets von Ihren EC2-Instances herzustellen:

1.    Erstellen Sie eine AWS Identity and Access-Management (IAM)-Profil-Rolle, die Zugriff auf Amazon S3 gewährt.

2.    Fügen Sie das IAM-Instance-Profil an die Instance an.

3.    Überprüfen Sie die Berechtigungen für Ihren S3 Bucket.

4.    Überprüfen Sie die Netzwerkverbindung von der EC2-Instance zu Amazon S3.

5.    Überprüfen Sie den Zugriff auf S3 Buckets.

Auflösung

Erstellen Sie ein IAM-Instance-Profil, das Zugriff auf Amazon S3 gewährt

1.    Öffnen Sie die IAM-Konsole.

2.    Wählen Sie Rollen und dann Rolle erstellen aus.

3.    Wählen Sie AWS-Service und dann EC2 aus.

Hinweis: Beim Erstellen einer IAM-Rolle über die Konsole mit EC2 als ausgewählter vertrauenswürdiger juristischer Stelle wird automatisch ein IAM-Instance-Profil mit demselben Namen wie der Rollenname erstellt. Wenn die Rolle jedoch über das AWS Command Line Interface (AWS CLI) oder über die API erstellt wird, wird nicht automatisch ein Instance-Profil erstellt. Weitere Informationen finden Sie unter Ich habe eine IAM-Rolle erstellt, aber die Rolle wird beim Start einer Instance nicht in der Dropdown-Liste angezeigt. Was soll ich tun?

4.    Wählen Sie Weiter: Berechtigungen aus.

5.    Erstellen Sie eine benutzerdefinierte Richtlinie, die die erforderlichen Mindestberechtigungen für den Zugriff auf Ihren S3 Bucket bereitstellt. Anweisungen zum Erstellen benutzerdefinierter Richtlinien finden Sie unter Schreiben von IAM-Richtlinien: Gewähren des Zugriffs auf einen Amazon S3 Bucket und Identity and Access Management in Amazon S3.

Hinweis: Das Erstellen einer Richtlinie mit den erforderlichen Mindestberechtigungen ist eine bewährte Methode zur Sicherheit. Um jedoch EC2-Zugriff auf alle Ihre Amazon S3 Buckets zuzulassen, können Sie die durch AmazonS3ReadOnlyAccess oder AmazonS3FullAccess verwaltete IAM-Richtlinie verwenden.

6.    Wählen Sie Weiter: Tags und dann Weiter: Überprüfen aus.

7.    Geben Sie einen Rollennamen ein, und wählen Sie dann Rolle erstellen aus.

Fügen Sie das IAM Instance-Profil an die EC2-Instance an

1.    Öffnen der Amazon-EC2-Konsole.

2.    Wählen Sie Instances aus.

3.    Wählen Sie die Instance aus, der Sie die IAM-Rolle zuordnen möchten.

4.    Wählen Sie die Registerkarte Aktionen, wählen Sie Sicherheit und dann IAM-Rolle ändern aus.

5.    Wählen Sie die soeben erstellte IAM-Rolle aus, und klicken Sie dann auf Speichern. Die IAM-Rolle wird Ihrer EC2-Instance zugewiesen.

Überprüfen der Berechtigungen für Ihren S3 Bucket

1.    Öffnen Sie die Amazon-S3-Konsole.

2.    Wählen Sie den S3 Bucket aus, für den Sie die Richtlinie überprüfen möchten.

3.    Wählen Sie Berechtigungen aus.

4.    Wählen Sie Bucket-Richtlinie aus.

5.    Suche nach Anweisungen mit Auswirkung: Zugriffsverweigerung.

6.    Bearbeiten oder entfernen Sie in Ihrer Bucket-Richtlinie alle Anweisungen mit Auswirkung: Zugriffsverweigerung, die den Zugriff des IAM Instance-Profils auf Ihren Bucket verweigern. Anweisungen zur Bearbeitung von Richtlinien finden Sie unter Bearbeiten von IAM-Richtlinien.

Überprüfen Sie die Netzwerkverbindung von der EC2-Instance zu Amazon S3

Stellen Sie sicher, dass die EC2-Instance über eine Verbindung zu S3-Endpunkten verfügt.

Die Instance muss eines der folgenden sein:

EC2-Instance mit einer öffentlichen IP-Adresse und einem Routing-Tabelleneintrag, wobei die Standardroute auf ein Internet-Gateway zeigt.
Private EC2-Instance mit einer Standardroute über ein NAT-Gateway.
Private EC2-Instance mit Verbindung zu Amazon S3 über einen Gateway-VPC-Endpunkt.

Überprüfen des Zugriffs auf S3 Buckets

1.    Installieren Sie die AWS CLI.

Hinweis: Wenn Sie beim Ausführen von AWS-CLI-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste Version der AWS CLI verwenden.

2.    Überprüfen Sie den Zugriff auf Ihre S3 Buckets durch Ausführen des folgenden Befehls. Ersetzen Sie DOC-EXAMPLE-BUCKET durch den Namen Ihres S3 Buckets.

aws s3 ls s3://DOC-EXAMPLE-BUCKET

Hinweis: S3-Objekte, die mit einem AWS Key Management Service (AWS KMS)-Schlüssel verschlüsselt sind, müssen über die Berechtigungen kms: Decrypt wie folgt verfügen:
Die der Instance zugeordnete IAM-Rolle.
Die KMS-Schlüssel-Richtlinie.

Wenn diese Berechtigungen nicht erteilt sind, können Sie die S3-Objekte nicht kopieren oder herunterladen. Weitere Informationen finden Sie unter Muss ich den AWS-KMS-Schlüssel angeben, wenn ich ein KMS-verschlüsseltes Objekt von Amazon S3 herunterlade?


War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?