Apigee Edge-Dokumentation aufrufen
In diesem Thema wird beschrieben, wie Sie API-Ressourcen (API-Proxys, freigegebene Abläufe und API-Produkte) zwischen Apigee Spaces in einer Apigee-Organisation verschieben. Nutzer können Ressourcen zwischen Organisations- und Space-Ebene oder zwischen Spaces verschieben. Um API-Ressourcen in einer Organisation oder einem Space zu verschieben, zu verwalten oder aufzurufen, muss der Nutzer die entsprechenden Berechtigungen für die entsprechende Organisation oder den entsprechenden Space haben.
API-Ressourcen von einer Organisation in einen Space verschieben
In einer Apigee-Organisation erstellte API-Ressourcen können von der Organisationsebene in einen Space oder umgekehrt verschoben werden. Eine API-Ressource, die in einen Space verschoben wird, übernimmt die IAM-Richtlinie von diesem Space. Damit der Nutzer die API-Ressource von der Organisationsebene in einen Space verschieben kann, benötigt er die folgenden Berechtigungen:
apigee.RESOURCE_TYPE.move
für den Quellbereich (die Organisation oder den Space, in dem sich die Ressource derzeit befindet)Zulässige Werte für RESOURCE_TYPE sind
proxies
,sharedflows
oderapiproducts
, je nach Art der zu verschiebenden API-Ressource.apigee.RESOURCE_TYPE.create
für den Zielbereich (die Organisation oder den Space, in den die Ressource verschoben werden soll)Zulässige Werte für RESOURCE_TYPE sind
proxies
,sharedflows
oderapiproducts
, je nach Art der zu verschiebenden API-Ressource.
Verwenden Sie den folgenden Befehl, um eine API-Ressource auf Organisationsebene in einen Space zu verschieben:
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE/RESOURCE_ID:move?space=SPACE_NAME" \ -X POST -H "Authorization: Bearer $TOKEN"
Wobei:
- ORG_NAME ist der Name Ihrer Apigee-Organisation.
- RESOURCE_TYPE ist der Typ der Ressource, die Sie auflisten. Gültige Werte sind:
apis
sharedflows
apiproducts
- RESOURCE_ID ist der Name des API-Proxys, des freigegebenen Ablaufs oder des API-Produkts, das Sie verschieben möchten.
- SPACE_NAME ist der Name des Space, in den Sie die Ressource verschieben.
Mit dem folgenden Befehl verschiebt ein Nutzer mit der Rolle Apigee Organization Admin für die Organisation acme beispielsweise einen API-Proxy mit dem Namen demo von der Organisationsebene in den Space rot:
curl "https://apigee.googleapis.com/v1/organizations/acme/apis/demo:move?space=red" \ -X POST -H "Authorization: Bearer $TOKEN"
Die Antwort sollte in etwa so aussehen:
{ "basepaths": ["/demo"], "revision": 1, "apiProxyId": "demo", "space_id": "red", "createTime": ..., "updateTime": ... }
Sobald der API-Proxy demo in den Space rot verschoben wurde, können Mitglieder des Spaces rot auf den Proxy zugreifen, auch wenn sie keine Berechtigung zum Zugriff auf Ressourcen auf Organisationsebene haben. Mitglieder anderer Spaces, die nicht zum roten Space gehören, können den Proxy demo nicht aufrufen oder ansehen.
Wenn Sie versuchen, ohne die richtigen Berechtigungen auf Organisations- oder Space-Eebene auf den Demo-Proxy zuzugreifen, wird der folgende Fehler ausgegeben:
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations\/acme\/apis\/demo\" (or it may not exist).", "status": "PERMISSION_DENIED" } }
Verwenden Sie den folgenden Befehl, um eine API-Ressource von einem Space auf die Organisationsebene zu verschieben. Dabei wird der Abfrageparameter space
weggelassen:
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE/RESOURCE_ID:move" \ -X POST -H "Authorization: Bearer $TOKEN"
Wobei:
- ORG_NAME ist der Name Ihrer Apigee-Organisation.
- RESOURCE_TYPE ist der Typ der Ressource, die Sie auflisten. Gültige Werte sind:
apis
sharedflows
apiproducts
- RESOURCE_ID ist der Name des API-Proxys, des freigegebenen Ablaufs oder des API-Produkts, das Sie verschieben möchten.
API-Ressourcen zwischen Spaces verschieben
API-Ressourcen können innerhalb einer Apigee-Organisation zwischen Spaces verschoben werden. Eine API-Ressource, die in einen Space verschoben wird, übernimmt die IAM-Richtlinie von diesem Space. Damit der Nutzer die API-Ressource zwischen Spaces in einer Apigee-Organisation verschieben kann, benötigt er die folgenden Berechtigungen:
apigee.RESOURCE_TYPE.move
für den Space, in dem sich die API-Ressource derzeit befindet.Zulässige Werte für RESOURCE_TYPE sind
proxies
,sharedflows
oderapiproducts
, je nach Art der zu verschiebenden API-Ressource.apigee.RESOURCE_TYPE.create
für den Space, in den die API-Ressource verschoben werden soll.Zulässige Werte für RESOURCE_TYPE sind
proxies
,sharedflows
oderapiproducts
, je nach Art der zu verschiebenden API-Ressource.
Ein Nutzer, dem die Rolle apigee.apiAdminV2
für beide Spaces zugewiesen ist, hat die erforderlichen Berechtigungen.
Verwenden Sie den folgenden Befehl, um eine API-Ressource zwischen Spaces in einer Apigee-Organisation zu verschieben:
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE/RESOURCE_ID:move?space=SPACE_NAME" \ -X POST -H "Authorization: Bearer $TOKEN"
Wobei:
- ORG_NAME ist der Name Ihrer Apigee-Organisation.
- RESOURCE_TYPE ist der Typ der Ressource, die Sie auflisten. Gültige Werte sind:
apis
sharedflows
apiproducts
- RESOURCE_ID ist der Name des API-Proxys, des freigegebenen Ablaufs oder des API-Produkts, das Sie verschieben möchten.
- SPACE_NAME ist der Name des neuen Space.
Ein Nutzer mit der Berechtigung apigee.proxies.move
für den roten Space und der Berechtigung apigee.proxies.create
für den blauen Space kann beispielsweise mit dem folgenden Befehl den API-Proxy demo aus dem roten Space in den blauen Space verschieben:
curl "https://apigee.googleapis.com/v1/organizations/acme/apis/demo:move?space=blue" \ -X POST -H "Authorization: Bearer $TOKEN"
Die Antwort sollte in etwa so aussehen:
{ "basepaths": ["/demo"], "revision": 1, "apiProxyId": "demo", "space_id": "blue", "createTime": ..., "updateTime": ... }
In diesem Beispiel benötigt der Nutzer keine Berechtigungen auf Organisationsebene, sondern nur die erforderlichen Berechtigungen, die durch die setIamPolicy
-Bindungen der einzelnen Spaces festgelegt sind.
Wenn Sie versuchen, den API-Proxy demo ohne die richtigen Berechtigungen für beide Spaces zu verschieben, wird der folgende Fehler ausgegeben:
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations\/acme\/apis\/demo\" (or it may not exist).", "status": "PERMISSION_DENIED" } }