開始使用 App Design Center (ADC) 和 Firebase

Firebase 與 Application Design Center (ADC) 整合,可讓企業客戶滿足標準化和控管需求,同時協助應用程式開發人員快速發布產品。Google Cloud使用 ADC 可確保基礎架構遵循機構標準和最佳做法,方法是透過預先定義的範本,為資源佈建、授予 IAM 權限等作業定義防護措施。

本頁面包含以下指南內容:

ADC 和 Firebase 總覽

建議您參閱 Google Cloud 說明文件,瞭解 ADC總覽Google Cloud 說明文件也提供多種 ADC 的深入指南,包括基本概念初始設定指南

使用 ADC 時,「應用程式」是指資源和服務的邏輯分組,可共同提供業務功能。對 Firebase 開發人員而言,「應用程式」相當於「Firebase 專案」ADC,您註冊的 iOS、Android 和網頁應用程式都會共用專案的所有相同資源和服務,並可存取這些資源和服務。

如要開始使用,建議您透過 Google Cloud 控制台的設計畫布ADC GUI 體驗進行操作。您可以在設計畫布上,以視覺化方式建立應用程式可用的基礎架構架構圖。

請注意,ADC 是以 Terraform 為基礎,因此您隨時可以存取使用 ADC 定義的基礎架構程式碼定義。

系統支援的 Firebase 產品

以下是可搭配 ADC 使用的 Firebase 產品初始組合:

ADC 的主要使用對象

如要瞭解及使用 ADC,常見做法是根據以下兩種角色,細分 ADC 相關工作:

  • 平台工程師:這個角色負責設計、驗證及發布可重複使用的政策強制執行ADC範本至ADC目錄。

  • 應用程式開發人員:這個角色會使用已發布的 ADC 範本 (例如團隊的 ADC 目錄),設定及部署基礎架構。他們也會開發應用程式的實際程式碼集和功能。

控管存取權所需的 IAM 角色

指派 IAM 角色後,您就能控管哪些專案成員 (或主體) 可以執行特定工作。

舉例來說,您可以將 App Design Center Admin 角色 (roles/designcenter.admin) 指派給需要建立及指派空間、管理目錄和設計範本的平台工程師。不過,您可能只會將「應用程式編輯器」角色 (roles/designcenter.applicationEditor) 指派給應用程式開發人員,讓他們可以使用範本,但不能建立範本。

下表說明與 ADC 相關的工作、預期角色和必要角色:

工作 角色 IAM 角色 1
建立及管理範本
管理完整的ADC生命週期
(包括管理空間、目錄、範本、設定及部署應用程式)
平台工程師 App Design Center 管理員
(roles/designcenter.admin) 管理專案
建立及管理範本,並設定及部署應用程式 平台工程師 App Design Center 使用者
(roles/designcenter.user) 在管理專案
建立用於部署應用程式的服務帳戶ADC
建立服務帳戶 平台工程師 建立服務帳戶
(roles/iam.serviceAccountCreator) 在管理專案
授予服務帳戶存取權,以用於ADC部署作業的專案 平台工程師 專案 IAM 管理員
(roles/resourcemanager.projectIamAdmin) 在部署專案
設定及部署ADC 應用程式
控管完整的應用程式生命週期
(包括與原始碼和 CI/CD 系統整合)
應用程式開發人員 應用程式管理員
(roles/designcenter.applicationAdmin) 在管理專案
根據管理員設定的現有範本和連線,設定及部署應用程式 應用程式開發人員 應用程式編輯者
(roles/designcenter.applicationEditor) 在管理專案

1 其中有幾個角色必須在管理專案中設定,這是 Google Cloud 階層中的頂層資源。

一般工作流程

本節說明建立及使用 ADC 範本的一般工作流程。步驟會標示通常執行該步驟的角色。

  1. 步驟 1:設定 ADC (平台工程師)
  2. 步驟 2:建立範本 (平台工程師)
  3. 步驟 3:使用範本 (應用程式開發人員)
  4. 步驟 4:開發實際應用程式 (應用程式開發人員)

步驟 1:設定 ADC (平台工程師)

平台工程師 (或更高層級) 會完成這些工作,以設定 ADC。通常只要完成這些工作一次,即可設定好所有項目,開始使用 ADC

  1. 初始ADC設定。

    請按照 Google Cloud 說明文件中的初始設定指南操作。ADC請注意,本指南假設您會設定資料夾層級的界線

    完成這項設定後,您應該會有一個空間,這是團隊專用的協作區域,可建立範本及部署應用程式。請務必與所有協作者共用這個工作區 (以及資料夾和目錄) ADC

  2. 設定聊天室的存取權和使用者。

    請按照 Google Cloud 說明文件中的「管理空間使用者」一節,為 ADC 執行相關步驟。請按照本頁稍早的說明,使用必要 IAM 角色控管存取權

  3. 預先佈建專案。

    在資料夾中建立一或多個新Google Cloud專案。請務必將Cloud Billing帳戶連結至這些專案。應用程式開發人員部署範本中定義的基礎架構時,會使用這些專案。

  4. 設定部署服務帳戶。

    ADC 會使用範圍嚴格的服務帳戶,管理資源的自動佈建作業。這可防止應用程式開發人員使用自己的帳戶部署基礎架構。

    測試您建立的範本部署作業時,ADC 可以自動代您建立範圍嚴謹的服務帳戶。您也可以自備服務帳戶,並授予您認為適合應用程式開發人員的權限。

步驟 2:建立範本 (平台工程師)

平台工程師角色會使用設計畫布,甚至是 Gemini Cloud Assist,來建立新的 ADC 範本。

  1. 定義資源。

    使用設計畫布,將元件拖曳到畫布上,並在元件之間建立連結。您可透過這些元件,定義要讓應用程式開發人員使用的 Firebase (和 Google Cloud) 服務。

    舉例來說,範本可以定義下列資源:

    • 應用程式開發人員可以開發 iOS、Android 和網頁應用程式,這些應用程式都會使用資源。
    • 應用程式開發人員可以在應用程式中使用 Firebase AI LogicFirebase AuthenticationCloud FirestoreFirebase Security Rules (請參閱所有支援的 Firebase 產品清單ADC)。
    • Firebase Security Rules 預設會拒絕所有存取要求。然後,應用程式開發人員在自己的部署作業中使用這個範本時,就能變更這些 Security Rules,以符合所需的存取權模式。
  2. 定義政策。

    如要定義政策,例如已部署基礎架構的 IAM 角色或資源的允許區域,則必須在這些政策的相應介面中進行設定。ADC 目前不支援在範本層級定義政策。

    您可以根據專案成員的工作內容,指派特定的 Firebase IAM 角色。舉例來說,如果專案成員只需要在 Firebase 控制台中查看資源,請指派 Firebase 檢視者角色 (roles/firebase.viewer)。

    您可以在資料夾或機構層級設定資源的區域限制。

  3. 將範本新增至目錄。

    測試範本後,請將範本新增至團隊的ADC目錄。這個目錄必須與適當的使用者共用,尤其是應用程式開發人員,方便他們使用範本 (請參閱上方的「步驟 1:設定 ADC」)。

步驟 3:使用範本 (應用程式開發人員)

應用程式開發人員角色會選取預先定義的範本,根據特定用途進行設定,然後部署基礎架構。

  1. 選取範本並進行設定。

    ADC 目錄選取範本並進行設定,建立應用程式草稿。可用的設定 (例如資源的可能區域) 僅限於平台工程師建立範本時設定的項目。

  2. 部署基礎架構。

    建立應用程式草稿後,請將 ADC 應用程式部署至為基礎架構部署作業建立的其中一個預先佈建專案 (請參閱上方的「步驟 1:設定 ADC」)

    您可以前往Firebase控制台,查看專案的已佈建資源和已啟用服務。

步驟 4:開發實際應用程式 (應用程式開發人員)

ADC可協助設定 Firebase 和 Google Cloud 基礎架構 (例如佈建資源和啟用 API)。不過,它不會編寫實際應用程式的程式碼,也不會使用這些資源和 API。

以下是應用程式開發人員角色需要執行的幾項重要事項:

  1. 將應用程式的程式碼庫連結至 Firebase。

    取得 Firebase 設定並新增至每個應用程式的程式碼集

    舉例來說,如果範本允許使用 Android 應用程式,您就必須將 google-services.json 檔案新增至 Android 專案中的適當目錄。

  2. 確保程式碼和資源一致。

    (如果使用 Cloud Firestore) 請務必更新並發布 Firebase Security Rules,以符合應用程式的 Cloud Firestore 資料模型。

你還可以做些什麼?

  • 監控已部署的「應用程式」ADC,這些應用程式會自動在 App Hub 中註冊。這樣一來,您就能在更廣泛的Google Cloud部署作業中,集中監控、觀察成本及排解 Firebase 資源問題。