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

Lesedauer: 4 Minute
0

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

Kurzbeschreibung

Um von Ihren EC2-Instances aus eine Verbindung zu Ihren S3-Buckets herzustellen, müssen Sie Folgendes tun:

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

  2. Hängen 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 Netzwerkkonnektivität von der EC2-Instance zu Amazon S3.

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

Behebung

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.

  1. Wählen Sie AWS Service aus und wählen Sie dann EC2 unter Anwendungsfall aus.

Hinweis: Wenn Sie von der Konsole aus eine IAM-Rolle erstellen und EC2 als vertrauenswürdige Entität auswählen, wird automatisch ein IAM-Instance-Profil mit demselben Namen wie der Rollenname erstellt. Wenn die Rolle jedoch mithilfe der 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 erscheint nicht in der Dropdownliste, wenn ich eine Instance starte. Was muss ich machen?

4.Wählen Sie Weiter: Berechtigungen aus.

  1. 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ährung des Zugriffs auf einen Amazon S3-Bucket und Identitäts- und Zugriffsmanagement in Amazon S3.

Hinweis: Das Erstellen einer Richtlinie mit den erforderlichen Mindestberechtigungen ist eine bewährte Sicherheitsmethode. Um EC2 jedoch den Zugriff auf alle Ihre Amazon S3-Buckets zu ermöglichen, verwenden Sie die verwaltete IAM-Richtlinie AmazonS3ReadOnlyAccess oder AmazonS3FullAccess.

6.Wählen Sie Weiter: Schlagworte aus, und wählen Sie dann ** Weiter: Prüfen** aus.

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

Hängen Sie das IAM-Instance-Profil an die EC2-Instance an

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

2.Wählen Sie Instances aus.

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

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

  3. Wählen Sie die IAM-Rolle aus, die Sie gerade erstellt haben, und klicken Sie dann auf Speichern. Die IAM-Rolle ist Ihrer EC2-Instance zugewiesen.

Bestätigen Sie die Berechtigungen für Ihren S3-Bucket

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

  1. 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.Suchen Sie nach Aussagen mit Effekt: Ablehnen.

  1. Bearbeiten oder entfernen Sie in Ihrer Bucket-Richtlinie alle Effekt: Ablehnen-Anweisungen ab, die dem IAM-Instance-Profil den Zugriff auf Ihren Bucket verweigern. Anweisungen zum Bearbeiten von Richtlinien finden Sie unter Bearbeiten von IAM-Richtlinien.

Überprüfen Sie die Netzwerkkonnektivität von der EC2-Instance zu Amazon S3

Damit Ihre EC2-Instance eine Verbindung zu S3-Endpunkten herstellen kann, muss es sich bei der Instance um eine der folgenden Instances handeln:

  • EC2-Instance mit einer öffentlichen IP-Adresse und einem Routing-Tabellen-Eintrag, bei dem die Standardroute auf ein Internet-Gateway verweist
  • Private EC2-Instance mit einer Standardroute über ein NAT-Gateway
  • Private EC2-Instance mit Konnektivität zu Amazon S3 über einen Gateway-VPC-Endpunkt

Informationen zur Fehlerbehebung bei der Konnektivität zwischen einer privaten EC2-Instance und einem S3-Bucket finden Sie unter Warum kann ich über einen Gateway-VPC-Endpunkt keine Verbindung zu einem S3-Bucket herstellen?

Überprüfen Sie den Zugriff auf S3-Buckets

  1. Installieren Sie die AWS CLI auf Ihrer EC2-Instance.

**Hinweis:**Wenn beim Ausführen von Befehlen über AWS CLI Fehler auftreten, stellen Sie sicher, dass Sie die neueste Version von AWS CLI verwenden.

  1. Überprüfen Sie den Zugriff auf Ihre S3-Buckets, indem Sie den folgenden Befehl ausführen. 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 kms: Entschlüsseln-Berechtigungen, die im Folgenden gewährten werden:

  • Die der Instance zugeordnete IAM-Rolle.
  • Die KMS-Schlüsselrichtlinie.

Wenn diese Berechtigungen nicht erteilt werden, 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?


Ähnliche Informationen

Warum kann ich über einen Gateway-VPC-Endpunkt keine Verbindung zu einem S3-Bucket herstellen?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren