2016-06-01 11 views
0

Ich möchte den Zugriff in DynamoDB pro Benutzer trennen. Grundsätzlich sollte der Benutzer in der Lage sein Tabellen zu erstellen, abzufragen und zu löschen (vollständig lesen/schreiben), aber nur von ihm erstellte Tabellen.Erteilen Sie Berechtigungen "pro Benutzer" in DynamoDB?

In einer traditionellen Datenbank dies bedeuten würde, alle Rechte für Datenbank-X an Benutzer A die Gewährung und alle Rechte an Datenbank Y Benutzer B.

Wie kann ich Setup dies in DynamoDB mit IAM Rechte?

+0

Ich habe Erfahrungen aus der Vergangenheit eines solchen Beschränkung des Zugangs von Nutzern zu zwingen, ihre Tabellen bestimmte Präfixe zu haben. Etwas like' { "Version": "2012.10.17", "Statement": [{ "Sid": "allowallaccess", "Effect": "Erlauben", "Aktion": [ "DynamoDB: *" ], "Ressource": [ "arn: aws: DynamoDB: us-west-2: 123456789012: Tabelle/user_ *" ] } ] } ' – Shibashis

+0

würde das funktionieren für die Erstellung von Tabellen auch? Sie könnten nur Tabellen erstellen, die mit dem Präfix beginnen? –

+0

Ja, es erlaubt Dynamodb: * Operationen. Was umfasst, erstellen. – Shibashis

Antwort

2

Sie können die Datenbanktabellen zu einem Benutzer entmischen durch eine IAM-Politik wie

Einstellung
{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Sid": "allowallaccess", 
     "Effect": "Allow", 
     "Action": [ 
     "dynamodb:*" 
     ], 
     "Resource": [ 
     "arn:aws:dynamodb:us-west-2:123456789012:table/user_*" 
     ] 
    } 
    ] 
}