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:
-
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.
-
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
Deptmit dem WertMarketingverfü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
Deptenthält und dieser den WertAccountinghat. 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 derTagResourceundCreateBucketAPI-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 desCreateBucketAPI-Vorgangs zu erlauben, müssen Sie eine Richtlinie erstellen, die dies3express:TagResource- unds3express:CreateBucket-Aktionen enthält. Anschließend können Sie denaws:TagKeys-Bedingungsschlüssel zum Erzwingen mit spezifischen Tags in derCreateBucket-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-keynur 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/", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" } } } ] }amzn-s3-demo-bucket--usw2-az1--x-s3
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: