2016-04-18 12 views
0

Ich habe eine Tabelle wie folgt:Kann ich eine Richtlinie für eine AWS DynamoDB-Tabelle basierend auf einem Nicht-Schlüsselattributwert erstellen?

UserId1 (partition key) | UserId2 (non-key attribute) 
     "id_001"  |   "id_002" 

Ich möchte der Benutzer in der Lage sein zu aktualisieren Einzelteile, wenn User's ID = UserId1 oder User's ID = UserId2. Ich habe die folgende Richtlinie gefunden, sie kann jedoch nur User's ID = UserId1 erfüllen. Ist es möglich, ein anderes Attribut als Einschränkung zu verwenden?

{ 
"Version": "2012-10-17", 
"Statement": [ 
    { 
    "Effect": "Allow", 
    "Action": [ 
    "dynamodb:GetItem", 
    "dynamodb:PutItem", 
    "dynamodb:Query", 
    "dynamodb:UpdateItem" 
    ], 
    "Resource": [ 
    "arn:aws:dynamodb:REGION:123456789012:table/UserData" 
    ], 
    "Condition": { 
    "ForAllValues:StringEquals": { 
    "dynamodb:LeadingKeys": [ 
     "${graph.facebook.com:id}" 
    ] 
    } 
    } 
    } 
] 
} 

Antwort

1

Einfache Antwort ist nein.

Das Nicht-Schlüsselattribut ist an keiner sinnvollen Stelle definiert, damit AWS ein Argument dafür finden kann. Ohne ein ARN können Sie keine Richtlinie dafür erstellen.

Ich bin mir nicht sicher, ob Sie Richtlinien basierend auf einem indizierten Attribut haben können. Könnte es wert sein, das zu geben?