Day 16 — Terraform/GCP基礎— GCP服務帳號 (Service Account) 與使用者 (User) 的差異
7 min readSep 20, 2023
文章目標:詳細說明GCP服務帳號和使用者之間的區別,以及在 Terraform 中如何使用它們。
- Day1 — Introduction — 現代 IT 架構問題與解決方案
- Day 2 — Introduction — Terraform 與基礎架構即代碼 (IAC) 的解決方案
- Day 3 — Terraform 基礎 — 申請 GCP 免費帳號
- Day 4 — Terraform基礎 — Terraform 簡介與安裝
- Day 5 — Terraform基礎 — 掌握 Terraform 元件
- Day 6 — Terraform基礎 — Terraform 工作流程
- Day 7 — Terraform基礎 — 效率提升:使用 bash alias
- Day 8 — Terraform基礎 — Provider version 的概念與使用
- Day 9 — Terraform基礎 — 資源 (Resources) 的概念與使用
- Day 10 — Terraform基礎 — 配置器 Provisioners 的概念與使用
- Day 11 — Terraform基礎 — 變數 (Variables) 與輸出 (Outputs)
- Day 12 — Terraform基礎 — 變數 (Variables) 種類與使用順序
- Day 13 — Terraform基礎 — 資料來源 Data Sources 的概念與使用
- Day 14 — Terraform基礎 — State 的概念與使用
- Day 15 — Terraform基礎 — Backend 遠端狀態後台的概念與使用
- Day 16 — Terraform/GCP基礎 — GCP服務帳號 (Service Account) 與使用者 (User) 的差異
- Day 17 — Terraform/GCP基礎 — 設定 GCP 服務帳號 Service Account
- Day 18 — Terraform/GCP基礎 — 連結 Terraform 與 GCP:使用者帳號與密碼
- Day 19 — Terraform/GCP基礎 — 建議的 Terraform 開發最佳實踐 best practices
- Day 20 — Terraform/GCP實戰:使用 GCP Console 創建 GCP 運算資源服務
- Day 21 — Terraform/GCP實戰:使用 Terraform 創建 GCP 運算資源服務
- Day 22 — Terraform/GCP實戰:使用 GCP Console 創建 GCP 無伺服器服務Cloud Function
- Day 23 — Terraform/GCP實戰:使用 Terraform 創建 GCP 無伺服器服務Cloud Function
- Day 24 — Terraform/GCP實戰:使用 GCP Console 創建 GCP 無伺服器服務 (Cloud Run)
- Day 25 — Terraform/GCP實戰:使用 Terraform 創建 GCP 無伺服器服務 (Cloud Run)
- Day 26 — Terraform/GCP實戰:使用 GCP Console 創建 GCP 運算服務 Kubernetes GKE
- Day 27 — Terraform/GCP實戰 :使用 Terraform 創建 GCP 運算服務 Kubernetes GKE
- Day 28 — Terraform/GCP實戰:使用 GCP Console 創建 GCP 資料庫服務 Cloud Sql (PostgreSQL)
- Day 29 — Terraform/GCP實戰:使用 Terraform 創建 GCP 資料庫服務 Cloud Sql (PostgreSQL)
- Day 30 — Terraform/GCP實戰:使用 GCP Console 創建 GCP 資料庫服務 Cloud MemoryStore — Redis
- Day 31 — Terraform/GCP實戰:使用 Terraform 創建 GCP 資料庫服務Cloud MemoryStore — Redis
1. GCP服務帳號Service Account和使用者User的定義
服務帳號 service account
- 定義:GCP服務帳號是一種特殊類型的Google帳號,允許應用程序和服務安全地訪問GCP資源。
- 用途:服務帳戶用於身份驗證在GCP上運行的應用程序和服務發出的請求,可以將其視為可授予特定權限以訪問資源的
“機器人”
用戶。
使用者 user
- 定義:GCP使用者是通過Google帳戶被授予訪問GCP資源的人。
- 用途:使用者可以根據其角色 (RBAC, role based access control)被授予不同級別的訪問權限,並可以使用各種工具和介面來管理GCP資源。可以將其視為可授予特定權限以訪問資源的
“人類”
用戶。
2. GCP服務帳號Service Account 和使用者User的比較
GCP 服務帳號:
- 定義: 用於身份驗證在 GCP 上運行的應用程序和服務發出的請求。
- 憑證: 由 GCP 自動產生,通常以 JSON 格式提供,包含身份驗證信息。
- 權限: 服務帳號被授予特定權限以訪問 GCP 資源,權限通常在 IAM 角色中分配。
- 建立方式: 可以透過 GCP 控制台或 GCP API 進行建立和管理。
- 管理方式: 服務帳號的權限和設定可以透過 IAM(身份和訪問管理)政策進行管理,或使用 GCP API 進行管理。
GCP 使用者:
- 定義: 用於授權個人訪問 GCP 資源,代表實際的人類用戶。
- 憑證: 由使用者自己建立,通常包括使用者名稱和密碼,或者使用者金鑰。
- 權限: 使用者被授予不同級別的訪問權限,這些權限可以在 GCP 中的不同角色中分配。
- 建立方式: 使用者帳號需要在 GCP 控制台中創建,並可以在特定 GCP 專案、組織或 IAM 角色中分配權限。
- 管理方式: 使用者的權限和設定可以透過 IAM(身份和訪問管理)政策進行管理,或使用 GCP API 進行管理。
GCP 服務帳號 Service Account 用於代表應用程序和服務,進行身份驗證和訪問資源,而 GCP 使用者代表實際的人類用戶 User,用於授權他們訪問 GCP 資源。它們在憑證、權限、建立方式和管理方式上有不同的特點。
相關連結
- Terraform-from-zero-to-hero-10-Lab-GCP-Infrastucture-as-Code — https://github.com/qwedsazxc78/Terraform-from-zero-to-hero-10-Lab-GCP-Infrastucture-as-Code
- Terraform-project-best-practice — https://github.com/qwedsazxc78/terraform-project-best-practice
- 歡迎訂閱我的udemy課程:Terraform 從零開始 — 10+實戰Lab打造GCP雲端自動化架構課程