Markieren von Objekten - Amazon Simple Storage Service

Sofern wir eine Übersetzung der englischsprachigen Version des Handbuchs bereitstellen, gilt im Fall von Widersprüchen die englischsprachige Version des Handbuchs. Bei der Übersetzung handelt es sich um eine maschinelle Übersetzung.

Markieren von Objekten

Markieren Sie Objekte, um Speicher zu kategorisieren. Jeder Tag ist ein Schlüssel/Wert-Paar. Betrachten Sie die folgenden Beispiele für die Markierung:

  • Angenommen, ein Objekt enthält PHI-Daten (Protected Health Information, geschützte Gesundheitsdaten). Sie könnten das Objekt unter Verwendung des folgenden-Schlüssel-Wert-Paares markieren:

    PHI=True

    –oder–

    Classification=PHI
  • Angenommen, Sie speichern Projektdateien in Ihrem S3-Bucket. Sie könnten diese Objekte mit einem Schlüssel namens Project und einem Wert markieren, wie nachfolgend gezeigt:

    Project=Blue
  • Sie können einem Objekt mehrere Tags hinzufügen, wie nachfolgend gezeigt:

    Project=x Classification=confidential

Sie können neuen Objekten Tags hinzufügen, wenn Sie sie hochladen, Sie können Tags aber auch vorhandenen Objekten hinzufügen. Beachten Sie Folgendes:

  • Sie können einem Objekt bis zu 10 Tags zuordnen. Einem Objekt zugeordnete Tags müssen eindeutige Tag-Schlüssel haben.

  • Ein Tag-Schlüssel kann maximal 128 Unicode-Zeichen lang sein, und die Tag-Werte können bis zu 256 Unicode-Zeichen lang sein.

  • Bei Schlüsseln und Werten wird die Groß-/Kleinschreibung berücksichtigt.

  • Weitere Informationen zu Tag-Einschränkungen finden Sie unter Benutzerdefinierte Tag-Beschränkungen.

Mit Schlüsselnamenpräfixe können Sie auch Speicher kategorisieren. Allerdings sind Präfix-basierte Kategorisierungen eindimensional. Sehen Sie sich die folgenden Objektschlüsselnamen an:

photos/photo1.jpg project/projectx/document.pdf project/projecty/document2.pdf

Diese Schlüsselnamen haben die Präfixe photos/, project/projectx/, und project/projecty/. Diese Präfixe ermöglichen eine eindimensionale Kategorisierung. Das bedeutet, alles unter einem Präfix ist eine Kategorie. Beispielsweise identifiziert das Präfix project/projectx alle Dokumente, die zu Projekt X gehören.

Mit der Markierung erhalten Sie jetzt eine weitere Dimension. Wenn Sie photo1 in der Kategorie project x anlegen wollen, können Sie das Objekt entsprechend markieren. Neben der Datenklassifizierung bietet die Markierung auch noch weitere Vorteile.

  • Objekt-Tags bieten eine differenzierte Zugriffskontrolle für Berechtigungen. Sie könnten z. B. einem IAM-Benutzer Berechtigungen erteilen, nur Objekte mit bestimmten Tags zu lesen.

  • Objekt-Tags unterstützen ein differenziertes Objektlebenszyklusmanagement, bei dem Sie in einer Lebenszyklusregel zusätzlich zum Schlüsselnamenpräfix einen auf Tags basierenden Filter angeben können.

  • Wenn Sie Amazon S3-Analysen verwenden, können Sie Filter konfigurieren, um Objekte für die Analyse nach Objekt-Tags, nach Schlüsselnamen-Präfix oder nach Präfix und Tags zu gruppieren.

  • Sie können außerdem Amazon CloudWatch-Metriken anpassen, um Informationen nach spezifischen Tag-Filtern anzuzeigen. Die folgenden Abschnitte stellen Details bereit.

Wichtig

