AWS S3文档元数据超过了用户承载令牌的限制



我将用户承载令牌作为元数据附加到AWS S3文档并生成预签名的url。因此,当用户从应用程序请求文档时,它会通过该令牌进行交叉检查,以查看是否存在安全漏洞。

当令牌的大小从2kb增加时会出现问题。因为AWS不允许元数据超过2kb。

如果由于的大小限制,我不能在元数据中使用此令牌,我如何保护文档

好吧,您的问题是您的Bearer Token对于文档的元数据来说太大了,因此我建议将BearerToken作为额外的文档存储。

一般结构如下:

s3:\data-bucket[S3 Object for the User]
s3:\verification-bucket[BearerTokenDocument]

现在,当您创建用户可以使用的对象时,您将[BearerTokenDocument]的名称作为元数据添加到对象中。

在您用于提供文档的代码中,您可以执行以下操作:

  1. 加载[S3 Object for the User]
  2. 读取包含[BearerTokenDocument]名称的元数据字段
  3. 加载[BearerTokenDocument]并验证其内容
  4. 根据ValidationResult返回403或[S3 Object for the User]

由于元数据只需要文档的名称,并且您知道它存储在哪里,因此元数据中存储的数据量明显低于[BearerTokenDocument]中存储的数量

最新更新