Amazon DynamoDB:使用扫描的细粒度访问控制似乎不可能

时间:2016-07-10 11:06:28

标签: amazon-web-services amazon-dynamodb amazon-simpledb amazon-dynamodb-streams

我有一个非常简单的表,包含3个字段:

  1. uuid(String)
  2. firstname(String)
  3. 接受(布尔)
  4. 我想知道用户政策是否允许两个操作"扫描"和" PutItem"有两个条件:

    1. For Scan:Scan all accepted = true(仅允许该条件,但我不知道是否可以)。这将是一个"视图"。

    2. 对于PutItem:保护接受的字段。

    3. 我尝试了什么

      我刚尝试了一种基本方法:

      Query orderedListQuery = FirebaseRef.orderByChild("orderNumber");
      

      如果我删除"已接受",我无法根据它使用ScanFilter。

      我是否必须使用两个单独的策略设置两个用户?

      最困难的部分似乎是使用{ "Version": "2012-10-17", "Statement": [ { "Sid": "LimitAccessToSpecificAttributes", "Effect": "Allow", "Action": [ "dynamodb:Scan", "dynamodb:PutItem" ], "Resource": [ "arn:aws:dynamodb:us-west-2:xxx:table/mytable" ], "Condition": { "ForAllValues:StringEquals": { "dynamodb:Attributes": [ "uuid", "firstname", "accepted" ] }, "StringEqualsIfExists": { "dynamodb:Select": "SPECIFIC_ATTRIBUTES", "dynamodb:ReturnValues": [ "NONE", "UPDATED_OLD", "UPDATED_NEW" ] } } } ] } 隐藏所有项目。

      任何帮助都将不胜感激。

0 个答案:

没有答案