Amazon Simple Storage Service
Entwicklerhandbuch (API-Version 2006-03-01)

Angeben von Berechtigungen in einer Richtlinie

Amazon S3 definiert eine Reihe von Berechtigungen, die Sie in einer Richtlinie angeben können. Dies sind Schlüsselwörter, die jeweils zu spezifischen Amazon S3-Operationen gehören (vgl. Operationen auf Buckets und Operationen auf Objekten im Amazon Simple Storage Service API Reference).

Dieser Abschnitt bietet eine Liste von Berechtigungen für Objekt-Operationen, die Sie in einer Richtlinie angeben können.

Amazon S3-Berechtigungen für Objekt-Operationen

Berechtigungen Amazon S3-Operationen
s3:AbortMultipartUpload Abort Multipart Upload

s3:BypassGovernanceRetention

PUT Object Retention/PUT Object , DELETE Object
s3:DeleteObject DELETE Object

s3:DeleteObjectTagging

DELETE Object tagging
s3:DeleteObjectVersion DELETE Object (eine bestimmte Version des Objekts)

s3:DeleteObjectVersionTagging

DELETE Object tagging (für eine bestimmte Version des Objekts)
s3:GetObject

GET Object, HEAD Object, SELECT Object Content

Wenn Sie diese Berechtigung für einen versionsaktivierten Bucket erteilen, erhalten Sie immer die neuesten Versionsdaten.

s3:GetObjectAcl GET Object ACL

s3:GetObjectLegalHold

GET Object Legal Hold, GET Object

s3:GetObjectRetention

Get Object Retention, GET Object

s3:GetObjectTagging

GET Object Tagging
s3:GetObjectTorrent GET Object-Torrent
s3:GetObjectVersion

GET Object, HEAD Object

Um Berechtigungen für versionsspezifische Objektdaten zu erteilen, müssen Sie diese Berechtigung erteilen. Das heißt, wenn Sie eine Versionsnummer angeben, wenn Sie eine dieser Anforderungen ausführen, benötigen Sie die Amazon S3-Berechtigung.

s3:GetObjectVersionAcl GET ACL (für eine bestimmte Version des Objekts)

s3:GetObjectVersionTagging

GET Object tagging (für eine bestimmte Version des Objekts)
s3:GetObjectVersionTorrent GET Object Torrent versioning
s3:ListMultipartUploadParts Teile auflisten
s3:PutObject

PUT Object, POST Object, Initiate Multipart Upload, Upload Part, Complete Multipart Upload, PUT Object - Copy

s3:PutObjectAcl PUT Object ACL

s3:PutObjectLegalHold

PUT Object Legal Hold, PUT Object

s3:PutObjectRetention

PUT Object Retention, PUT Object

s3:PutObjectTagging

Put Object Tagging
s3:PutObjectVersionAcl PUT Object ACL (für eine bestimmte Version des Objekts)

s3:PutObjectVersionTagging

PUT Object tagging (für eine bestimmte Version des Objekts)

s3:RestoreObject

POST Object-Wiederherstellung

Die folgende Beispiel-Bucket-Richtlinie erteilt die Berechtigungen s3:PutObject und s3:PutObjectAcl für den Benutzer (Dave). Wenn Sie das Element Principal entfernen, können Sie die Richtlinie einem Benutzer zuweisen. Dies sind Objektoperationen, und dementsprechend identifiziert der relative ID-Teil des Resource-ARN Objekte im (examplebucket/*). Weitere Informationen finden Sie unter Festlegen von Ressourcen in einer Richtlinie.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::AccountB-ID:user/Dave" }, "Action": ["s3:PutObject","s3:PutObjectAcl"], "Resource": "arn:aws:s3:::examplebucket/*" } ] }

Sie können ein Platzhalterzeichen verwenden, um die Berechtigung für alle Amazon S3-Aktionen zu erteilen.

"Action": "*"

Dieser Abschnitt bietet eine Liste von Berechtigungen für Bucket-Operationen, die Sie in einer Richtlinie angeben können.

Amazon S3-Berechtigungen für Bucket-Operationen

Berechtigungsschlüsselwörter Abgedeckte Amazon S3-Operation(en)
s3:CreateBucket PUT Bucket
s3:DeleteBucket DELETE Bucket
s3:ListBucket GET Bucket (List Objects), HEAD Bucket
s3:ListBucketVersions GET Bucket Object versions
s3:ListAllMyBuckets GET-Service
s3:ListBucketMultipartUploads List Multipart Uploads

Die folgende Beispiel-Benutzerrichtlinie erteilt die Berechtigungen s3:CreateBucket, s3:ListAllMyBuckets und s3:GetBucketLocation für einen Benutzer. Beachten Sie, dass Sie für alle diese Berechtigungen den relativen ID-Teil des Resource-ARN auf "*" setzen. Bei allen anderen Bucket-Aktionen müssen Sie einen Bucket-Namen angegeben. Weitere Informationen finden Sie unter Festlegen von Ressourcen in einer Richtlinie.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"statement1", "Effect":"Allow", "Action":[ "s3:CreateBucket", "s3:ListAllMyBuckets", "s3:GetBucketLocation" ], "Resource":[ "arn:aws:s3:::*" ] } ] }

Wenn Ihr Benutzer die Konsole zum Anzeigen von Buckets und die Inhalte eines dieser Buckets ansehen möchte, muss der Benutzer über die Berechtigungen für s3:ListAllMyBuckets und s3:GetBucketLocation verfügen. Ein Beispiel finden Sie unter „Richtlinie für den Konsolenzugriff“ unter Schreiben von IAM-Richtlinien: So gewähren Sie Zugriff auf einen S3 Bucket.

Dieser Abschnitt bietet eine Liste von Berechtigungen für Bucket-Subressourcen-Operationen, die Sie in einer Richtlinie angeben können.

Amazon S3-Berechtigungen für Bucket-Subressourcen-Operationen

Berechtigungen Abgedeckte Amazon S3-Operation(en)
s3:DeleteBucketPolicy DELETE Bucket-Richtlinie
s3:DeleteBucketWebsite DELETE Bucket-Website
s3:GetAccelerateConfiguration GET Bucket accelerate
s3:GetAnalyticsConfiguration GET Bucket analytics, List Bucket Analytics Configurations
s3:GetBucketAcl GET Bucket ACL
s3:GetBucketCORS GET Bucket cors
s3:GetBucketLocation GET Bucket-Speicherort
s3:GetBucketLogging GET Bucket-Protokollierung
s3:GetBucketNotification GET Bucket-Benachrichtigung

s3:GetBucketObjectLockConfiguration

GET Bucket-Objektsperrekonfiguration
s3:GetBucketPolicy GET Bucket-Richtlinie
s3:GetBucketPolicyStatus GET BucketPolicyStatus
s3:GetBucketPublicAccessBlock GET PublicAccessBlock
s3:GetBucketRequestPayment GET Bucket-Zahlungsanforderung
s3:GetBucketTagging GET Bucket-Markierung
s3:GetBucketVersioning GET Bucket-Versioning
s3:GetBucketWebsite GET Bucket-Website
s3:GetEncryptionConfiguration GET Bucket encryption
s3:GetInventoryConfiguration GET Bucket inventory, List Bucket Inventory Configurations
s3:GetLifecycleConfiguration GET Bucket-Lebenszyklus
s3:GetMetricsConfiguration GET Bucket metrics, List Bucket Metrics Configurations
s3:GetReplicationConfiguration GET Bucket replication
s3:PutAccelerateConfiguration PUT Bucket accelerate
s3:PutAnalyticsConfiguration PUT Bucket analytics, DELETE Bucket analytics
s3:PutBucketAcl PUT Bucket ACL
s3:PutBucketCORS PUT Bucket cors, DELETE Bucket cors
s3:PutBucketLogging PUT Bucket-Protokollierung
s3:PutBucketNotification PUT Bucket-Benachrichtigung

s3:PutBucketObjectLockConfiguration

PUT Bucket-Objektsperrekonfiguration
s3:PutBucketPolicy PUT Bucket-Richtlinie
s3:PutBucketPublicAccessBlock PUT PublicAccessBlock, DELETE PublicAccessBlock
s3:PutBucketRequestPayment PUT Bucket-Zahlungsanforderung
s3:PutBucketTagging DELETE Bucket tagging, PUT Bucket tagging
s3:PutBucketVersioning PUT Bucket-Versioning
s3:PutBucketWebsite PUT Bucket-Website
s3:PutEncryptionConfiguration PUT Bucket encryption, DELETE Bucket encryption
s3:PutInventoryConfiguration PUT Bucket inventory, DELETE Bucket inventory
s3:PutLifecycleConfiguration PUT Bucket lifecycle, DELETE Bucket lifecycle
s3:PutMetricsConfiguration PUT Bucket metrics, DELETE Bucket metrics
s3:PutReplicationConfiguration PUT Bucket replication, DELETE Bucket replication

Die folgende Beispiel-Benutzerrichtlinie erteilt die s3:GetBucketAcl-Berechtigung für den Bucket examplebucket für den Benutzer Dave.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::Account-ID:user/Dave" }, "Action": [ "s3:GetObjectVersion", "s3:GetBucketAcl" ], "Resource": "arn:aws:s3:::examplebucket" } ] }

Sie können Objekte löschen, indem Sie explizit die DELETE-Objekt-API aufrufen oder ihren Lebenszyklus konfigurieren (vgl. Verwaltung des Objektlebenszyklus), damit Amazon S3 die Objekte entfernen kann, wenn ihr Lebenszyklus abläuft. Um explizit Benutzer oder Konten vom Löschen von Objekten zu sperren, müssen Sie ihnen die Berechtigungen s3:DeleteObject, s3:DeleteObjectVersion und s3:PutLifecycleConfiguration explizit entziehen. Standardmäßig besitzen Benutzer keine Berechtigungen. Wenn Sie jedoch Benutzer erstellen, Benutzer zu Gruppen hinzufügen und diesen Berechtigungen erteilen, können Benutzer bestimmte Berechtigungen abrufen, die Sie eigentlich nicht erteilen wollten. Dann können Sie explizite Sperren verwenden, die alle anderen Berechtigungen außer Kraft setzen, die ein Benutzer möglicherweise hat, und somit die Benutzerberechtigungen für bestimmte Aktionen verweigern.

Dieser Abschnitt bietet eine Liste von Berechtigungen für Konto-Operationen, die Sie in einer Richtlinie angeben können.

Amazon S3-Berechtigungen für Konto-Operationen

Berechtigungsschlüsselwörter Abgedeckte Amazon S3-Operation(en)
s3:CreateJob CreateJob
s3:DescribeJob DescribeJob
s3:GetAccountPublicAccessBlock GET PublicAccessBlock
s3:ListJobs ListJobs
s3:PutAccountPublicAccessBlock PUT PublicAccessBlock, DELETE PublicAccessBlock
s3:UpdateJobPriority UpdateJobPriority
s3:UpdateJobStatus UpdateJobStatus

Die folgende Beispiel-Benutzerrichtlinie erteilt die Berechtigung s3:GetAccountPublicAccessBlock für einen Benutzer. Beachten Sie, dass Sie für diese Berechtigungen den Wert Resource auf "*" setzen. Weitere Informationen finden Sie unter Festlegen von Ressourcen in einer Richtlinie.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"statement1", "Effect":"Allow", "Action":[ "s3:GetAccountPublicAccessBlock" ], "Resource":[ "*" ] } ] }