Wie kann man "Zugriff verweigert" beim Löschen der leeren S3 Elastic Beanstalk beheben?

73

Ich habe festgestellt, dass Elastic Beanstalk jeden Monat etwa 20 bis 30 US-Dollar auf mein AWS-Konto zieht und es sich herausstellt, dass es sich um einen leeren S3-Eimer handelt.

Ich habe versucht, es zu löschen, aber es wird der Fehler "Zugriff verweigert" zurückgegeben.

Zugriff verweigert

Ich habe auch versucht, den Lebenszyklus zu verwenden, um es zu entfernen, aber es hat auch nicht funktioniert. So richte ich den Lebenszyklus ein:

Lebenszyklus

Ich habe es so eingestellt, dass es 1 Tag nach der Erstellung entfernt wird

Geben Sie hier die Bildbeschreibung ein

Aero Wang
quelle
Sie müssen woanders nach den $ 20- $ 30 suchen ... Es kommt nicht aus einem leeren Eimer. Sie haben eine Elastic Beanstalk-Umgebung, die tatsächlich ausgeführt wird. Der Bucket ist nur seine Konfiguration.
Michael - sqlbot
@ Michael-sqlbot Ich habe nie eine EB eingerichtet.
Aero Wang
Versuchen Sie, die elastische Bohnenstiel-Anwendung von der Konsole zu löschen
Tal
@tal gibt die Nachricht "Zugriff verweigert" zurück.
Aero Wang
Haben Sie denselben Benutzer verwendet, der ihn erstellt hat? Wenn Sie tun, als Ihre Dame Chance ist aws Unterstützung
Tal

Antworten:

145

Überprüfen Sie die Bucket-Richtlinie für den S3-Bucket. Der Bucket-Name scheint der Standard-Bucket zu sein, den Beanstalk zum Speichern Ihrer Anwendungsversionen, Protokolle usw. erstellt. Um ein versehentliches Löschen des Buckets zu verhindern, verweigert die Bucket-Richtlinie die Löschberechtigung. Sie können die Berechtigungen für die S3-Bucket-Richtlinie aktualisieren, um das Löschen von Ihrem Root-Konto zu ermöglichen. Höchstwahrscheinlich erlaubt Ihre Bucket-Richtlinie derzeit nicht das Löschen des Buckets. Dann können Sie den Bucket löschen.

Weitere Informationen zu S3-Bucket-Berechtigungen finden Sie hier: http://docs.aws.amazon.com/AmazonS3/latest/UG/EditingBucketPermissions.html

Rohit Banga
quelle
23
Ich spreche nicht über die Berechtigung Ihres IAM-Benutzers oder Root-Kontos. Überprüfen Sie Ihre S3-Bucket-Richtlinie. Klicken Sie mit der rechten Maustaste auf den Bucket in der S3-Konsole, wählen Sie Eigenschaften aus und wählen Sie im Abschnitt Berechtigungen des Eigenschaftenbereichs "Bucket-Richtlinie bearbeiten". Ich denke, Sie werden dort eine Ablehnung auf DeleteBucket finden.
Rohit Banga
8
"Höchstwahrscheinlich erlaubt Ihre Bucket-Richtlinie derzeit nicht das Löschen des Buckets" - Direkt auf der Marke. Rettete meinen Tag!
Vinay Vissh
1
Ich musste tatsächlich den Abschnitt entfernen, der die Berechtigung zum Löschen des Stamms aus dem JSON verweigerte.
Theillien
2
Rettete auch meinen Tag! Ich bin überrascht, warum sie nicht einfach die GUI anstelle der Edition eines JSON bereitstellen können. Bucket-Richtliniendatei stattdessen. Kein Wunder, dass sie eine kostenlose Testphase von 1 Jahr anbieten, nur um nach der Testversion eine Gebühr zu erheben.
mark42inbound
3
Wenn jemand das JSON-Richtliniendokument nicht bearbeiten und speichern kann, löschen Sie das Richtliniendokument für den s3-Bucket. dann können Sie löschen.
Vishwasa Navada K
69

Elastische Bohnenstange fügte diese Einschränkung automatisch hinzu, wenn der Eimer erstellt wird. Um es zu entfernen, müssen Sie zuerst den Eimer leeren.

Wählen Sie anschließend den Bucket -> Eigenschaften -> Berechtigungen -> Bucket-Richtlinie bearbeiten .

Geben Sie hier die Bildbeschreibung ein

