TG客服

Google Cloud Cloud Functions如何配置环境变量,安全地存储敏感信息

⏱️2026-05-13 09:00 👁️2

Google Cloud Functions 环境变量配置 ⚙️

Cloud Functions 允许您设置环境变量,以便在函数运行时访问配置数据。 这对于存储 API 密钥、数据库连接字符串等敏感信息非常有用,而且无需将它们硬编码到代码中。 🔐

配置环境变量的方法

  1. 通过 Google Cloud Console:
    1. 打开 Google Cloud Console。 ☁️
    2. 导航到 Cloud Functions。
    3. 选择你的函数。
    4. 点击 “编辑” 按钮。 ✏️
    5. 展开 “运行时、构建和连接设置” 部分。
    6. 在 “运行时环境变量” 部分,添加或修改你的环境变量。 ➕
    7. 点击 “部署” 以保存更改。 🚀
  2. 使用 gcloud 命令行工具:

    你可以使用 gcloud functions deploy 命令来部署带有环境变量的函数。

                    
    gcloud functions deploy YOUR_FUNCTION_NAME \
      --runtime YOUR_RUNTIME \
      --trigger-http \
      --set-env-vars KEY1=VALUE1,KEY2=VALUE2
                    
                

    替换 YOUR_FUNCTION_NAME, YOUR_RUNTIME, KEY1, VALUE1, KEY2, VALUE2 为你实际的值。

  3. 使用 Terraform:

    如果你使用 Terraform 管理你的基础设施,你可以使用 google_cloudfunctions_function 资源来配置环境变量。

                    
    resource "google_cloudfunctions_function" "default" {
      name        = "function-example"
      description = "a new function"
      runtime     = "nodejs16"
      available_memory_mb = 256
      entry_point = "helloGET"
    
      trigger_http = true
    
      source_archive_bucket  = "gcs-source-bucket"
      source_archive_object = "archive.zip"
    
      environment_variables = {
        KEY1 = "VALUE1"
        KEY2 = "VALUE2"
      }
    }
                    
                

安全地存储敏感信息 🛡️

对于存储敏感信息(例如 API 密钥、数据库密码),强烈建议使用 Google Cloud Secret Manager。

  1. Google Cloud Secret Manager:

    Secret Manager 允许你安全地存储、管理和访问敏感信息。

    1. 创建 Secret:

      在 Secret Manager 中创建一个新的 secret,并将你的敏感信息存储在其中。

    2. 授予权限:

      授予你的 Cloud Function 的服务账号访问 secret 的权限。

    3. 在 Cloud Function 中访问 Secret:

      在你的 Cloud Function 代码中,使用 Secret Manager API 来访问 secret 的值。

                              
      const { SecretManagerServiceClient } = require('@google-cloud/secret-manager');
      
      exports.helloWorld = async (req, res) => {
        const client = new SecretManagerServiceClient();
        const secretName = 'projects/YOUR_PROJECT_ID/secrets/YOUR_SECRET_NAME/versions/latest';
      
        try {
          const [version] = await client.accessSecretVersion({
            name: secretName,
          });
      
          const payload = version.payload.data.toString();
          console.log(`Secret value: ${payload}`);
          res.status(200).send(`Secret value: ${payload}`);
      
        } catch (error) {
          console.error('Failed to access secret:', error);
          res.status(500).send('Failed to access secret');
        }
      };
                              
                          

      替换 YOUR_PROJECT_IDYOUR_SECRET_NAME 为你实际的值。

最佳实践 ✅

  • 不要硬编码敏感信息:

    永远不要将 API 密钥、密码等敏感信息硬编码到你的代码中。

  • 使用环境变量或 Secret Manager:

    使用环境变量或 Secret Manager 来存储和管理敏感信息。

  • 限制访问权限:

    只授予必要的服务账号访问敏感信息的权限。

  • 定期轮换密钥:

    定期轮换你的 API 密钥和密码,以降低安全风险。

通过遵循这些最佳实践,你可以安全地配置和使用 Cloud Functions 中的环境变量和敏感信息。 👍

国际云自助站点

我们提供一站式多云服务管理平台,支持阿里云国际、腾讯云国际、AWS(亚马逊云)和GCP(谷歌云)等主流国际云厂商。无论是新账户申请、余额充值,还是日常管理与监控,平台均可统一操作,大幅提升管理效率。同时支持余额预警、异常通知等推送功能,帮助用户实时掌握各云平台资源状态,防止因欠费导致业务中断。平台还支持多账号集中管理,适用于个人站长、跨境电商、开发团队等多场景使用需求,真正实现高效、安全、灵活的多云资源协同管理。

热门文章
更多>