我将用户承载令牌作为元数据附加到AWS S3文档并生成预签名的url。因此,当用户从应用程序请求文档时,它会通过该令牌进行交叉检查,以查看是否存在安全漏洞。
当令牌的大小从2kb增加时会出现问题。因为AWS不允许元数据超过2kb。
如果由于的大小限制,我不能在元数据中使用此令牌,我如何保护文档
好吧,您的问题是您的Bearer Token对于文档的元数据来说太大了,因此我建议将BearerToken作为额外的文档存储。
一般结构如下:
s3:\data-bucket[S3 Object for the User]
s3:\verification-bucket[BearerTokenDocument]
现在,当您创建用户可以使用的对象时,您将[BearerTokenDocument]
的名称作为元数据添加到对象中。
在您用于提供文档的代码中,您可以执行以下操作:
- 加载
[S3 Object for the User]
- 读取包含
[BearerTokenDocument]
名称的元数据字段 - 加载
[BearerTokenDocument]
并验证其内容 - 根据ValidationResult返回403或
[S3 Object for the User]
由于元数据只需要文档的名称,并且您知道它存储在哪里,因此元数据中存储的数据量明显低于[BearerTokenDocument]
中存储的数量