本頁適用於 Apigee 和 Apigee Hybrid。
查看
Apigee Edge 說明文件。
本主題說明如何在 Apigee 機構的 Apigee Space 之間移動 API 資源 (API Proxy、共用流程和 API 產品)。使用者可以在機構和聊天室層級之間移動資源,或在聊天室之間移動資源。如要在機構或聊天室中移動、管理或查看 API 資源,使用者必須擁有相關機構或聊天室的適當權限。
將 API 資源從機構移至聊天室
在 Apigee 機構中建立的 API 資源,可以從機構層級移至聊天室,反之亦然。移至工作區的 API 資源會繼承該工作區的 IAM 政策。如要將 API 資源從機構層級移至聊天室,使用者必須具備下列權限:
apigee.RESOURCE_TYPE.move
在來源範圍 (資源目前所在的機構或工作區) 上。RESOURCE_TYPE 的有效值包括
proxies
、sharedflows
或apiproducts
,具體取決於移動的 API 資源類型。apigee.RESOURCE_TYPE.create
在目標範圍 (資源遷移的機構或聊天室) 上。RESOURCE_TYPE 的有效值包括
proxies
、sharedflows
或apiproducts
,具體取決於移動的 API 資源類型。
如要將機構層級 API 資源移至工作區,請使用下列指令:
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE/RESOURCE_ID:move?space=SPACE_NAME" \ -X POST -H "Authorization: Bearer $TOKEN"
其中:
- ORG_NAME 是 Apigee 機構的名稱。
- RESOURCE_TYPE 是您要列出的資源類型。有效值包括:
apis
sharedflows
apiproducts
- RESOURCE_ID 是您要移動的 API Proxy、共用流程或 API 產品名稱。
- SPACE_NAME 是指要移動資源的聊天室名稱。
舉例來說,使用下列指令時,如果使用者具備 acme 組織的 Apigee 組織管理員角色,就可以將名為 demo 的 API Proxy 從組織層級移至 red 工作區:
curl "https://apigee.googleapis.com/v1/organizations/acme/apis/demo:move?space=red" \ -X POST -H "Authorization: Bearer $TOKEN"
回應內容應如下所示:
{ "metaData": { "createdAt": "1739489725993", "lastModifiedAt": "1741724822852", "subType": "Proxy" }, "name": "demo", "revision": [ "1", "2" ], "apiProxyType": "PROGRAMMABLE", "space": "red" }
將demo API 代理程式移至紅色聊天室後,即使紅色聊天室成員沒有機構層級資源的存取權,也能存取代理程式。其他聊天室的成員如果不是紅色聊天室的成員,就無法查看或存取 demo proxy。
如果沒有正確的機構或工作區層級權限,嘗試存取 demo 代理伺服器會導致下列錯誤:
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations\/acme\/apis\/demo\" (or it may not exist).", "status": "PERMISSION_DENIED" } }
如要將 API 資源從工作區移至機構層級,請使用下列指令,省略 space
查詢參數:
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE/RESOURCE_ID:move" \ -X POST -H "Authorization: Bearer $TOKEN"
其中:
- ORG_NAME 是 Apigee 機構的名稱。
- RESOURCE_TYPE 是您要列出的資源類型。有效值包括:
apis
sharedflows
apiproducts
- RESOURCE_ID 是您要移動的 API Proxy、共用流程或 API 產品名稱。
在聊天室之間移動 API 資源
API 資源可在 Apigee 機構的不同工作區之間移動。移至工作區的 API 資源會繼承該工作區的 IAM 政策。如要在 Apigee 組織的不同工作區之間移動 API 資源,使用者必須具備下列權限:
apigee.RESOURCE_TYPE.move
為目前有 API 資源的空間。RESOURCE_TYPE 的有效值包括
proxies
、sharedflows
或apiproducts
,具體取決於要移動的 API 資源類型。apigee.RESOURCE_TYPE.create
:要移動 API 資源的專案。RESOURCE_TYPE 的有效值包括
proxies
、sharedflows
或apiproducts
,具體取決於要移動的 API 資源類型。
使用者如果已為兩個聊天室指派 apigee.spaceContentEditor
角色,就會擁有必要的權限。
如要在 Apigee 機構的不同工作區之間移動 API 資源,請使用下列指令:
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE/RESOURCE_ID:move?space=SPACE_NAME" \ -X POST -H "Authorization: Bearer $TOKEN"
其中:
- ORG_NAME 是 Apigee 機構的名稱。
- RESOURCE_TYPE 是您要列出的資源類型。有效值包括:
apis
sharedflows
apiproducts
- RESOURCE_ID 是您要移動的 API Proxy、共用流程或 API 產品名稱。
- SPACE_NAME 是新聊天室的名稱。
舉例來說,如果使用者擁有 red 工作區的 apigee.proxies.move
權限,以及 blue 工作區的 apigee.proxies.create
權限,就可以使用下列指令,將demo API 代理程式從 red 工作區移至 blue 工作區:
curl "https://apigee.googleapis.com/v1/organizations/acme/apis/demo:move?space=blue" \ -X POST -H "Authorization: Bearer $TOKEN"
回應內容應如下所示:
{ "basepaths": ["/demo"], "revision": 1, "apiProxyId": "demo", "space_id": "blue", "createTime": ..., "updateTime": ... }
在這個範例中,使用者不需要具備機構層級權限,只需要各個工作區 setIamPolicy
繫結所設定的必要權限。
如果嘗試移動 API 代理程式,但未為兩個工作區設定正確的權限,就會發生以下錯誤:
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations\/acme\/apis\/demo\" (or it may not exist).", "status": "PERMISSION_DENIED" } }