Verwendung von Tags mit S3-Verzeichnis-Buckets - Amazon Simple Storage Service

Verwendung von Tags mit S3-Verzeichnis-Buckets

Ein AWS Tag ist ein Schlüssel-Wert-Paar, das Metadaten über Ressourcen enthält, in diesem Fall Amazon-S3-Verzeichnis-Buckets. Sie können S3-Verzeichnis-Buckets taggen, wenn Sie sie erstellen, oder Tags für vorhandene Verzeichnis-Buckets verwalten. Allgemeine Informationen zur Verwendung von Tags finden Sie unter Kennzeichnung für die Kostenzuweisung oder attributbasierte Zugriffskontrolle (ABAC).

Anmerkung

Es fallen keine zusätzlichen Kosten für die Verwendung von Tags in Verzeichnis-Buckets an, die über die Standard-S3-API-Anforderungsgebühren hinausgehen. Weitere Informationen finden Sie unter Amazon S3 – Preise.

Gängige Methoden zur Verwendung von Tags mit Verzeichnis-Buckets

Verwenden Sie Tags für Ihre S3-Verzeichnis-Buckets:

  1. Kostenzuweisung – Verfolgen Sie die Speicherkosten anhand des Bucket-Tags. AWS Fakturierung und Kostenmanagement Weitere Informationen finden Sie unter Verwendung von Tags für die Kostenzuweisung.

  2. Attributbasierte Zugriffskontrolle (ABAC) - Skalieren Sie die Zugriffsberechtigungen und gewähren Sie den Zugriff auf S3-Verzeichnis-Buckets auf der Grundlage ihrer Tags. Weitere Informationen finden Sie unter Verwendung von Tags für ABAC.

Anmerkung

Sie können dieselben Tags sowohl für die Kostenzuweisung als auch für die Zugriffskontrolle verwenden.

ABAC für S3-Verzeichnis-Buckets

Amazon S3-Verzeichnis-Buckets unterstützen die attributbasierte Zugriffskontrolle (ABAC) mithilfe von Tags. Verwenden Sie Tag-basierte Bedingungsschlüssel in Ihren AWS -Organisations-, IAM- und S3-Verzeichnis-Bucket-Richtlinien. Für Unternehmen unterstützt ABAC in Amazon S3 die Autorisierung über mehrere AWS Konten hinweg.

In Ihren IAM-Richtlinien können Sie den Zugriff auf S3-Verzeichnis-Buckets anhand der Bucket-Tags steuern, indem Sie die folgenden globalen Bedingungsschlüsselverwenden:

  • aws:ResourceTag/key-name

    • Verwenden Sie diesen Schlüssel, um das Tag-Schlüssel-Wert-Paar, das Sie in der Richtlinie angeben, mit dem Schlüssel-Wert-Paar zu vergleichen, das der Ressource zugeordnet ist. Beispiel: Sie können verlangen, dass der Zugriff auf eine Ressource nur gewährt wird, wenn die Ressource über den angefügten Tag-Schlüssel Dept mit dem Wert Marketing verfügt. Weitere Informationen finden Sie unter Steuern des Zugriffs auf AWS-Ressourcen.

  • aws:RequestTag/key-name

    • Verwenden Sie diesen Schlüssel, um das Tag-Schlüssel-Wert-Paar, das in der Anforderung übergeben wurde, mit dem Tag-Paar zu vergleichen, das Sie in der Richtlinie angeben. Sie können beispielsweise prüfen, ob die Anforderung den Tag-Schlüssel Dept enthält und dieser den Wert Accounting hat. Weitere Informationen finden Sie unter Steuern des Datenzugriffs bei AWS Anforderungen. Sie können diesen Bedingungsschlüssel verwenden, um einzuschränken, welche Tag-Schlüsselwert-Paare während der TagResource und CreateBucket API-Operationen weitergeleitet werden können.

  • aws:TagKeys

    • Verwenden Sie diesen Schlüssel, um die Tag-Schlüssel in einer Anforderung mit den Schlüsseln zu vergleichen, die Sie in der Richtlinie angeben. Wir empfehlen, dass Sie bei der Verwendung von Richtlinien zur Zugriffskontrolle mithilfe von Tags den aws:TagKeys-Bedingungsschlüssel verwenden, um festzulegen, welche Tag-Schlüssel zulässig sind. Beispiele für Richtlinien und weitere Informationen finden Sie unter Zugriffssteuerung basierend auf Tag-Schlüsseln. Sie können einen S3-Verzeichnis-Bucket mit Tags erstellen. Um das Markieren während des CreateBucket API-Vorgangs zu erlauben, müssen Sie eine Richtlinie erstellen, die die s3express:TagResource- und s3express:CreateBucket-Aktionen enthält. Anschließend können Sie den aws:TagKeys-Bedingungsschlüssel zum Erzwingen mit spezifischen Tags in der CreateBucket-Anforderung verwenden.

  • s3express:BucketTag/tag-key

    • Verwenden Sie diesen Bedingungsschlüssel, um mithilfe von Tags Berechtigungen für bestimmte Daten in Verzeichnis-Buckets zu erteilen. Wenn Sie über einen Zugangspunkt auf einen Verzeichnis-Bucket zugreifen, verweist dieser Bedingungsschlüssel sowohl bei der Autorisierung für den Zugangspunkt als auch für den Verzeichnis-Bucket auf die Tags im Verzeichnis-Bucket, während der aws:ResourceTag/tag-key nur auf die Tags der Ressource verweist, für die er autorisiert wurde.

