Verwenden von Tags mit S3 Zugangspunkte für Allzweck-Buckets.
Ein AWS Tag ist ein Schlüssel-Wert-Paar, das Metadaten über Ressourcen enthält, in diesem Fall Amazon S3 Access Points. Sie können Zugangspunkte kennzeichnen, wenn Sie sie erstellen, oder Tags auf vorhandenen Zugangspunkte 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 an Zugangspunkten 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 Zugangspunkte
Mit der attributbasierten Zugriffskontrolle (ABAC) können Sie Zugriffsberechtigungen abskalieren und Zugangspunkten auf der Grundlage ihrer Tags Zugang gewähren. Weitere Informationen zu ABAC in Amazon S3 finden Sie unter Verwenden von Tags für ABAC.
ABAC für S3-Zugangspunkte
Amazon S3 Access Points unterstützen die attributbasierte Zugriffskontrolle (ABAC) mithilfe von Tags. Verwenden Sie Tag-basierte Bedingungsschlüssel in Ihren AWS Organisations-, IAM- und Zugangspunkt-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 Zugangspunkte anhand der Tags der Zugangspunkte steuern, indem Sie die folgenden globalen Bedingungsschlüssel verwenden:
-
aws:ResourceTag/key-nameWichtig
Der
aws:ResourceTagBedingungsschlüssel kann nur für S3-Aktionen verwendet werden, die über einen Zugangspunkt-ARN für Allzweck-Buckets ausgeführt werden, und deckt nur die zugrunde liegenden Zugangspunkt-Tags ab.-
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 derTagResourceundCreateAccessPointAPI-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 Zugangspunkt mit Tags erstellen. Um das Markieren während desCreateAccessPointAPI-Vorgangs zu erlauben, müssen Sie eine Richtlinie erstellen, die dies3:TagResource- unds3:CreateAccessPoint-Aktionen enthält. Anschließend können Sie denaws:TagKeys-Bedingungsschlüssel zum Erzwingen mit spezifischen Tags in derCreateAccessPoint-Anforderung verwenden.
-
-
s3:AccessPointTag/tag-key-
Verwenden Sie diesen Bedingungsschlüssel, um über Zugangspunkte mithilfe von Tags Berechtigungen für bestimmte Daten zu erteilen. Bei der Verwendung
aws:ResourceTag/tag-keyin einer IAM-Richtlinie müssen sowohl der Zugangspunkt als auch der Bucket, auf den der Zugangspunkt verweist, dasselbe Tag haben, da beide bei der Autorisierung berücksichtigt werden. Wenn Sie den Zugriff auf Ihre Daten ausschließlich über das Access-Point-Tag kontrollieren möchten, können Sie den Bedingungsschlüssel verwendens3:AccessPointTag/tag-key.
-
Beispiel für ABAC-Richtlinien für Zugangspunkte
Siehe die folgenden Beispiel-ABAC-Richtlinien für Amazon S3 Access Points.
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 dann Zugangspunkte erstellen, wenn sie die Zugangspunkte mit dem Tag-Schlüssel project und dem Tag-Wert Trinity in der Anfrage zur Erstellung von Zugangspunkte kennzeichnen. Sie können auch Tags an vorhandenen Zugangspunkte hinzufügen oder ändern, sofern die TagResource Anfrage das Schlüssel-Wert-Paar des Tags project:Trinity enthält.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateAccessPointWithTags", "Effect": "Allow", "Action": [ "s3:CreateAccessPoint", "s3:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/project": [ "Trinity" ] } } } ] }
1.2 – Zugangspunkt-Richtlinie zur Einschränkung von Vorgängen auf dem Zugangspunkt mithilfe von Tags
In dieser Zugangspunkt-Richtlinie können IAM-Prinzipale (Benutzer und Rollen) nur dann Operationen mithilfe der GetObject Aktion auf dem Zugangspunkt ausführen, wenn der Wert des Access project Point-Tags mit dem Wert des project Prinzipal-Tags übereinstimmt.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowObjectOperations", "Effect": "Allow", "Principal": { "AWS": "111122223333" }, "Action": "s3:GetObject", "Resource": "arn:aws::s3:region:111122223333:accesspoint/", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" } } } ] }my-access-point
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 auf einem Zugangspunkt nur ändern, wenn der Wert des Zugangspunkt-Tags project mit dem Wert des Prinzipal-Tags 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 Zugangspunkte zulässig. Dies trägt zur Durchsetzung der Tag-Governance bei, verhindert unbefugte Tag-Änderungen und sorgt dafür, dass das Tagging-Schema an Ihren Zugangspunkten einheitlich bleibt.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceTaggingRulesOnModification", "Effect": "Allow", "Action": [ "s3:TagResource" ], "Resource": "arn:aws::s3:region:111122223333:accesspoint/", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "my-access-pointproject", "environment", "owner", "cost-center" ] } } } ] }
1.4 – Verwenden des S3:AccessPointTag-Bedingungsschlüssels
In dieser IAM-Richtlinie ermöglicht die Bedingungsanweisung den Zugriff auf die Daten des Buckets, wenn der Zugangspunkt über den Tag-Schlüssel Environment und den Tag-Wert Production verfügt.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToSpecificAccessPoint", "Effect": "Allow", "Action": "*", "Resource": "arn:aws::s3:region:111122223333:accesspoint/", "Condition": { "StringEquals": { "s3:AccessPointTag/Environment": "Production" } } } ] }my-access-point
1.5 – Verwendung einer delegierten Bucket-Richtlinie
In Amazon S3 können Sie den Zugriff auf oder die Kontrolle über Ihre S3 Bucket-Richtlinie an ein anderes AWS-Konto oder an einen bestimmten AWS Identity and Access Management-(IAM)-Benutzer oder eine Rolle in dem anderen Konto delegieren. Die delegierte Bucket-Richtlinie gewährt diesem anderen Konto, Benutzer oder dieser Rolle die Berechtigung auf Ihren Bucket und dessen Objekte. Weitere Informationen finden Sie unter Berechtigungsdelegation.
Wenn Sie eine delegierte Bucket-Richtlinie verwenden, z. B. die folgende:
{ "Version": "2012-10-17", "Statement": { "Principal": {"AWS": "*"}, "Effect": "Allow", "Action": ["s3:*"], "Resource":["arn:aws::s3:::/*", "arn:aws::s3:::amzn-s3-demo-bucketamzn-s3-demo-bucket"], "Condition": { "StringEquals" : { "s3:DataAccessPointAccount" : "111122223333" } } } }
In der folgenden IAM-Richtlinie ermöglicht die Bedingungsanweisung den Zugriff auf die Daten des Buckets, wenn der Zugangspunkt über den Tag-Schlüssel Environment und den Tag-Wert Production verfügt.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToSpecificAccessPoint", "Effect": "Allow", "Action": "*", "Resource": "arn:aws::s3:region:111122223333:accesspoint/", "Condition": { "StringEquals": { "s3:AccessPointTag/Environment": "Production" } } } ] }my-access-point
Arbeiten mit Tags für Zugangspunkte für Allzweck-Buckets
Sie können Tags für Zugangspunkte 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: