有什么方法可以使用 AWS textract API 而无需访问代码中的密钥?

Is there any way to use AWS textract API without giving access to secret key in code?

我正在做一个项目,我必须在其中使用提取物 API,与其他 API 相比,它给出了最好的结果。

要使用 API,我使用我的帐户 API 凭据。 ,例如,,我在我的桌面应用程序中实现了一个图像文本识别功能。它使用 python 作为后端(用于请求和处理)和 PYQT5 作为前端(从用户那里获取所需的文件)所以使用 "AWS Textract" 我设置如果我想将该项目导出到另一个系统,我的 "Acess key""Secret Acess key" 作为环境变量方便。

我必须提供我的访问密钥和秘密访问密钥才能正常工作。我不想分享。我如何设法在桌面应用程序中使用 AWS Textract,而不在我的应用程序源代码中向用户提供敏感信息(这对我非常有害,因为 AWS 为试用用户提供了有限数量的 Textract 运行)

如果用户拿到了访问密钥和秘密访问密钥,他们可能会用它来创建批量请求。这不是使用它的应用程序的目标。

想法中也接受需要的帮助和修改。

三种可能的方式:

  1. 使用Temporary Security Credentials。这要求您的应用程序有一个服务器组件,该组件将根据需要为桌面应用程序创建时间有限的凭据,可能具有非常有限的权限。这样您的根凭据就永远不会暴露。

  2. 您的服务器充当整个操作的代理,这意味着它接受数据上传,通过 Textract 运行它并 returns 结果。这样就不会向客户端公开任何 AWS 凭据,但显然对服务器的处理要求要高得多。

  3. 您要求您的应用程序的用户注册他们自己的 AWS 账户并生成他们自己的凭据,从而免除您的任何责任。或者,如果这对您的用例有意义,您可以在自己的帐户上创建特定的受限用户。