AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1161765
Accepted
Europa
Europa
Asked: 2024-06-30 15:49:44 +0800 CST2024-06-30 15:49:44 +0800 CST 2024-06-30 15:49:44 +0800 CST

在 Google Cloud Compute Engine 实例模板启动脚本中使用秘密 API 密钥。它应该存储在哪里以及如何读取该值?

  • 772

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

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

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

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

google-cloud-platform
  • 2 2 个回答
  • 54 Views

2 个回答

  • Voted
  1. Imran Premnawaz
    2024-06-30T18:28:49+08:002024-06-30T18:28:49+08:00

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

    对于 Linux:

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

    对于 Windows:

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

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

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

    • 0
  2. Best Answer
    Daniel t.
    2024-07-03T04:23:35+08:002024-07-03T04:23:35+08:00

    在 GCP 中,建议将机密(在本例中为机密 API 密钥)存储在google secret manager(GSM)中

    1. 在 GSM 中创建机密
    2. 将 API 密钥上传至 GSM
    3. 授予与计算引擎 IAM 关联的服务帐户对机密的访问权限 - 角色是secretmanager.secretAccessor
    4. 修改启动脚本以从 GSM 中提取 API 密钥并将其分配给变量,例如 API_KEY_VAR,然后将其传递给 curl,如下所示 -
    curl --location 'https://my-side.com/hello?hostname=$hostname' \
        --header "Authorization: $API_KEY_VAR"
    

    您可以使用gcloud secrets versions access命令来提取秘密。

    • 0

相关问题

  • 网络定价如何在云平台中准确运作?我应该如何避免专门的定价攻击?

  • 云有多大?[关闭]

  • 无需短信即可注册 Google AppEngine?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve