我可以根据Cognito ID指定AWS DynamoDB策略吗?

时间:2014-09-16 11:08:51

标签: amazon-dynamodb amazon-cognito

我可以将策略应用于AWS DynamoDB表,但是会根据访问它的用户的Cognito ID对其进行限制吗?

E.g。 Customer表的主哈希密钥等于Cognito ID。当除了共享相同ID的用户之外的任何人试图获得该项目时,他们将收到未经授权的例外。

(非DynanoDB策略可能也有效。)

1 个答案:

答案 0 :(得分:24)

您应该可以使用与using an ID Provider相同的技术执行此类操作。您应该use the Cognito identifier作为政策的关键:

{
  "Version": "2012-10-17",
  "Statement": [{
      "Effect": "Allow",
      "Action": [
        "dynamodb:DeleteItem",
        "dynamodb:GetItem",
        "dynamodb:PutItem",
        "dynamodb:Query"
      ],
      "Resource": ["arn:aws:dynamodb:REGION:123456789012:table/UserData"],
      "Condition": {
        "ForAllValues:StringEquals": {
          "dynamodb:LeadingKeys": ["${cognito-identity.amazonaws.com:sub}"]}
    }
  }]
}