Verwenden von ABAC mit DynamoDB-Tabellen und -Indizes - Amazon DynamoDB

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 von ABAC mit DynamoDB-Tabellen und -Indizes

Die folgenden Schritte zeigen, wie Sie Berechtigungen mithilfe von ABAC einrichten. In diesem Beispielszenario fügen Sie einer DynamoDB-Tabelle Tags hinzu und erstellen eine IAM-Rolle mit einer Richtlinie, die Tag-basierte Bedingungen beinhaltet. Anschließend testen Sie die zulässigen Berechtigungen für die DynamoDB-Tabelle, indem Sie die Tag-Bedingungen erfüllen.

Schritt 1: Hinzufügen von Tags zu einer DynamoDB-Tabelle

Sie können Tags zu neuen oder vorhandenen DynamoDB-Tabellen hinzufügen, indem Sie die AWS API AWS-Managementkonsole, AWS Command Line Interface (AWS CLI), das AWS SDK oder verwenden. AWS CloudFormation Der folgende CLI-Befehl tag-resource fügt beispielsweise einer Tabelle namens MusicTable ein Tag hinzu.

aws dynamodb tag-resource —resource-arn arn:aws:dynamodb:us-east-1:123456789012:table/MusicTable —tags Key=environment,Value=staging

Schritt 2: Erstellen einer IAM-Rolle mit einer Richtlinie, die Tag-basierte Bedingungen enthält

Erstellen Sie eine IAM-Richtlinie mithilfe des ResourceTagBedingungsschlüssels aws: /tag-key, um das in der IAM-Richtlinie angegebene Tag-Schlüssel-Wert-Paar mit dem Schlüssel-Wert-Paar zu vergleichen, das an die Tabelle angehängt ist. Die folgende Beispielrichtlinie ermöglicht es Benutzern, Elemente in Tabellen abzulegen oder zu aktualisieren, wenn diese Tabellen das Tag-Schlüssel-Wert-Paar "environment": "staging" enthalten. Wenn eine Tabelle das angegebene Tag-Schlüssel-Wert-Paar nicht enthält, werden diese Aktionen verweigert.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:PutItem", "dynamodb:UpdateItem" ], "Resource": "arn:aws:dynamodb:*:*:table/*", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "staging" } } } ] }

Schritt 3: Testen der Berechtigungen

  1. Hängen Sie die IAM-Richtlinie einem Testbenutzer oder einer Testrolle in Ihrem AWS-Konto zu. Stellen Sie sicher, dass der von Ihnen verwendete IAM-Prinzipal nicht bereits über eine andere Richtlinie Zugriff auf die DynamoDB-Tabelle hat.

  2. Achten Sie darauf, dass Ihre DynamoDB-Tabelle den "environment"-Tag-Schlüssel mit dem Wert "staging" enthält.

  3. Führen Sie die Aktionen dynamodb:PutItem und dynamodb:UpdateItem für die mit Tags versehene Tabelle aus. Diese Aktionen sollten erfolgreich sein, wenn das "environment": "staging"-Tag-Schlüssel-Wert-Paar vorhanden ist.

    Wenn Sie diese Aktionen für eine Tabelle ausführen, die nicht über das "environment": "staging"-Tag-Schlüssel-Wert-Paar verfügt, schlägt Ihre Anforderung mit einem AccessDeniedException-Fehler fehl.

Sie können sich auch die anderen im folgenden Abschnitt beschriebenen Beispielanwendungsfälle ansehen, um ABAC zu implementieren und weitere Tests durchzuführen.