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

Sco*_*zie 13 amazon-dynamodb amazon-cognito

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

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

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

Wol*_*yrd 24

您应该可以使用与使用ID提供程序相同的技术执行此类操作.您应该使用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}"]}
    }
  }]
}
Run Code Online (Sandbox Code Playgroud)

  • 那么,如果我希望老师/主管能够查看所有员工/学生记录怎么办?老师的身份不会和学生的身份相符吧? (2认同)