Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden der attributbasierten Zugriffskontrolle mit DynamoDB
Die attributebasierte Zugriffskontrolle (ABAC) ist eine Autorisierungsstrategie, die Zugriffsberechtigungen auf der Grundlage von Tag-Bedingungen in Ihren identitätsbasierten Richtlinien oder anderen Richtlinien, wie z. B. ressourcenbasierten Richtlinien und Organisationsrichtlinien, definiert. AWS IAM Sie können Tags an DynamoDB-Tabellen anhängen, die dann anhand der tagbasierten Bedingungen ausgewertet werden. Die mit einer Tabelle verknüpften Indizes erben die Tags, die Sie der Tabelle hinzufügen. Sie können bis zu 50 Tags für jede DynamoDB-Tabelle hinzufügen. Die maximale Größe, die für alle Tags in einer Tabelle unterstützt wird, beträgt 10 KB. Weitere Informationen zum Taggen von DynamoDB-Ressourcen und zu Tagging-Einschränkungen finden Sie unter Tagging resources in DynamoDB and Tagging restrictions in DynamoDB.
Weitere Informationen zur Verwendung von Tags zur Steuerung des Zugriffs auf AWS Ressourcen finden Sie in den folgenden Themen im Benutzerhandbuch: IAM
Mithilfe ABAC können Sie unterschiedliche Zugriffsebenen für Ihre Teams und Anwendungen erzwingen, um Aktionen an DynamoDB-Tabellen mit weniger Richtlinien durchzuführen. Sie können im Bedingungselement einer IAM Richtlinie ein Tag angeben, um den Zugriff auf Ihre DynamoDB-Tabellen oder -Indizes zu steuern. Diese Bedingungen bestimmen die Zugriffsebene, die ein IAM Principal, ein Benutzer oder eine Rolle auf DynamoDB-Tabellen und -Indizes hat. Wenn ein IAM Principal eine Zugriffsanforderung an DynamoDB stellt, werden die Tags der Ressource und Identität anhand der Tag-Bedingungen in der IAM Richtlinie bewertet. Danach wird die Richtlinie nur wirksam, wenn die Tag-Bedingungen erfüllt sind. Auf diese Weise können Sie eine IAM Richtlinie erstellen, die effektiv eine der folgenden Aussagen enthält:
-
Erlauben Sie dem Benutzer, nur die Ressourcen zu verwalten, die über ein Tag mit einem Schlüssel
X
und einem Wert verfügenY
. -
Verweigern Sie allen Benutzern den Zugriff auf Ressourcen, die mit einem Schlüssel gekennzeichnet sind
X
.
Sie können beispielsweise eine Richtlinie erstellen, die es Benutzern ermöglicht, eine Tabelle nur zu aktualisieren, wenn sie das Schlüssel-Wert-Paar des Tags enthält:. "environment": "staging"
Sie können den ResourceTag Bedingungsschlüssel aws: verwenden, um den Zugriff auf eine Tabelle auf der Grundlage der Tags zu gewähren oder zu verweigern, die an diese Tabelle angehängt sind.
Sie können attributebasierte Bedingungen bei der Erstellung der Richtlinie oder später mit,, AWS Command Line Interface (AWS CLI) AWS Management Console AWS API, AWS SDK oder angeben. AWS CloudFormation
Im folgenden Beispiel ist die UpdateItemAktion für eine Tabelle mit dem Namen zulässig, MusicTable
wenn sie einen Tag-Schlüssel mit dem Namen environment
und dem Wert enthält. production
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:UpdateItem" ], "Resource": "arn:aws:dynamodb:*:*:table/MusicTable", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "production" } } } ] }
Themen
- Weshalb sollte ich ABAC verwenden?
- Bedingungsschlüssel zur Implementierung ABAC mit DynamoDB
- Überlegungen zur Verwendung ABAC mit DynamoDB
- Aktivierung ABAC in DynamoDB
- Verwendung ABAC mit DynamoDB-Tabellen und -Indizes
- Beispiele für die Verwendung ABAC mit DynamoDB-Tabellen und -Indizes
- Behebung häufiger ABAC Fehler für DynamoDB-Tabellen und -Indizes
Weshalb sollte ich ABAC verwenden?
-
Einfachere Richtlinienverwaltung: Sie verwenden weniger Richtlinien, da Sie nicht unterschiedliche Richtlinien erstellen müssen, um die Zugriffsebene für jeden IAM Prinzipal zu definieren.
-
Skalierbare Zugriffskontrolle: Die Skalierung der Zugriffskontrolle ist einfacher, ABAC da Sie Ihre Richtlinien nicht aktualisieren müssen, wenn Sie neue DynamoDB-Ressourcen erstellen. Sie können Tags verwenden, um den Zugriff auf IAM Prinzipale zu autorisieren, die Tags enthalten, die den Tags der Ressource entsprechen. Sie können neue IAM Principals oder DynamoDB-Ressourcen einbinden und entsprechende Tags anwenden, um automatisch die erforderlichen Berechtigungen zu gewähren, ohne dass Sie Änderungen an den Richtlinien vornehmen müssen.
-
Detailliertes Berechtigungsmanagement: Es hat sich bewährt, bei der Erstellung von Richtlinien die geringsten Rechte zu gewähren. Mit dieser ABAC Methode können Sie Tags für den IAM Prinzipal erstellen und diese verwenden, um Zugriff auf bestimmte Aktionen und Ressourcen zu gewähren, die den Tags auf dem IAM Prinzipal entsprechen.
-
Ausrichtung auf das Unternehmensverzeichnis: Sie können Tags vorhandenen Mitarbeiterattributen aus Ihrem Unternehmensverzeichnis zuordnen, um Ihre Zugriffskontrollrichtlinien an Ihre Organisationsstruktur anzupassen.
Bedingungsschlüssel zur Implementierung ABAC mit DynamoDB
Sie können die folgenden Bedingungsschlüssel in Ihren AWS Richtlinien verwenden, um die Zugriffsebene auf Ihre DynamoDB-Tabellen und -Indizes zu steuern:
-
aws: ResourceTag /tag-key: Steuert den Zugriff basierend darauf, ob das Tag-Schlüssel-Wert-Paar in einer DynamoDB-Tabelle oder einem DynamoDB-Index mit dem Tag-Schlüssel und -Wert in einer Richtlinie übereinstimmt oder nicht. Dieser Bedingungsschlüssel ist für alle relevant, die mit einer vorhandenen Tabelle oder einem APIs vorhandenen Index arbeiten.
Die
dynamodb:ResourceTag
Bedingungen werden so bewertet, als ob Sie einer Ressource keine Tags angehängt hätten. -
aws: RequestTag /tag-key: Ermöglicht den Vergleich des Tag-Schlüssel-Wert-Paars, das in der Anfrage übergeben wurde, mit dem Tag-Paar, das Sie in der Richtlinie angeben. Dieser Bedingungsschlüssel ist relevant für diejenigenAPIs, die Tags als Teil der Nutzlast der Anfrage enthalten. Dazu APIs gehören CreateTableund. TagResource
-
aws:TagKeys: Vergleicht die Tag-Schlüssel in einer Anfrage mit den Schlüsseln, die Sie in der Richtlinie angeben. Dieser Bedingungsschlüssel ist relevant für diejenigenAPIs, die Tags als Teil der Nutzlast der Anfrage enthalten. Dazu APIs gehören
CreateTable
TagResource
, undUntagResource
.
Überlegungen zur Verwendung ABAC mit DynamoDB
Bei der Verwendung ABAC mit DynamoDB-Tabellen oder -Indizes gelten die folgenden Überlegungen:
-
Tagging und ABAC werden für DynamoDB Streams nicht unterstützt.
-
Tagging und ABAC werden für DynamoDB-Backups nicht unterstützt. Für die Verwendung ABAC mit Backups empfehlen wir die Verwendung von. AWS Backup
-
Tags werden in wiederhergestellten Tabellen nicht beibehalten. Sie müssen den wiederhergestellten Tabellen Tags hinzufügen, bevor Sie tagbasierte Bedingungen in Ihren Richtlinien verwenden können.