我们正在开发一个桌面应用程序,它将允许任何互联网用户将大的音频\视频文件上传到AWS S3并使用AWS转录来转录它。计划是编写一个lambda函数来处理付款,一旦文件成功转录。我们希望避免编写自定义API网关端点来处理这些文件,并在我们的自定义API网关端点中与Amazon集成。我们可以在桌面应用程序中混淆AWS S3 AWSAccessKey和AWSSecretKey (当将AWS S3与桌面应用程序集成时),但我不确定这是否是一种安全最佳实践。
我们需要考虑的安全最佳实践是什么(在我们的桌面应用程序与AWS S3集成中),这样我们就不是世界上所有坏角色的“坐以待毙”了?桌面应用程序正在.Net CoreBazor6.0中构建,如果这很重要的话。
发布于 2021-08-02 22:35:11
正常程序是:
当使用AWS STS生成临时凭据时,后端可以指定:
不利的一面是后端的不知道哪些请求被提交给AWS。这将使计费具有挑战性,因为它需要抓取CloudTrail日志来识别它们所做的事情。StartTranscriptionJob() API调用没有任何条件键强制提供标记,这会使这更容易。
从安全的角度来看,相对安全,因为应用程序在有限的时间内只有有限的权限(但在这些限制范围内无法控制请求的次数)。
一种替代方法是让桌面应用程序通过API调用后端,从而完成要完成的工作。后端将代表桌面应用程序提交作业,从而跟踪应用程序的使用情况和对应用程序可以做什么有更多的控制,例如限制请求的数量。
https://stackoverflow.com/questions/68627285
复制相似问题