Direkt zum Inhalt

Wie gewähre ich meiner EC2-Instance Zugriff auf einen S3-Bucket?

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.

Behebung

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (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.

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

Führe die folgenden Schritte aus:

  1. Öffne die AWS Identity and Access Management (IAM, Identitäts- und Zugriffsmanagement)-Konsole.
  2. Wähle im Navigationsbereich unter Zugriffsverwaltung die Option Rollen aus.
  3. Wähle Rolle erstellen.
  4. Wähle für Typ vertrauenswürdiger Entitäten die Option AWS-Service aus. Wähle für Service oder Anwendungsfall EC2 aus. Wähle für Anwendungsfall die Option EC2 aus.
    Hinweis: Wenn du die IAM-Konsole verwendest, um eine IAM-Rolle zu erstellen und EC2 als vertrauenswürdige Entität auswählst, wird automatisch ein IAM-Instance-Profil erstellt. Das neu erstellte IAM-Instance-Profil hat denselben Namen wie die Rolle. Wenn du jedoch die AWS CLI oder eine API verwendest, um die Rolle zu erstellen, wird nicht automatisch ein Instance-Profil erstellt. Weitere Informationen findest du unter Ich habe eine IAM-Rolle erstellt, aber die Rolle erscheint nicht in der Dropdown-Liste, wenn ich eine Instance starte. Was mache ich?
  5. Wähle Weiter aus.
  6. Erstelle eine benutzerdefinierte Richtlinie, die die erforderlichen Mindestberechtigungen für den Zugriff auf den S3-Bucket bereitstellt.
    Hinweis: Das Erstellen einer Richtlinie mit den erforderlichen Mindestberechtigungen ist eine bewährte Sicherheitsmethode. Um Amazon EC2 jedoch Zugriff auf alle S3-Buckets zu gewähren, verwende die verwaltete IAM-Richtlinie AmazonS3ReadOnlyAccess oder AmazonS3FullAccess.
  7. Wähle die erforderliche Richtlinie aus und wähle dann Weiter.
  8. Gib einen Rollennamen ein und wähle dann Rolle erstellen aus.

Hänge das IAM-Instance-Profil an die EC2-Instance an

Führe die folgenden Schritte aus:

  1. Öffne die Amazon-EC2-Konsole.
  2. Wähle im Navigationsbereich Instances aus.
  3. Wähle die Instance aus, an die du die IAM-Rolle anfügen möchtest.
  4. Wähle Aktionen und dann Sicherheit aus.
  5. Wähle IAM-Rolle ändern.
  6. Wähle die IAM-Rolle aus, die du gerade erstellt hast, und wähle dann Speichern. Die IAM-Rolle ist deiner EC2-Instance zugewiesen.

Verifiziere die Berechtigungen für den S3-Bucket

Führe die folgenden Schritte aus:

  1. Öffne die Amazon-S3-Konsole.
  2. Wähle den S3-Bucket aus, für den du die Richtlinie überprüfen möchtest.
  3. Wähle die Registerkarte Berechtigungen aus.
  4. Suche im Abschnitt Bucket-Richtlinie nach Anweisungen, die Effect: Deny (Effekt:Verweigern) enthalten.
  5. Bearbeite die IAM-Richtlinie, um alle Anweisungen Effect: Deny (Effekt:Verweigern) zu entfernen, die dem IAM-Instance-Profil den Zugriff auf deinen Bucket verweigern.

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

Voraussetzungen

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

Informationen zur Fehlerbehebung bei der Konnektivität zwischen einer privaten EC2-Instance und einem S3-Bucket findest du unter Wie behebe ich Verbindungsprobleme mit meinen Gateway-Amazon-VPC-Endpunkten?

Den Zugriff auf S3-Buckets überprüfen

Führe die folgenden Schritte aus:

  1. Installiere die AWS CLI auf der EC2-Instance.
  2. Überprüfe den Zugriff auf die S3-Buckets, indem du den folgenden Befehl ausführst:
    aws s3 ls s3://DOC-EXAMPLE-BUCKET
    Hinweis: Ersetze DOC-EXAMPLE-BUCKET durch den Namen deines S3-Buckets.

Gewähre für S3-Objekte, die mit einem AWS Key Management Service (AWS KMS)-Schlüssel verschlüsselt sind, kms: Decrypt-Berechtigungen in der IAM-Rolle und der KMS-Schlüsselrichtlinie. Wenn du keine kms:Decrypt-Berechtigungen gewährst, kannst du die S3-Objekte nicht kopieren oder herunterladen.

Ähnliche Informationen

Identitäts- und Zugriffsmanagement für Amazon S3

Wie behebe ich Verbindungsprobleme, wenn ich VPC-Schnittstellen-Endpunkte verwende, um eine Verbindung zu meinem Amazon S3-Bucket herzustellen?

AWS OFFICIALAktualisiert vor einem Jahr