Es ist akzeptabel, Tags zu verwenden, um Objekte mit vertraulichen Daten zu markieren (z. B. personenbezogene Informationen (PII) oder geschützte Gesundheitsinformationen (PHI)). Diese Tags sollten jedoch selbst keine vertraulichen Daten enthalten.

So fügen Sie Objekttag-Sätze zu mehr als ein hinzu Amazon S3 Objekt mit einer einzigen Anfrage, können Sie S3 Stapeloperationen. Sie stellen S3 Stapeloperationen eine Liste der Objekte zur Verfügung, für die Operationen aufgeführt werden sollen. S3 Stapeloperationen rufen die entsprechende API auf, um die angegebene Operation auszuführen. Eine einzelne S3 Stapeloperationen-Aufgabe kann die festgelegte Operation auf Milliarden von Objekten mit mehreren Exabytes an Daten durchführen.

S3 Stapeloperationen-Stapeloperationen verfolgen den Fortschritt nach, senden Benachrichtigungen und speichern einen detaillierten Abschlussbericht zu allen Aktionen. So erhalten Sie eine vollständig verwaltete, prüfbare und serverlose Umgebung. Sie können S3 Stapeloperationen über die AWS Management Console, die AWS CLI, die AWS-SDKs oder die REST-API verwenden. Weitere Informationen finden Sie unter Die Grundlagen: S3 Stapeloperationen.

API-Operationen für die Objektmarkierung

Amazon S3 unterstützt die folgenden API-Operationen, die spezifisch für die Objektmarkierung sind:

Objekt-API-Operationen

  • Objekt-Tagging – Ersetzt Tags auf einem Objekt. Sie legen Tags im Anfragekörper fest. Es gibt zwei unterschiedliche Szenarien von Objekttag-Management mit dieser API.

    • Objekt hat keine Tags – Mit Hilfe dieser API können Sie einem Objekt verschiedene Tags hinzufügen (das Objekt hat keine vorherigen Tags).

    • Das Objekt hat einen Satz vorhandener Tags – Um die vorhandene Tag-Menge zu ändern, müssen Sie zuerst den vorhandenen Tag-Satz abrufen, diesen auf der Client-Seite ändern und diese API dann verwenden, um den Tag-Satz zu ersetzen.

      Anmerkung

      Wenn Sie diese Anfrage mit einer leeren Tag-Menge senden, löscht Amazon S3 die vorhandene Tag-Menge für das Objekt. Wenn Sie diese Methode verwenden, wird eine Tier 1-Anforderung (PUT) berechnet. Weitere Informationen finden Sie unter Amazon S3 Preisgestaltung.

      Die Objekt-Tagging LÖSCHEN die Anfrage wird bevorzugt, da sie dasselbe Ergebnis erreicht, ohne die Kosten zu verlieren.

  • GET Object Tagging – Gibt den mit einem Objekt verknüpften Tag zurück. Amazon S3 gibt Objekttags im Antwortkörper zurück.

  • Objekt-Tagging LÖSCHEN – Löscht den Tag, der mit einem Objekt verknüpft ist.

Andere API-Operationen, die Markieren unterstützen

  • OBJEKT PLATZIEREN und Multipart-Upload initiieren– Sie können Tags festlegen, wenn Sie Objekte erstellen. Sie geben Tags unter Verwendung des x-amz-tagging Anfrage-Headers an.

  • OBJEKT ABRUFEN – Anstatt das Tag-Set zurückzusenden, Amazon S3 gibt die Objekttag-Zählung in der x-amz-tag-count Header (nur wenn der Anforderer Berechtigungen zum Lesen von Tags hat), da die Header-Antwortgröße auf 8 KB beschränkt ist. Wenn Sie die Tags anzeigen möchten, stellen Sie eine weitere Anfrage für das GET Object Tagging API-Betrieb.

  • POST-Objekt – Sie können Tags in Ihrer POST-Anforderung angeben.

    So lange die von Ihnen geforderten Tags die 8-KB-Größenbeschränkung der HTTP-Anfrageheader nicht überschreitet, können Sie die PUT Object -API verwenden, um Objekte mit Tags zu erstellen. Wenn die von Ihnen angegebenen Tags die Größenbeschränkung des Headers überschreiten, können Sie diese POST-Methode verwenden, wobei Sie die Tags in den Rumpf aufnehmen.

    OBJEKT EINFÜGEN - Kopieren – Sie können die x-amz-tagging-directive in Ihrer Anfrage Amazon S3 um entweder die Tags (Standardverhalten) zu kopieren oder Tags durch einen neuen Satz von Tags zu ersetzen, die in der Anforderung bereitgestellt werden.

