iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
Software Development

窮小子的售票系統系列 第 19

Day19: 實作-雲端資源建立-Secret Manager

  • 分享至 

  • xImage
  •  

昨天我們說到 Cloud Run 將環境變數連結到 Secret Manager,今天我們就來實作這個部分

首先簡單的介紹一下 Secret Manager 這個服務,我們一樣有請我們的好朋友 Gemini

主要功能與優勢:

  • 集中化管理: 將所有的機密資料集中存放在一個地方,方便管理和追蹤。
  • 版本控制: 允許您對每個密碼建立多個版本,方便回溯和管理。
  • 存取控制: 提供細緻的存取控制機制,您可以精確控制哪些使用者或服務可以存取哪些密碼。
  • 整合性強: 與其他 GCP 服務緊密整合,例如 Cloud Functions、Cloud Run 等,方便在應用程式中使用密碼。
  • 安全加密: 所有儲存的密碼都會經過嚴格加密,確保資料安全。
  • 延遲銷毀: 提供延遲銷毀功能,避免誤刪重要密碼。

常見使用情境:

  • 儲存 API 金鑰: 將第三方 API 的金鑰安全地儲存起來,避免硬編碼在程式碼中。
  • 管理資料庫密碼: 將資料庫的使用者名稱和密碼存放在 Secret Manager 中,提高安全性。
  • 儲存 SSL/TLS 憑證: 將網站的 SSL/TLS 憑證安全地儲存起來。
  • 保護 SSH 金鑰: 將 SSH 金鑰存放在 Secret Manager 中,方便管理和使用。

基本上只要你有一些跟應用程式相關的配置,都很適合放在 Secret Manager 做管理

建立 Secret

首先我們進入Secret Manager 的頁面,就可以看到大大的建立密鑰

https://ithelp.ithome.com.tw/upload/images/20240920/20168312sq1j9Rbgta.png
我們給 Secret 取一個名字,並設定對應的值

https://ithelp.ithome.com.tw/upload/images/20240920/2016831288dYgTgtVZ.png
加密就使用預設的 GMEK,其他參數大部分都是跟 Secret 的生命週期有關保持預設就可以了

設定 Cloud Run 使用 Secret

進入 Cloud Run 的編輯畫面,把原本的環境變數刪除,使用”以環境變數形式公開的密鑰”名稱一樣要輸入 ConnectionStrings__TicketSalesContext 密鑰選擇我們剛剛建立的,版本選 latest 。如果一值出現名稱衝突的錯誤訊息,可以先把原本的環境變數改成其他名字,再新增就可以了。

https://ithelp.ithome.com.tw/upload/images/20240920/20168312hSNJgrZXCJ.png
我們再回到 Cloud Run 的 yaml 看看,可以看到 yaml 內就沒有明文的連接字串了

https://ithelp.ithome.com.tw/upload/images/20240920/20168312ZuD4FccZxK.png
測試連線,也是OK的

https://ithelp.ithome.com.tw/upload/images/20240920/20168312JG8J4lzsfI.png
這樣我們的連線資訊就可以確保連線資訊被安全的保存在 Secret Manager


上一篇
Day18: 實作-連接雲端資源-Part 1
下一篇
Day20: 實作-連接雲端資源 Part2
系列文
窮小子的售票系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言