代码之家  ›  专栏  ›  技术社区  ›  Lin Du Correcter

将私钥用作环境变量时,私钥的正确格式是什么?

  •  0
  • Lin Du Correcter  · 技术社区  · 5 年前

    我试着用 private_key 对于一些GCP服务nodejs客户端库,例如。 @google-cloud/pubsub , @google-cloud/trace-agent

    来自服务帐户凭据json文件,如下所示:

    enter image description here

    我试图将它用作云函数的环境变量。

    .env.yaml

    enter image description here

    像这样使用它:

    // ...
    
      credentials: {
            private_key: envs.private_key,
            client_email: envs.client_email
      },
      projectId: envs.X_GOOGLE_GCLOUD_PROJECT
    
    

    但有个错误:

    私钥 我得到的环境变量:

    enter image description here

    我猜是 \n . 那么,使用时正确的格式是什么 私钥 这样地?

    2 回复  |  直到 5 年前
        1
  •  1
  •   guillaume blaquiere    5 年前

    在中设置键。环境yaml文件不是个好主意。实际上,您将能够将它提交到git中,可能在公共repo中,并且您将在纯文本中设置它作为函数的环境变量。

    如果您在bucket中设置文件,并在运行时加载它,则会更好。顺便说一句,你不会在项目文件中保密。

    另一种解决方案是用kms加密密钥,并在运行时解密。这一次,您的项目文件中仍然有这个秘密,但已加密。

    但是,您还需要什么服务帐户?这一点上的功能还不够吗?

        2
  •  0
  •   TerryA    5 年前
    GCLOUD_KEY='{"private_key_id":"XXX", "private_key":"YYY",
                 "client_email":"ZZZ@ZZZ.COM", "client_id":"ABC123",
                 "type":"service_account"}'
    
    推荐文章