1

我正在开发一个必须使用提取 API 的项目,与其他 API 相比,它提供了最好的结果。

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

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

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

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

4

1 回答 1

0

三种可能的方式:

  1. 使用临时安全凭证。这要求您的应用程序具有服务器组件,该组件将根据需要为桌面应用程序创建具有时间限制的凭据,并且可能具有非常有限的权限。这样,您的根凭据就不会暴露。

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

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

于 2020-05-22T08:19:18.843 回答