Markierungs- und Zugriffskontrollrichtlinien - Amazon Simple Storage Service

Markierungs- und Zugriffskontrollrichtlinien

Sie können außerdem Berechtigungsrichtlinien (Bucket- und Benutzerrichtlinien) verwenden, um Berechtigungen für das Objekt-Tagging zu verwalten. Informationen über Richtlinienaktionen finden Sie in den folgenden Themen:

Objekt-Markierungen bieten eine differenzierte Zugriffskontrolle für die Verwaltung von Berechtigungen. Sie können bedingte Berechtigungen basierend auf Objekt-Markierungen erteilen. Amazon S3 unterstützt die folgenden Bedingungsschlüssel, die Sie verwenden können, um bedingte Berechtigungen basierend auf Objekt-Markierungen zu erteilen.

  • s3:ExistingObjectTag/<tag-key> – Verwenden Sie diesen Bedingungsschlüssel, um zu überprüfen, ob ein vorhandenes Objekt-Tag den spezifischen Tag-Schlüssel und -Wert besitzt.

    Anmerkung

    Wenn Sie Berechtigungen für die PUT Object- und DELETE Object-Operationen erteilen, wird dieser Bedingungsschlüssel nicht unterstützt. Dies bedeutet, dass Sie keine Richtlinie erstellen können, um einem Benutzer zu gestatten, ein Objekt basierend auf seinen vorhandenen Markierungen zu löschen oder zu überschreiben.

  • s3:RequestObjectTagKeys – Verwenden Sie diesen Bedingungsschlüssel, um die Tag-Schlüssel einzuschränken, die Sie für Objekte zulassen wollen. Das ist nützlich, wenn Objekten Markierungen unter Verwendung von PutObjectTagging und PutObject sowie von POST object-Anfragen hinzugefügt werden.

  • s3:RequestObjectTag/<tag-key> – Verwenden Sie diesen Bedingungsschlüssel, um die Tag-Schlüssel und -Werte einzuschränken, die Sie für Objekte zulassen wollen. Das ist nützlich, wenn Objekten Markierungen unter Verwendung von PutObjectTagging und PutObject sowie von POST Bucket-Anfragen hinzugefügt werden.

Eine vollständige Liste der für den Amazon-S3-Service spezifischen Bedingungsschlüssel finden Sie unter Beispiele für Amazon-S3-Bedingungsschlüssel. Die folgenden Berechtigungsrichtlinien zeigen, wie die Objektmarkierung eine differenzierte Zugriffsberechtigungsverwaltung ermöglicht.

Beispiel 1: Einem Benutzer nur das Lesen von Objekten gestatten, die einen bestimmten Tag-Schlüssel und -Wert besitzen

Die folgende Berechtigungsrichtlinie beschränkt einen Benutzer darauf, nur Objekte zu lesen, die den Tag-Schlüssel und -Wert environment: production haben. Diese Richtlinie verwendet den s3:ExistingObjectTag-Bedingungsschlüssel, um den Tag-Schlüssel und -Wert anzugeben.

{ "Version": "2012-10-17", "Statement": [ {"Principal":{"AWS":[ "arn:aws:iam::111122223333:role/JohnDoe" "Effect": "Allow", "Action": ["s3:GetObject","s3:GetObjectVersion"], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", ] } "Condition": { "StringEquals": {"s3:ExistingObjectTag/environment": "production" } } } ] }
Beispiel 2: Einschränken, welche Objekt-Tag-Schlüssel Benutzer hinzufügen können

Die folgende Berechtigungsrichtlinie erteilt einem Benutzer die Berechtigungen, die s3:PutObjectTagging-Aktion auszuführen, die dem Benutzer gestattet, einem vorhandenen Objekt Markierungen hinzuzufügen. Die Bedingung verwendet den Bedingungsschlüssel s3:RequestObjectTagKeys, um die zulässigen Tag-Schlüssel zu spezifizieren, z. B. Owner oder CreationDate. Weitere Informationen finden Sie unter Erstellen einer Bedingung, die mehrere Schlüsselwerte testet im IAM-Benutzerhandbuch.

Die Richtlinie stellt sicher, dass jeder in der Anfrage angegebene Tag-Schlüssel ein autorisierter Tag-Schlüssel ist. Der ForAnyValue-Qualifizierer in der Bedingung stellt sicher, dass mindestens einer der spezifizierten Schlüssel in der Anfrage enthalten ist.

{ "Version": "2012-10-17", "Statement": [ {"Principal":{"AWS":[ "arn:aws:iam::111122223333:role/JohnDoe" ] }, "Effect": "Allow", "Action": [ "s3:PutObjectTagging" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ], "Condition": {"ForAnyValue:StringEquals": {"s3:RequestObjectTagKeys": [ "Owner", "CreationDate" ] } } } ] }
Beispiel 3: Einen spezifischen Tag-Schlüssel und -Wert verlangen, wenn Benutzern erlaubt wird, Objekt-Tags hinzuzufügen

Die folgende Beispielrichtlinie erteilt einem Benutzer die Berechtigungen, die s3:PutObjectTagging-Aktion auszuführen, die dem Benutzer gestattet, einem vorhandenen Objekt Markierungen hinzuzufügen. Die Bedingung verlangt, dass der Benutzer einen spezifischen Tag-Schlüssel (z. B. Project) mit dem Wert X angibt.

{ "Version": "2012-10-17", "Statement": [ {"Principal":{"AWS":[ "arn:aws:iam::111122223333:user/JohnDoe" ] }, "Effect": "Allow", "Action": [ "s3:PutObjectTagging" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ], "Condition": {"StringEquals": {"s3:RequestObjectTag/Project": "X" } } } ] }