Beachten Sie Folgendes:

  • Die Markierung folgt dem "Eventual Consistency"-Modell. Das bedeutet, wenn Sie unmittelbar nach dem Hinzufügen von Tags zu einem Objekt versuchen, die Tags abzurufen, erhalten Sie womöglich alte Tags, falls solche für die Objekte vorhanden waren. Ein nachfolgender Aufruf stellt jedoch wahrscheinlich die aktualisierten Tags bereit.

Objektmarkierung und weitere Informationen

Dieser Abschnitt erklärt, was die Objektmarkierung für andere Konfigurationen bedeutet.

Objektmarkierung und Lebenszyklusverwaltung

In der Bucket-Lebenszykluskonfiguration können Sie einen Filter angeben, um eine Untermenge von Objekten auszuwählen, auf die die Regel anzuwenden ist. Sie können einen Filter basierend auf den Schlüsselnamenpräfixen, Objekt-Tags oder beidem angeben.

Angenommen, Sie speichern Fotos (roh und im fertigen Format) in Ihrem Amazon S3-Bucket. Sie könnten diese Objekte wie folgt markieren:

phototype=raw or phototype=finished

Sie könnten festlegen, dass die Rohdaten der Fotos irgendwann nach der Erstellung in S3 Glacier archiviert werden. Sie können eine Lifecycle-Regel mit einem Filter konfigurieren, der die Teilmenge der Objekte mit dem Key-Name-Präfix identifiziert (photos/) thëè sêèvëèråãl âà sêèríîcphototype=raw).

Weitere Informationen finden Sie im Verwaltung des Objektlebenszyklus.

Objektmarkierung und -replikation

Wenn Sie die Replikation auf Ihrem Bucket konfiguriert haben, Amazon S3 repliziert Tags, gewährt Ihnen Amazon S3 Berechtigung zum Lesen der Tags. Weitere Informationen finden Sie im Übersicht zur Einrichtung der Replikation.

Objektmarkierung 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-Tags bieten eine differenzierte Zugriffskontrolle für die Verwaltung von Berechtigungen. Sie gewähren bedingte Berechtigungen auf der Grundlage von Objekt-Tags. Amazon S3 unterstützt die folgenden Bedingungsschlüssel, die Sie verwenden können, um auf Objekt-Tags basierende bedingte Berechnungen zu erteilen:

  • s3:ExistingObjectTag/<tag-key> – Verwenden Sie diesen Bedingungsschlüssel, um zu prüfen, ob ein bestehendes Objekt-Tag über die spezifische Tag-Taste und den Wert verfügt.

    Anmerkung

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

  • s3:RequestObjectTagKeys – Verwenden Sie diesen Bedingungsschlüssel, um die Tag-Schlüssel zu beschränken, die Sie auf Objekten zulassen möchten. Das ist nützlich, wenn Objekten Tags 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 zu beschränken, die Sie auf Objekten zulassen möchten. Das ist nützlich, wenn Objekten Tags unter Verwendung von PutObjectTagging und PutObject sowie von POST Bucket-Anfragen hinzugefügt werden.

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

