服務帳戶是 Google Cloud 中的特殊帳戶類型,可讓系統的元件和應用程式彼此互動,以及與其他 API 互動。如要進一步瞭解 Google Cloud,請參閱「關於 Google Cloud 服務」。
Hybrid 會使用 Google Cloud 服務帳戶執行各種工作,包括:
- 傳送記錄和指標資料
- 提取追蹤記錄要求
- 連線至 API Gateway,提出管理 API 要求
- 執行備份
- 下載 Proxy 套件
雖然一個服務帳戶可以執行所有這些作業,但 Apigee 建議您建立多個服務帳戶,每個帳戶都指派給特定工作,並擁有自己的權限集。這項做法可劃分存取權,並限制每個服務帳戶的範圍和存取權限,進而提升安全性。與使用者帳戶相同,只要為服務帳戶指派一或多個角色,即可套用這些權限。
混合式元件使用的服務帳戶和角色
Apigee Hybrid 正常運作需要您建立多個服務帳戶。每個服務帳戶都需要特定角色,才能執行其功能。
下表說明混合式元件的服務帳戶:
| 元件* | 角色 | 基本安裝是否需要? | 說明 |
|---|---|---|---|
apigee-cassandra |
Storage 物件管理員 | 允許將 Cassandra 備份至 Google Cloud Storage,如「備份與復原」一文所述。 | |
apigee-logger |
記錄寫入者 | 允許收集記錄資料,如「記錄」所述。僅適用於非 GKE 叢集安裝作業。 | |
apigee-mart |
沒有角色 | 允許 MART 服務驗證。這個服務帳戶不應有相關聯的角色;因此,建立這個服務帳戶時,請勿為其指派角色。 | |
apigee-metrics |
Monitoring 指標寫入者 | 允許收集指標資料,如「指標收集」一文所述。 | |
apigee-org-admin |
Apigee 組織管理員 | 可讓您呼叫 getSyncAuthorization API 和 setSyncAuthorization API。您無法使用 create-service-account 工具建立這個服務帳戶。 |
|
apigee-synchronizer |
Apigee 同步處理工具管理員 | 允許同步器下載 Proxy 組合包和環境設定資料。並啟用追蹤功能。 | |
apigee-udca |
Apigee 數據分析代理人 | 允許將追蹤記錄、分析和部署狀態資料傳輸至管理層。 | |
| * 這個名稱會用於下載的服務帳戶金鑰檔案名稱。 | |||
除了建立這份表格列出的服務帳戶,您也會下載這些帳戶的私密金鑰。您稍後會使用這些金鑰產生存取權杖,以便存取 Apigee API。
建立服務帳戶
建立服務帳戶的方式有很多種,包括:
以下各節將分別說明這些項目。
使用服務帳戶建立工具
create-service-account 工具 (下載並展開 apigeectl 後即可使用) 會建立混合式元件專用的服務帳戶,並指派必要角色。這項工具也會自動下載服務帳戶金鑰,並儲存在本機電腦的指定目錄中。
如要使用 create-service-account 工具建立服務帳戶:
- 下載並展開
apigeectl(如果尚未完成),如「下載並安裝 apigeectl」一文所述。 - 建立目錄來儲存服務帳戶金鑰。例如:
mkdir ./service-accounts
- 執行下列指令:
./tools/create-service-account apigee-metrics ./service-accounts
./tools/create-service-account apigee-synchronizer ./service-accounts./tools/create-service-account apigee-udca ./service-accounts./tools/create-service-account apigee-mart ./service-accounts./tools/create-service-account apigee-cassandra ./service-accounts./tools/create-service-account apigee-logger ./service-accounts這些指令會建立大部分必要的帳戶,並將金鑰儲存在
./service-accounts目錄中。這些指令不會建立apigee-org-admin服務帳戶。如果這些指令失敗,請確認您已參照現有目錄,以便儲存金鑰檔案。
如要進一步瞭解如何使用
create-service-account,請參閱 create-service-account 參考資料。 - 建立
apigee-org-admin服務帳戶。如要執行這項操作,請使用 Google Cloud 控制台。
使用 Google Cloud 控制台
您可以使用 Google Cloud 控制台建立服務帳戶。
如要使用 Google Cloud 控制台建立服務帳戶,請按照下列步驟操作:
- 開啟 Google Cloud 控制台,並使用您在步驟 1:建立 Google Cloud 帳戶中建立的使用者帳戶登入。
- 選取您在「步驟 2:建立 Google Cloud 專案」中建立的專案。
- 依序選取「IAM 與管理」>「服務帳戶」。
控制台會顯示「服務帳戶」檢視畫面。這個檢視畫面會顯示專案的服務帳戶清單。(在大多數情況下,系統不會列出任何帳戶,但視您建立專案的方式而定,清單中可能會顯示預設服務帳戶)。
- 如要建立新的服務帳戶,請按一下檢視畫面頂端的「+建立服務帳戶」。
系統會顯示「服務帳戶詳細資料」檢視畫面。
- 在「Service account name」(服務帳戶名稱) 欄位中,輸入服務帳戶的名稱。
Apigee 建議您使用可反映服務帳戶角色的名稱;您可以將服務帳戶的名稱設為與使用該帳戶的元件相同。舉例來說,設定 Logs Writer 服務帳戶的名稱
apigee-logger。如要進一步瞭解服務帳戶名稱和角色,請參閱混合式元件使用的服務帳戶和角色。
輸入名稱時,Google Cloud 會為您產生專屬服務帳戶 ID,其結構類似電子郵件地址,如下列範例所示:

你也可以在「服務帳戶說明」欄位中新增說明。說明有助於提醒您特定服務帳戶的用途。
- 按一下 [建立]。
Google Cloud 會建立新的服務帳戶,並顯示「服務帳戶權限」檢視畫面,如下列範例所示:

使用這個檢視畫面,將角色指派給新的服務帳戶。
- 按一下「選取角色」下拉式清單。
- 如需如何為服務帳戶選取角色,請參閱「混合式元件使用的服務帳戶和角色」。如果下拉式清單中未顯示 Apigee 角色,請重新整理頁面。
舉例來說,如果是記錄元件,請選取「記錄寫入者」角色。
視需要輸入文字,依名稱篩選角色清單。舉例來說,如要只列出 Apigee 角色,請在篩選器欄位中輸入「Apigee」,如下例所示:

您可以為服務帳戶新增多個角色,但 Apigee 建議您只為每個建議的服務帳戶指派一個角色。如要在建立服務帳戶後變更角色,請使用 Google Cloud 中的「IAM 與管理」面板。
- 按一下「Continue」(繼續)。
Google Cloud 會顯示「將這個服務帳戶的存取權授予使用者」檢視畫面:

- 在「Create key (optional)」(建立金鑰 (選擇性)) 下方,按一下「Create Key」(建立金鑰)。
Google Cloud 可讓您選擇下載 JSON 或 P12 金鑰:

- 選取 JSON (預設值),然後按一下「建立」。
Google Cloud 會將 JSON 格式的金鑰檔案儲存至本機,並在成功時顯示確認訊息,如下列範例所示:

您稍後會使用部分服務帳戶金鑰,設定混合式執行階段服務。 舉例來說,設定混合式執行階段時,您會使用 service_name
.serviceAccountPath屬性指定服務帳戶金鑰的位置。服務帳戶會使用這些金鑰取得存取權杖,然後代表您對 Apigee API 提出要求。(但這還需要一段時間;目前只要記得儲存位置即可)。
- 針對「混合式元件使用的服務帳戶和角色」中列出的每個服務帳戶,重複步驟 4 到 11 (
apigee-mart帳戶除外,因為該帳戶沒有相關聯的角色,因此請勿指派角色)。完成後,您應該會有下列服務帳戶 (如有預設帳戶,則一併列出):
在 Google Cloud 控制台中,服務帳戶會以
圖示表示。
建立服務帳戶後,如要新增或移除角色,請使用「IAM 及管理」檢視畫面。您無法在「服務帳戶」檢視畫面中管理服務帳戶的角色。
使用 gcloud 服務帳戶建立 API
您可以使用 Cloud Identity and Access Management API 建立及管理服務帳戶。
詳情請參閱「建立及管理服務帳戶」一文。