16

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

例如,客户表的主哈希键等于 Cognito ID。当共享相同 ID 的用户以外的任何人试图获取该项目时,他们将收到未经授权的异常。

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

4

1 回答 1

26

您应该能够使用与使用 ID Provider相同的技术来执行此类操作。您应该使用 Cognito 标识符作为策略中的键:

{
  "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}"]}
    }
  }]
}
于 2014-09-17T10:34:40.610 回答