Beispiel 1. Zulassen, dass ein Benutzer nur die Objekte lesen kann, die ein bestimmtes Tag aufweisen

Die folgende Berechtigungsrichtlinie erteilt einem Benutzer die Berechtigung, Objekte zu lesen, aber die Bedingung schränkt die Leseberechtigung auf Objekte mit dem folgenden Tag-Schlüssel und -Wert ein.

security : public

Beachten Sie bitte, dass die Richtlinie Amazon S3 Bedingungsschlüssel, s3:ExistingObjectTag/<tag-key> um den Schlüssel und Wert anzugeben.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::awsexamplebucket1/*", "Principal": "*", "Condition": { "StringEquals": {"s3:ExistingObjectTag/security": "public" } } } ] }

Beispiel 2: Zulassen, dass ein Benutzer Objekttags mit Einschränkungen auf den zulässigen Tag-Schlüsseln hinzufügen kann

Die folgende Berechtigungsrichtlinie erteilt einem Benutzer die Berechtigungen, die s3:PutObjectTagging-Aktion auszuführen, die dem Benutzer gestattet, einem vorhandenen Objekt Tags hinzuzufügen. Die Bedingung schränkt die Tag-Schlüssel ein, die der Benutzer verwenden darf. Die Bedingung verwendet den Bedingungsschlüssel s3:RequestObjectTagKeys, um die Menge der Tag-Schlüssel zu spezifizieren.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObjectTagging" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1/*" ], "Principal":{ "CanonicalUser":[ "64-digit-alphanumeric-value" ] }, "Condition": { "ForAllValues:StringLike": { "s3:RequestObjectTagKeys": [ "Owner", "CreationDate" ] } } } ] }

Die Richtlinie stellt sicher, dass eine in der Anfrage angegebene Tag-Menge die spezifizierten Schlüssel enthält. Ein Benutzer könnte eine leere Tag-Menge in PutObjectTagging senden, was durch diese Richtlinie erlaubt ist (eine leere Tag-Menge in der Anfrage entfernt alle vorhandenen Tags für das Objekt). Wenn Sie verhindern wollen, dass ein Benutzer die Tag-Menge entfernt, können Sie eine weitere Bedingung hinzufügen, um sicherzustellen, dass der Benutzer mindestens einen Wert angibt. Der ForAnyValue in der Bedingung stellt sicher, dass mindestens einer der spezifizierten Werte in der Anfrage enthalten ist.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObjectTagging" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1/*" ], "Principal":{ "AWS":[ "arn:aws:iam::account-number-without-hyphens:user/username" ] }, "Condition": { "ForAllValues:StringLike": { "s3:RequestObjectTagKeys": [ "Owner", "CreationDate" ] }, "ForAnyValue:StringLike": { "s3:RequestObjectTagKeys": [ "Owner", "CreationDate" ] } } } ] }

Weitere Informationen finden Sie unter Erstellen einer Bedingung, die mehrere Schlüsselwerte testet (Operationen einstellen) im IAM-Benutzerhandbuch.

Beispiel 3 Zulassen, dass ein Benutzer Objekttags hinzufügen kann, die einen bestimmten Tag-Schlüssel und Wert enthalten

Die folgende Benutzerrichtlinie erteilt einem Benutzer die Berechtigungen, die s3:PutObjectTagging-Aktion auszuführen, die dem Benutzer gestattet, einem vorhandenen Objekt Tags hinzuzufügen. Der Zustand erfordert, dass der Benutzer ein spezifisches Tag einfügen kann (Project) wìïth rêèvêèl sêè X.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObjectTagging" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1/*" ], "Principal":{ "AWS":[ "arn:aws:iam::account-number-without-hyphens:user/username" ] }, "Condition": { "StringEquals": { "s3:RequestObjectTag/Project": "X" } } } ] }

Verwandte Themen

Verwalten von Objekt-Tags