我有一个带有启动脚本的 Google Cloud Compute Engine 实例模板。

在启动脚本中,服务器会生成证书。生成证书后,它会向 API 发送一条消息,告知中央系统有关证书的信息。请求如下所示:

curl --location 'https://my-side.com/hello?hostname=$hostname' \
    --header 'Authorization: SUPER_SECRET_API_KEY'

API 密钥以原始文本形式存储在启动脚本中。这样可以吗,还是应该将其移至示例密钥存储?如果可以,那么我该如何读取启动脚本中的 API 密钥?


最佳答案
1

始终将 API 密钥存储在环境变量中。请使用以下命令,

对于 Linux:

导出 API_KEY=”你的密钥在这里”

对于 Windows:

设置 API_KEY=your_secret_key_here(确保在应用程序启动之前执行所有这些命令)

您还可以使用秘密管理器,它有助于存储和访问 API 密钥,请参阅官方以了解有关秘密管理器的更多信息。

此外,您还可以查看这些以获取更多详细信息。如果以上信息有帮助,请告知我们。

3

  • 感谢您的建议,但这是一个实例模板。因此,在实例模板中导出 API 密钥没有任何意义,因为它仍会存在于实例模板中。


    – 

  • 尝试使用密钥保管库作为另一种选择。基本上,Vault 提供基于身份验证和授权的门控加密服务。可以通过 Vault 的 UI、CLI 或 HTTP API 安全地存储、管理、严格控制(限制)和审计对机密和其他敏感数据的访问。有关更多信息,请参阅此


    – 

  • 您还可以阅读此官方 GCP 文档,了解凭据以获取更多详细信息。


    –