簡體   English   中英

部署到 Google Cloud Functions 時如何處理密鑰和憑據?

[英]How to handle keys and credentials when deploying to Google Cloud Functions?

我有幾個雲功能(在 Python 中)需要模塊化 package auth ,其中有一個帶有credentials的子文件夾(主要包含 Google 服務帳戶文件的 json 文件或 Z035489FF8D092741943E4A8342 配置)。

從安全角度來看,我顯然沒有通過在.gitignore文件( auth/credentials )中添加文件夾來將這些文件包含在.git中。

但是,我現在在部署 Google Cloud Function ( .gcloudignore ) 時遇到了問題。 如果我使用憑據部署它,那么我想這些密鑰會暴露在服務器上嗎? 我怎么能克服這個?

我聽說過一些關於環境變量的說法,但我不確定這是否比僅僅部署它更安全?

谷歌的做法是什么?

您有兩種主要的解決方案可供您使用。 首先是 Cloud Function 可以以自定義服務帳戶的身份運行。 然后,此服務帳戶可以與您的邏輯完成其任務所需的所有角色相關聯。 這樣做的價值在於您的邏輯不需要明確知道憑據。 “隱式”撥打電話的環境擁有它所需要的一切。

請參閱: 按功能標識

第二種更符合您當前所做的機制使用Compute Metadata Server的概念。 此元數據可以使用進行病房呼叫所需的令牌進行配置。 元數據與您的 Cloud Function 邏輯分開配置,后者僅根據需要檢索數據。

請參閱: 獲取身份和訪問令牌

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM