根据这个post我尝试在我的dynamoDB表上实现Amazon DynamoDB行级授权,
根据帖子我必须在IAM策略中实现一个条件,使用此策略来创建将进行身份验证的角色,如下所示:
"ForAllValues:StringEquals": {
"dynamodb:LeadingKeys": [
"${cognito-identity.amazonaws.com:sub}"
]
}
很清楚,但有一件事:
每个用户都有一个唯一的身份ID,所以如果我使用这个唯一的身份ID创建项目,在Dynamodb中它将不是唯一的,如果用户将放置多个项目
根据帖子我们有这个图像:
所以我想知道如果我没有错过任何东西,我想要Amazon DynamoDB行级授权,这样每个用户只能查询他存储的所有项目,并且用户可以存储多个项目。
我应该使用不同的排序ID,但这是正确的做法吗?
如果您的用户应该被允许在表中的多个项目,您只需要指定一个排序键(范围键)。
表中的每个项必须具有唯一的主键,该主键由分区键和可选的排序键组成。
排序键的性质完全取决于您要存储的项目。显然,您存储的每个项目都必须具有分区键和排序键的唯一组合。