【问题标题】:Is there any way to use AWS textract API without giving access to secret key in code?有什么方法可以使用 AWS textract API 而无需访问代码中的密钥?
【发布时间】:2020-05-23 11:54:16
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 您根本无法直接访问您的 aws 基础架构。例如,通过 API 网关执行所有操作,您可以使用访问密钥进行控制、设置每个密钥的限制等等。
  • 要么有一个执行实际处理的服务器组件,要么可能只是为应用程序生成临时密钥,或者要求用户生成自己的密钥。

标签: python amazon-web-services amazon-s3 amazon-textract


【解决方案1】:

三种可能的方式:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-08
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    • 2013-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多