Bucket Richtlinien
Beispiele für Bucket Richtlinien
Abschnitt betitelt „Beispiele für Bucket Richtlinien“- Alle Objekte innerhalb des Buckets “my-super-bucket” öffentlich lesbar machen
{ "Statement":[ { "Sid": "Example-policy1", "Effect":"Allow", "Principal":"*", "Action":"s3:GetObject", "Resource":"urn:sgws:s3:::my-super-bucket/*" } ]}- Die Datei “picture.jpg” innerhalb des Buckets “my-super-bucket” öffentlich lesbar machen
{ "Statement":[ { "Sid": "Example-policy2", "Effect":"Allow", "Principal":"*", "Action":"s3:GetObject", "Resource":"urn:sgws:s3:::my-super-bucket/picture.jpg" } ]}- Vollzugriff auf einen Bucket auf eine bestimmte Gruppe von Zugangsdaten innerhalb desselben Projekts beschränken
{ "Statement": [ { "Sid": "allow-specific-credential-group", "Effect": "Deny", "NotPrincipal": { "AWS": "urn:sgws:identity::12345678901234567890:group/credentials-group-1234" }, "Action": [ "s3:*" ], "Resource": [ "arn:aws:s3:::my-super-bucket", "arn:aws:s3:::my-super-bucket/*" ] } ]}- Lesezugriff für Objekte innerhalb des Buckets “my-super-bucket” für alle Gruppen von Zugangsdaten außer “credential-group-1234”, die weiterhin Vollzugriff hat.
{ "Statement": [ { "Sid": "allow-specific-credential-group", "Effect": "Deny", "NotPrincipal": { "AWS": "urn:sgws:identity::12345678901234567890:group/credentials-group-1234" }, "Action": [ "s3:Put*", "s3:Delete*", "s3:GetBucket*", "s3:GetEncryption*", "s3:List*" ], "Resource": [ "arn:aws:s3:::my-super-bucket", "arn:aws:s3:::my-super-bucket/*" ] } ]}- Öffentlichen Lesezugriff auf Objekte erlauben und Schreib-/Löschzugriff nur für eine bestimmte Gruppe von Zugangsdaten für den Bucket “my-super-bucket” festlegen
{ "Statement": [ { "Sid": "public-read", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::my-super-bucket", "arn:aws:s3:::my-super-bucket/*" ] }, { "Sid": "allow-specific-credential-group", "Effect": "Deny", "NotPrincipal": { "AWS": "urn:sgws:identity::12345678901234567890:group/credentials-group-1234" }, "Action": [ "s3:Put*", "s3:Delete*", "s3:GetBucket*", "s3:GetEncryption*", "s3:List*" ], "Resource": [ "arn:aws:s3:::my-super-bucket", "arn:aws:s3:::my-super-bucket/*" ] } ]}- Zugriff auf einen Bucket auf eine Quell-IP beschränken und außerdem den Vollzugriff auf “credential-group-1234” limitieren. Alle anderen Gruppen von Zugangsdaten können für diesen Bucket nur Listen- und Abrufvorgänge durchführen
{ "Statement": [ { "Sid": "Restrict-IP-Range", "Effect": "Deny", "Principal": "*", "Action": [ "s3:*" ], "Resource": [ "arn:aws:s3:::my-super-bucket/*", "arn:aws:s3:::my-super-bucket" ], "Condition": { "NotIpAddress": { "aws:SourceIp": [ "192.168.1.3", "192.168.1.4" ] } } }, { "Sid": "Restrict-Group2", "Effect": "Deny", "NotPrincipal": { "AWS": "urn:sgws:identity::12345678901234567890:group/credentials-group-1234" }, "Action": [ "s3:Create*", "s3:Put*", "s3:Delete*", "s3:Get*" ], "Resource": [ "arn:aws:s3:::my-super-bucket/*", "arn:aws:s3:::my-super-bucket" ] } ]}- Beispielrichtlinie mit mehreren Anweisungen und Bedingungen
{ "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Principal": { "AWS": "urn:sgws:identity::12345678901234567890:group/credentials-group-1234" }, "Resource": "urn:sgws:s3:::my-super-bucket/*" }, { "Effect": "Allow", "Action": "s3:GetObject", "Principal": { "AWS": "urn:sgws:identity::12345678901234567890:group/credentials-group-4567" }, "Resource": "urn:sgws:s3:::my-super-bucket/*", "Condition": { "IpAddress": { "aws:SourceIp": [ "192.168.1.10", "192.168.1.20" ] }, "NotIpAddress": { "aws:SourceIp": "0.0.0.0" } } } ]}Put Bucket Richtlinie
Abschnitt betitelt „Put Bucket Richtlinie“Speichern Sie Ihre Richtlinie in einer JSON-Datei und wenden Sie diese wie folgt an:
s3cmd setpolicy FILE s3://BUCKET#e.g. s3cmd setpolicy policy.json s3://my-super-bucketGet Bucket Richtlinie
Abschnitt betitelt „Get Bucket Richtlinie“Mit s3cmd gibt es keinen dedizierten Befehl, um nur die Bucket-Richtlinie auszugeben.
Sie können jedoch den Befehl “info” verwenden, um die Richtlinie und zusätzliche Informationen zum Bucket oder Objekt auszugeben.
s3cmd infos 3://BUCKET[/OBJECT]#e.g. s3cmd info s3://my-super-bucketLöschen Bucket-Richtlinie
Abschnitt betitelt „Löschen Bucket-Richtlinie“Sie können eine Richtlinie von einem Bucket wie folgt entfernen:
s3cmd dellifecycle s3://BUCKET#e.g. s3cmd dellifecycle s3://my-super-bucket