我可以根据非关键属性值为AWS DynamoDB表创建策略吗?

时间:2016-04-18 02:07:55

标签: amazon-web-services amazon-dynamodb aws-sdk amazon-iam

我有一张如下表:

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

我希望用户能够在User's ID = UserId1User'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}"
     ]
    }
   }
  }
 ]
}

1 个答案:

答案 0 :(得分:1)

简单的答案是否定的。

非key属性未在任何有意义的位置定义,以允许AWS为其提供arn。如果没有arn,则无法为其创建策略。

我不确定您是否可以拥有基于索引属性的策略。可能值得一试吗?