Zur Zeit habe ich eine Richtlinie auf einen Test-Bucket angewendet, der verhindern soll, dass Benutzer s3objects mit den ACLs "public-read" und "public-read-write" hochladen.AWS S3-Webkonsole überschreibt Bucket-Richtlinie
Wenn ich versuche, über die Kommandozeile die Anforderungen zum Hochladen erfolgreich geblockt werden mit "Zugriff verweigert" wie erwartet:
Write-S3Object -bucketname testbucket -File C:\Users\user\Desktop\DemoFolder\secret_data.txt -cannedACLName public-read
gleiche Ergebnis mit "public-read-write":
Write-S3Object -bucketname testbucket -File C:\Users\user\Desktop\DemoFolder\secret_data.txt -CannedACLName public-read-write
Aber wenn ich über die GUI der Webkonsole auf den s3bucket zugreife, kann ich öffentliche Objekte hochladen. Zusammen mit der Manipulation eines bestehenden "privaten" Objekts für die Öffentlichkeit über die Schaltfläche "make public". Hier
ist der Eimer Politik:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyPublic",
"Effect": "Deny",
"Principal": "*",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": "arn:aws:s3:::testbucket/*",
"Condition": {
"StringEquals": {
"s3:x-amz-acl": [
"public-read",
"public-read-write"
]
}
}
}
]
Auch hier ist die Politik für s3 Zugang vom Benutzer:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}
ich wie die fix oder Logik fühlen wirklich einfach. Ich kann es einfach nicht sagen.
Ich glaube, es kann mit IAM Politik erfolgen. – Asdfg