Amazon DynamoDB行级授权非唯一ID

问题描述 投票:1回答:1

根据这个post我尝试在我的dynamoDB表上实现Amazon DynamoDB行级授权,

根据帖子我必须在IAM策略中实现一个条件,使用此策略来创建将进行身份验证的角色,如下所示:

"ForAllValues:StringEquals": {
        "dynamodb:LeadingKeys": [
              "${cognito-identity.amazonaws.com:sub}"
        ]
}

很清楚,但有一件事:

每个用户都有一个唯一的身份ID,所以如果我使用这个唯一的身份ID创建项目,在Dynamodb中它将不是唯一的,如果用户将放置多个项目

根据帖子我们有这个图像:

enter image description here

所以我想知道如果我没有错过任何东西,我想要Amazon DynamoDB行级授权,这样每个用户只能查询他存储的所有项目,并且用户可以存储多个项目。

我应该使用不同的排序ID,但这是正确的做法吗?

amazon-web-services amazon-dynamodb access-control
1个回答
0
投票

如果您的用户应该被允许在表中的多个项目,您只需要指定一个排序键(范围键)。

表中的每个项必须具有唯一的主键,该主键由分区键和可选的排序键组成。

排序键的性质完全取决于您要存储的项目。显然,您存储的每个项目都必须具有分区键和排序键的唯一组合。

© www.soinside.com 2019 - 2024. All rights reserved.