Sie sehen nun die Berechtigungen Elastic Beanstalk, die diesem Bucket automatisch hinzugefügt werden. Scrollen Sie zu der Stelle, an der Sie die "Aktion" finden: "s3: DeleteBucket" , und ändern Sie "Effekt": "Verweigern" in "Effekt": "Zulassen".

Speichern Sie anschließend die Änderung und löschen Sie den Bucket.

Geben Sie hier die Bildbeschreibung ein

Erion S.
quelle
Das ist großartig und funktioniert. Der obige Thread gibt jedoch den Grund und die Lösung an. Ich unterstütze das, weil es kurz und bündig ist.
Nan Zhou
17

Dies ist eine elastische Bohnenstangenresektion, um Ihr versehentliches Löschen zu verhindern. Sie können dieses Problem lösen, indem Sie zwei Schritte ausführen.

  1. Berechtigung des Berechtigten zum Hochladen und Löschen
  2. Bearbeiten Sie die Bucket-Richtlinie mit bucket => Properties => Permissions => Edit bucket policyund setzen Sie Zulassen "Effect": "Allow"von"Effect": "Deny"

Weitere Hilfe finden Sie im folgenden Screenshot.

Berechtigungs-Screenshot:

Geben Sie hier die Bildbeschreibung ein

Bucket Policy

Geben Sie hier die Bildbeschreibung ein

Shiv Singh
quelle
10

Standardmäßig hat Elastic Beanstalk einige Richtlinien für Ihren Bucket festgelegt, die den Löschvorgang für den Bucket verhindern, um ein versehentliches Löschen des Buckets zu verhindern.

Ich habe den Vorgang im Bild unten rot hervorgehoben.

Schritt zum Löschen des Buckets :

  • Klicken Sie auf den Bucket-Namen
  • Klicken Sie auf die Registerkarte Berechtigungen zwischen der Registerkarte Eigenschaften und Verwaltung
  • Klicken Sie auf die Registerkarte Bucket Policy
  • Wenn Sie sich auf der Registerkarte Bucket-Richtlinie befinden, klicken Sie in der Richtlinie auf die Schaltfläche Löschen

Geben Sie hier die Bildbeschreibung ein

Sobald Sie fertig sind, kehren Sie zur Liste der Buckets zurück und versuchen, den Bucket jetzt zu löschen.

ERLEDIGT

Viel Spaß beim Codieren

EsterlingAccime Youtuber
quelle
2

Ich habe auch den gleichen Fehler beim Löschen des von EBS erstellten Buckets "Zugriff verweigert" festgestellt, da EBS standardmäßig die DELETE-Operation für den von ihm erstellten s3-Bucket ablehnt, da er von EBS zum Speichern von Anwendungsprotokollen und anderen Informationen verwendet wird. Um es zu löschen, müssen Sie die Richtlinien des Buckets ändern. Schritte: - Bucket => Eigenschaften => Berechtigungen => Bucket-Richtlinie Bearbeiten Sie die Bucket-Richtlinie, wobei "Aktion": "s3: DeleteBucket" den "Effekt": " Verweigern" in "Effekt" ändert ": "Ermöglichen"

Nishant Dwivedi
quelle
2

Ein sehr kurzer und einfacher Ansatz wäre (wenn Sie sicher sind, dass Sie den Bucket nicht mehr benötigen), die Bucket-Richtlinie zu entfernen und dann zu versuchen, den Bucket zu löschen. Funktioniert in allen Fällen. Da der Bucket von Elastic Beanstalk erstellt wird und die konfigurierte Richtlinie keine Änderungen / Löschungen durch andere Benutzer zulässt. Durch Entfernen der Richtlinie können Sie Aktionen ausführen.

Niraj Kumar
quelle
0

Der Bucket kann nur in den folgenden 3 Schritten gelöscht werden:

  1. Wählen Sie den zu löschenden Bucket aus und klicken Sie im geöffneten Schubladenfenster auf den Abschnitt Berechtigung

  2. Klicken Sie auf die Schaltfläche Bucket Policy

  3. Ersetzen Sie das DenyWort durch Allowdas Objekt mit der "Action": "s3:Deletebucket"Linie und klicken Sie auf die Schaltfläche Speichern

Danach können Sie den Bucket löschen.

Abbildung für Schritt 1:

Geben Sie hier die Bildbeschreibung ein

Abbildung für Schritt 2:

Geben Sie hier die Bildbeschreibung ein

Abbildung für Schritt 3:

Geben Sie hier die Bildbeschreibung ein

efkan
quelle