本頁內容適用於 Apigee 和 Apigee Hybrid。
查看
Apigee Edge 說明文件。
本頁說明如何在 Apigee 機構中建立 Apigee Space,以便大規模管理 Apigee API 資源的身分與存取權管理 (IAM) 政策。
本指南將說明下列步驟:
如要進一步瞭解使用 Apigee Spaces 管理 API 資源的好處,請參閱「Apigee Spaces」。
事前準備
開始使用 Spaces 前,請注意下列事項:
- 佈建 Apigee。確認您要使用的 Apigee 訂閱或即付即用機構已佈建完成。如要進一步瞭解佈建 Apigee 的必要步驟,請參閱佈建簡介。
- 取得驗證憑證。如要在指令列中執行指令來建立及管理聊天室,請先使用下列指令取得
gcloud驗證憑證:export TOKEN=$(gcloud auth print-access-token)
必要角色和權限
請確認您在專案中具備下列角色: Apigee > Apigee 機構管理員
檢查角色
-
前往 Google Cloud 控制台的「IAM」頁面。
前往「IAM」頁面 - 選取專案。
-
在「主體」欄中,找出所有識別您或您所屬群組的資料列。如要瞭解自己所屬的群組,請與管理員聯絡。
- 針對指定或包含您的所有列,請檢查「角色」欄,確認角色清單是否包含必要角色。
授予角色
-
前往 Google Cloud 控制台的「IAM」頁面。
前往「IAM」頁面 - 選取專案。
- 按一下「Grant access」(授予存取權)。
-
在「New principals」(新增主體) 欄位中,輸入您的使用者 ID。 這通常是指 Google 帳戶的電子郵件地址。
- 按一下「選取角色」,然後搜尋角色。
- 如要授予其他角色,請按一下「Add another role」(新增其他角色),然後新增其他角色。
- 按一下「Save」(儲存)。
建立聊天室
如要執行這項工作,您需要 apigee.spaces.create 權限。
此權限包含在 Apigee Organization Admin 角色中。
使用 Apigee 控制台或 API,在 Apigee 機構中建立 Space,詳情請參閱下列章節。
Apigee 控制台
如要使用 Apigee UI 建立 Space,請按照下列步驟操作:
- 在 Cloud 控制台的 Apigee UI 中,前往「Spaces」頁面。
前往「Spaces」(即時通訊空間) - 點按「Create」(建立)。「新增空間詳細資料」面板隨即開啟。
- 在「名稱」欄位中,輸入空間的專屬 ID。名稱長度不得超過 63 個字元,開頭須為小寫字母,且只能包含小寫字元。如需完整的命名規定,請參閱 AIP-122:資源名稱。
- (選用) 在「顯示名稱」欄位中,輸入聊天室的易讀標籤。
- 按一下「新增」。
建立後,機構成員在建立 API 資源時,會看到「Space」做為可用參數。
Apigee API
如要在 Apigee 機構中建立 Space,請使用下列指令:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
"https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces" \
--data-raw '{
"name":"SPACE_NAME",
"displayName":"DISPLAY_NAME"
}'其中:
- ORG_NAME 是 Apigee 機構的名稱。
- SPACE_NAME 是 Space 的名稱和專屬 ID。名稱長度不得超過 63 個字元,開頭須為小寫字母,且只能包含小寫字元。如需完整的命名規定,請參閱 AIP-122:資源名稱。
- DISPLAY_NAME 是 Space 的易讀名稱,顯示在 Cloud 控制台的 Apigee UI 中。
管理聊天室中的成員和角色
建立 Space 後,您可以將團隊成員新增至 Space,並指派建立及管理 API 資源所需的 IAM 角色。
將機構成員新增至聊天室
如要執行這項工作,您需要 apigee.spaces.setIamPolicy 權限。
Apigee 控制台
如要使用 Apigee UI 授予成員聊天室存取權,請按照下列步驟操作:
- 在 Cloud 控制台的 Apigee UI 中,前往「Spaces」頁面。
- 按一下要管理的聊天室名稱。
- 在「存取詳細資料」部分,按一下「授予存取權」。
- 在「Add members」(新增成員) 欄位中,輸入要新增的使用者或群組電子郵件地址。
- 在「指派角色」下方,選取「內容編輯者」或「內容檢視者」。
- 按一下「新增」。
Apigee API
如要將機構成員新增至 Space 並指派 IAM 角色,請使用下列指令:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["user:USER_EMAIL"], "role": "roles/IAM_ROLE" } ] } }'
其中:
- ORG_NAME 是 Apigee 機構的名稱。
- SPACE_NAME 是聊天室的名稱。
- USER_EMAIL 是您要新增至 Space 的使用者電子郵件地址。如要新增 Google 群組而非單一使用者,請將前置字元從
user:變更為group:,並提供群組的電子郵件地址。 - IAM_ROLE 是您要指派給成員的 IAM 角色名稱。
從聊天室中移除成員
如要執行這項工作,您需要 apigee.spaces.setIamPolicy 權限。
Apigee 控制台
如要使用 Apigee UI 從 Space 移除成員,請按照下列步驟操作:
- 在 Cloud 控制台的 Apigee UI 中,前往「Spaces」頁面,然後按一下 Space 的名稱。
- 在「存取詳細資料」表格中,選取要移除的一或多位成員旁邊的核取方塊。
- 按一下 [移除存取權]。
- 在確認對話方塊中,按一下「確認」。
Apigee API
如要從 Space 移除成員,請使用 setIamPolicy 方法,為 Space 設定新的 IAM 政策,並提供修訂後的成員清單。使用這個方法會建立新的 IAM 政策,取代現有政策。
舉例來說,如要更新 blue 團隊 Space 的成員,可以先使用下列指令檢查目前的 IAM 政策:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/blue:getIamPolicy"
指令輸出內容會傳回空間目前的 IAM 政策,應如下所示:
{ "version": "0", "bindings": [ { "role": "roles/apigee.spaceContentEditor", "members": [ "group:blue-team@acme.com", "user:user-a@acme.com", "user:user-b@acme.com", "user:user-c@acme.com" ] } ] }
如要從 Space 移除 user-b@acme.com,請使用下列指令:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/blue:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": [ "group:blue-team@acme.com", "user:user-a@acme.com", "user:user-c@acme.com" ], "role": "roles/apigee.spaceContentEditor" } ] } }'
現在,該空間的新 IAM 政策不再包含 user-b@acme.com。
如要從聊天室中移除群組成員,請先從群組中移除該成員,然後重新執行 setIamPolicy 指令,使用群組電子郵件別名的正確成員資格更新聊天室的 IAM 政策。
列出機構中的所有聊天室
如要執行這項工作,您需要 apigee.spaces.list 權限。
Apigee 控制台
如要查看所有 Space,請前往 Cloud 控制台的 Apigee UI 中的「Spaces」頁面。
「聊天室」表格會列出貴機構中的所有聊天室,包括名稱、顯示名稱和成員總數。
Apigee API
如要列出 Apigee 機構中的所有 Space,請使用下列指令:
curl -X GET -H "Authorization: Bearer $TOKEN" \
"https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces"其中:
- ORG_NAME 是 Apigee 機構的名稱。
取得空間詳細資料
如要執行這項工作,您需要 apigee.spaces.get 權限。
Apigee 控制台
如要在 Apigee UI 中查看 Space 詳細資料,請按照下列步驟操作:
- 在 Cloud 控制台的 Apigee UI 中,前往「Spaces」頁面。
- 按一下要查看的 Space 名稱。詳細資料頁面會顯示「名稱」、「顯示名稱」、存取詳細資料和「成員」清單。
Apigee API
如要取得 Space 的詳細資料,請使用下列指令:
curl -X GET -H "Authorization: Bearer $TOKEN" \
"https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME"其中:
- ORG_NAME 是 Apigee 機構的名稱。
- SPACE_NAME 是聊天室的名稱。
更新空間
如要執行這項工作,您需要 apigee.spaces.update 權限。
您可以修改現有空間的「顯示名稱」。 建立後即無法變更專屬名稱。
Apigee 控制台
如要在 Apigee UI 中更新 Space,請按照下列步驟操作:
- 在 Cloud 控制台的 Apigee UI 中,前往「Spaces」頁面,然後按一下要更新的 Space 名稱。
- 按一下「聊天室詳細資料」標題旁邊的「編輯」按鈕 (鉛筆圖示)。
- 視需要修改「顯示名稱」。
- 按一下 [儲存]。
Apigee API
如要使用 API 更新 Space,請使用下列指令:
curl -X PATCH -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
"https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME" \
--data-raw '{
"displayName":"DISPLAY_NAME"
}'其中:
- ORG_NAME 是 Apigee 機構的名稱。
- SPACE_NAME 是聊天室的名稱。
- DISPLAY_NAME 是新顯示名稱。
刪除 YouTube Spaces
如要執行這項工作,您需要 apigee.spaces.delete 權限。
Apigee 控制台
如要使用 Apigee UI 刪除 Space,請按照下列步驟操作:
- 在 Cloud 控制台的 Apigee UI 中,前往「Spaces」頁面。
- 在要刪除的聊天室列中,按一下「刪除」。
- 在確認對話方塊中,輸入確切的 Space 名稱來確認。
- 點選「刪除」。
Apigee API
使用 API 刪除 Space 前,請務必先刪除或移動 Space 中的所有資源。
curl -X DELETE -H "Authorization: Bearer $TOKEN" \
"https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME"其中:
- ORG_NAME 是 Apigee 機構的名稱。
- SPACE_NAME 是聊天室的名稱。
如果嘗試刪除仍含有有效資源的 Space,系統會傳回類似下列內容的回應,表示刪除作業失敗:
{
"error": {
"code": 400,
"message": "Space \"red\" has resources associated with it. Please delete the resources before deleting the space.",
"status": "FAILED_PRECONDITION"
}
}如要解決這個錯誤,請先刪除或移動空間中的所有資源,再嘗試刪除空間。
後續步驟
- 進一步瞭解 Apigee Spaces。
- 瞭解如何使用 Apigee Spaces 管理 API 資源。
- 查看 Identity and Access Management (IAM) 說明文件。