March 18th, 2022
前言:
以往的時候,如果要使用 Google Cloud 相關的 API (比如說: Google Cloud Storage) 存取 API ,只能透過 JSON 檔案來操作。但是如果你想要放上 Heroku 的時候,就必須要放上 GitHub ,這個時候就很容易不小心誤放 JSON 檔案而被機器人掃走而盜用。
本篇文章將告訴你,透過環境變數跟 Golang Buildpack 可以幫助你在安全無慮的狀況下部署 Herokuu 專案,也可以開源到 Github 。
流程:
其實這一篇 Adding Google Cloud Credentials to Heroku 的內容算是蠻完整的,但是裡面的 buildpack 最近用起來怪怪的。
-
開啟一個專屬的 services account
-
透過 Google Cloud Console https://cloud.google.com/storage/docs/reference/libraries#create-service-account-console
-
-
設定好需要的權限就好: (圖片是需要 Cloud Storage 的建立者)
-
下載你的 JSON Key (檔案請妥善儲存)
-
透過 golang build pack 新增
heroku buildpacks:set https://github.com/gerywahyunugraha/heroku-google-application-credentials-buildpack -a your-app-name
-
接下來將 JSON 檔案參數填寫進 Heroku 設定
GOOGLE_APPLICATION_CREDENTIALS: google-credentials.json (固定)
GOOGLE_CREDENTIALS: 裡面放 JSON 完整內容。
- 相關程式部分: