Ausgabe
Ich habe mich bei der aws-Konsole mit der DevUser-Rolle angemeldet und die Bucket-Richtlinie mit deny all wie unten beschrieben aktualisiert:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Principal": "*",
"Effect": "Deny",
"Action": "*",
"Resource": "arn:aws:s3:::bucketName"
}
]
}
Nachdem ich dies getan habe, kann ich keine Bucket-Berechtigungen auflisten oder etwas unter dem Bucket wie erwartet anzeigen. Jetzt möchte ich diese Änderung rückgängig machen, aber ich kann dies weder mit der DevUser- noch mit der AdminUser-Rolle. Ich habe auch versucht, die Bucket-Richtlinie mit CLI zu löschen, hat aber nicht funktioniert:
aws s3api delete-bucket-policy --bucket bucketName
Fehler:
Beim Aufrufen der DeleteBucketPolicy-Operation ist ein Fehler aufgetreten (AccessDenied): Zugriff verweigert
Wie kann ich die DENY all-Änderung rückgängig machen?
Lösung
Sie (Benutzer oder Rolle), ein normaler oder sogar ein Admin-Benutzer können diese Änderung nicht rückgängig machen .
Nur der Root-Benutzer für das Konto kann die Bucket-Richtlinie löschen. Wenn Sie keinen Zugriff auf diese Root-Benutzer-Anmeldeinformationen haben, weil Sie dieses Konto nicht besitzen, es aber z. B. von einer IT-Abteilung oder einem anderen Kollegen verwaltet wird, müssen Sie sie bitten, die Bucket-Richtlinie für Sie zu löschen.
Siehe https://aws.amazon.com/premiumsupport/knowledge-center/s3-accidentally-denied-access/
Und für das nächste Mal müssen Sie daran denken, zu überprüfen und darauf zu achten, dass Sie sich nicht aus dem Eimer aussperren. Die Bucket-Richtlinie macht genau das, was Sie wollen: Sie verweigert jeglichen Zugriff, auch durch Sie selbst. (der Root-Benutzer ist die einzige Ausnahme und ihm kann der Zugriff nicht verweigert werden)
Beantwortet von – luk2302
Antwort geprüft von – Cary Denson (FixError Admin)