Beispiel ABAC-Richtlinien für Verzeichnis-Buckets

Siehe die folgenden Beispiel-ABAC-Richtlinien für Amazon S3-Verzeichnis-Buckets.

1.1 – IAM-Richtlinie zum Erstellen oder Ändern von Buckets mit bestimmten Tags

In dieser IAM-Richtlinie können Benutzer oder Rollen mit dieser Richtlinie nur S3-Verzeichnis-Buckets erstellen, wenn sie den Bucket mit dem Tag-Schlüssel project und dem Tag-Wert Trinity in der Bucket-Erstellungsanforderung kennzeichnen. Sie können auch Tags zu bestehenden S3-Verzeichnis-Buckets hinzufügen oder ändern, solange die TagResource Anforderung das Tag-Schlüssel-Wert-Paar project:Trinityenthält. Diese Richtlinie gewährt keine Lese-, Schreib- oder Löschberechtigungen für die Buckets oder ihre Objekte.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateBucketWithTags", "Effect": "Allow", "Action": [ "s3express:CreateBucket", "s3express:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/project": [ "Trinity" ] } } } ] }

1.2 – Bucket-Richtlinie zur Einschränkung von Vorgängen im Bucket mithilfe von Tags

In dieser Bucket-Richtlinie können IAM-Prinzipale (Benutzer und Rollen) nur dann Vorgänge mit der CreateSession-Aktion für den Bucket ausführen, wenn der Wert des project-Tags des Buckets mit dem Wert des project-Tags des Prinzipals übereinstimmt.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowObjectOperations", "Effect": "Allow", "Principal": { "AWS": "111122223333" }, "Action": "s3express:CreateSession", "Resource": "arn:aws::s3express:us-west-2:111122223333:bucket/amzn-s3-demo-bucket--usw2-az1--x-s3", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" } } } ] }

1.3 – IAM-Richtlinie zur Änderung von Tags auf vorhandenen Ressourcen unter Beibehaltung der Tagging-Governance

In dieser IAM-Richtlinie können IAM-Prinzipale (Benutzer oder Rollen) Tags in einem Bucket nur dann ändern, wenn der Wert des Bucket-Tags project mit dem Wert des Tag des Prinzipals project übereinstimmt. Für diese Verzeichnis-Buckets sind nur die vier Tags project, environment, owner und cost-center die in den aws:TagKeys-Bedingungsschlüsseln angegebenen Tags zulässig. Dies hilft bei der Durchsetzung der Tag-Governance, verhindert unbefugte Tag-Änderungen und sorgt dafür, dass das Tagging-Schema in allen Buckets konsistent bleibt.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceTaggingRulesOnModification", "Effect": "Allow", "Action": [ "s3express:TagResource" ], "Resource": "arn:aws::s3express:us-west-2:111122223333:bucket/*", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "project", "environment", "owner", "cost-center" ] } } } ] }

1.4 – Verwendung des s3express:bucketTag-Bedingungsschlüssels

In dieser IAM-Richtlinie erlaubt die Bedingungsanweisung den Zugriff auf die Daten des Buckets nur, wenn der Bucket den Tag-Schlüssel Environment und den Tag-Wert Production hat.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToSpecificAccessPoint", "Effect": "Allow", "Action": "*", "Resource": "arn:aws::s3express:us-west-2:111122223333:accesspoint/*", "Condition": { "StringEquals": { "s3express:BucketTag/Environment": "Production" } } } ] }

Verwalten von Tags für Verzeichnis-Buckets

Sie können Tags für S3-Verzeichnis-Buckets mithilfe der Amazon-S3-Konsole, der AWS-Befehlszeilenschnittstelle (CLI), der AWS SDKs oder mithilfe der S3-APIs TagResource, UntagResource und ListTagsForResource hinzufügen oder verwalten. Weitere Informationen finden Sie unter: