iT邦幫忙

2024 iThome 鐵人賽

DAY 28
0
Modern Web

Go 快 Go 高效: 從基礎語法到現代Web應用開發系列 第 28

【Day28】隱私守護專家 II | 環境變數建立 × Inficia

  • 分享至 

  • xImage
  •  

什麼是 Inficia?

https://ithelp.ithome.com.tw/upload/images/20241005/20161850PWx4LknkhV.png

Infisical 是一個現代化的密鑰管理(Secrets Management)平台,專門用來安全地存儲、管理和分發應用程式中的敏感資訊,例如 API 金鑰、資料庫憑證、加密密鑰等。它旨在幫助開發者和團隊有效地保護應用程式的機密資料,防止洩漏和未授權的訪問。


特色功能

  1. 集中化密鑰管理
    Infisical 允許開發團隊將所有敏感資訊集中管理,包括 API 金鑰、資料庫憑證、加密密鑰等。這種集中化的管理方式不僅提升了安全性,還簡化了密鑰的更新和維護流程。

  2. 高訂製化的訪問控制
    透過角色基礎的訪問控制(RBAC),Infisical 能夠設定不同用戶或團隊的訪問權限。這確保只有授權的人員能夠存取特定的密鑰,減少內部洩漏風險。

  3. 版本控制與審計記錄
    每次密鑰的變更都會被記錄並保存其版本歷史,允許開發者回溯至之前的版本。此外,詳細的審計記錄有助於追蹤誰在何時對密鑰進行了何種操作,增強安全性和合規性。

  4. 自動化密碼注入
    Infisical 提供多種 SDK 和 CLI 工具,支持自動化將密鑰注入到應用程式中。這意味著開發者可以輕鬆地在開發、測試和生產環境中使用最新的密鑰,而無需手動更新配置文件。

  5. 多雲和多平台支持
    無論你的基礎設施部署在 AWS、GCP、Azure 還是 Kubernetes 上,Infisical 都提供相應的整合和支持。這使得在多雲環境中管理密鑰變得更加簡單和一致。

  6. 安全性與合規性
    Infisical 採用了行業標準的加密技術,確保數據在靜態和傳輸過程中的安全。此外,其合規性功能幫助企業滿足各種安全標準和法規要求,如 GDPR、HIPAA 等。

  7. 易於整合與擴展
    Infisical 提供豐富的 API 和 Webhook,允許與現有的開發工具鏈、CI/CD 流程和其他第三方服務無縫整合。這使得企業能夠根據自身需求靈活擴展和定制其密鑰管理流程。

  8. 用戶友好的界面
    Infisical 的管理界面直觀且易於使用,無論是技術專家還是非技術人員,都能輕鬆地進行密鑰的管理和配置。這降低了使用門檻,提高了團隊的工作效率。

  9. 高可用性與可靠性
    Infisical 確保其平台的高可用性和穩定性,通過多區域部署和自動故障轉移機制,保障服務的連續性和數據的完整性。


如何使用

以下操作接在 Mac 上進行展示

  • 首先我們先註冊完帳後確保能進到個人主頁面

https://ithelp.ithome.com.tw/upload/images/20241005/20161850XBSh6m2TPj.png

  • 然後我們創建一個 Project 來管理我們的密鑰

https://ithelp.ithome.com.tw/upload/images/20241005/20161850gvJaq0tBIx.png

  • 透過右上角來新增我們的密鑰

https://ithelp.ithome.com.tw/upload/images/20241005/20161850FSa8W8Ur2Y.png

我們可以透過 Explore 來修改我們的密鑰。


使用示範

  • 然後我們需要打開 terminal 下載到我們的電腦裡。
brew install infisical/get-cli/infisical
  • 開啟我們專案下的 terminal,輸入 infisical login -> Self Hosting
❯ infisical login
✔ Add a new account login
Use the arrow keys to navigate: ↓ ↑ → ← 
? Select your hosting option: 
    Infisical Cloud
  ▸ Self Hosting
  • 輸入他們的官網 https://infisical.com/
❯ infisical login
✔ Add a new account login
✔ Self Hosting
✗ Domain: https://infisical.com/█
  • 點擊網址做登入認證
To complete your login, open this address in your browser: https://infisical.com/login?callback_port=57264 

後續登入

  • 之後要重新登入的話都會有留存紀錄,蠻方便的。
❯ infisical login
Use the arrow keys to navigate: ↓ ↑ → ← 
? Current logged in user email: XXX@gmail.com on domain: https://app.infisical.com/api: 
    Add a new account login
  ▸ Override current logged in user
    Exit
  • 初始化我們的專案,輸入 infisical init -> 選擇我們建好的 project。
❯ infisical init
✔ Bs&J
Use the arrow keys to navigate: ↓ ↑ → ← 
? Which of your Infisical projects would you like to connect this project to?: 
  ▸ demo
    Example Project
  • 接著回到我們的專案下輸入我們剛創建好的三個環境變數
package main

import (
	"fmt"
	"os"
)

func main() {
	fmt.Println("Age: ", os.Getenv("AGE"))
	fmt.Println("Class: ", os.Getenv("CLASS"))
	fmt.Println("Name: ", os.Getenv("NAME"))
}
  • 在 terminal 下輸入下面內容
infisical run -- go run main.go

如果覺得太麻煩也可以寫成 Makefile 詳細教學請參閱[第25天]

</* Output: */>
8:50PM INF Injecting 3 Infisical secrets into your application process
Age:  21
Class:  imac
Name:  Soren

結語

Infisical 作為一個現代化的密鑰管理平台,通過其強大的功能和靈活的整合能力,為開發者和企業提供了一個可靠且高效的解決方案。無論是初創公司還是大型企業,Infisical 都能滿足其多樣化的需求,確保應用程式中的敏感資訊得到妥善保護。
使用 Infisical,不僅能提升應用程式的安全性,還能簡化密鑰管理的流程,讓開發團隊能夠專注於核心業務,提升整體的開發效率和運營效能。隨著資訊安全威脅的日益增長,選擇一個可靠的密鑰管理平台如 Infisical,無疑是保障企業數據安全的重要一步。


延伸閱讀


上一篇
【Day27】隱私守護專家 I | 環境變數建立
下一篇
【Day29】將服務推上 Docker Hub I | Docker 介紹
系列文
Go 快 Go 高效: 從基礎語法到現代Web應用開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言