我有一个如下表:
UserId1 (partition key) | UserId2 (non-key attribute)
"id_001" | "id_002"
我希望用户能够在User's ID = UserId1
或User's ID = UserId2
的情况下更新项目。我在下面找到了策略,但它只能满足User's ID = UserId1
。是否可以使用另一个属性作为约束?
{
"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}"
]
}
}
}
]
}
简单的答案是否定的。
非关键属性没有在任何有意义的地方定义,以允许AWS为其制定arn。没有arn,您就无法为其创建策略。
我不确定是否可以使用基于索引属性的策略。也许值得一试?