我有一个用例,我想向客户端设备提供对S3存储桶中文件的安全访问。
客户端/设备应该能够通过在HTTP标头中添加一些身份验证令牌/密钥来发送访问S3 URL的请求。
如果我使用基于IAM的S3存储桶访问权限,则每个设备都需要具有aws sdk,并且需要在每个设备上配置访问密钥和安全访问密钥。因此,这是不可行的选择。
我也不能为IAM用户使用基于用户名/密码的访问权限,因为它将要求将用户名/密码存储在每个设备上,这再次不可行。
预先签名的URL也不可行,因为对这些URL的访问不是基于令牌/密钥的。
尽管我使用的是API Gateway / lambda,但其中的lambda会验证来自HTTP标头的访问令牌。 这将涉及Lambda和API网关调用,这将增加总成本。
还有更好的选择吗?