Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
Questo argomento descrive come spostare le risorse API (proxy API, flussi condivisi e prodotti API) tra gli spazi Apigee in un'organizzazione Apigee. Gli utenti possono spostare le risorse tra i livelli di organizzazione e di spazio o tra gli spazi. Per spostare, gestire o visualizzare le risorse API in un'organizzazione o uno spazio, l'utente deve disporre delle autorizzazioni appropriate per l'organizzazione o lo spazio pertinente.
Spostare le risorse API da un'organizzazione a uno spazio
Le risorse API create in un'organizzazione Apigee possono essere spostate dal livello dell'organizzazione a uno spazio o viceversa. Una risorsa API spostata in uno spazio eredita il criterio IAM dello spazio. Per spostare la risorsa API dal livello di organizzazione a uno spazio, l'utente deve disporre delle seguenti autorizzazioni:
apigee.RESOURCE_TYPE.move
nell'ambito dell'origine (l'organizzazione o lo spazio in cui la risorsa esiste attualmente).I valori validi per RESOURCE_TYPE includono
proxies
,sharedflows
oapiproducts
, a seconda del tipo di risorsa API spostata.apigee.RESOURCE_TYPE.create
nell'ambito di destinazione (l'organizzazione o lo spazio in cui deve essere spostata la risorsa).I valori validi per RESOURCE_TYPE includono
proxies
,sharedflows
oapiproducts
, a seconda del tipo di risorsa API spostata.
Per spostare una risorsa API a livello di organizzazione in uno spazio, utilizza il seguente comando:
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE/RESOURCE_ID:move?space=SPACE_NAME" \ -X POST -H "Authorization: Bearer $TOKEN"
Dove:
- ORG_NAME è il nome della tua organizzazione Apigee.
- RESOURCE_TYPE è il tipo di risorsa che stai elencando. I valori validi sono:
apis
sharedflows
apiproducts
- RESOURCE_ID è il nome del proxy API, del flusso condiviso o del prodotto API che vuoi spostare.
- SPACE_NAME è il nome dello spazio in cui stai spostando la risorsa.
Ad esempio, con il seguente comando, un utente con il ruolo Amministratore dell'organizzazione Apigee per l'organizzazione acme sposta un proxy API denominato demo dal livello dell'organizzazione allo spazio red:
curl "https://apigee.googleapis.com/v1/organizations/acme/apis/demo:move?space=red" \ -X POST -H "Authorization: Bearer $TOKEN"
La risposta dovrebbe essere simile alla seguente:
{ "metaData": { "createdAt": "1739489725993", "lastModifiedAt": "1741724822852", "subType": "Proxy" }, "name": "demo", "revision": [ "1", "2" ], "apiProxyType": "PROGRAMMABLE", "space": "red" }
Una volta spostato il proxy API demo nello spazio rosso, i membri dello spazio rosso possono accedere al proxy anche se non dispongono dell'autorizzazione per accedere alle risorse a livello di organizzazione. I membri di altri spazi, che non sono membri dello spazio rosso, non possono visualizzare né accedere al proxy demo.
Il tentativo di accedere al proxy demo senza le autorizzazioni corrette a livello di organizzazione o spazio genera il seguente errore:
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations\/acme\/apis\/demo\" (or it may not exist).", "status": "PERMISSION_DENIED" } }
Per spostare una risorsa API da uno spazio a livello di organizzazione, utilizza il seguente comando, che omette il parametro di query space
:
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE/RESOURCE_ID:move" \ -X POST -H "Authorization: Bearer $TOKEN"
Dove:
- ORG_NAME è il nome della tua organizzazione Apigee.
- RESOURCE_TYPE è il tipo di risorsa che stai elencando. I valori validi sono:
apis
sharedflows
apiproducts
- RESOURCE_ID è il nome del proxy API, del flusso condiviso o del prodotto API che vuoi spostare.
Spostare le risorse API tra gli spazi
Le risorse API possono essere spostate da uno spazio all'altro in un'organizzazione Apigee. Una risorsa API spostata in uno spazio eredita il criterio IAM dello spazio. Per spostare la risorsa API tra gli spazi di un'organizzazione Apigee, l'utente deve disporre delle seguenti autorizzazioni:
apigee.RESOURCE_TYPE.move
per lo spazio in cui esiste attualmente la risorsa API.I valori validi per RESOURCE_TYPE includono
proxies
,sharedflows
oapiproducts
, a seconda del tipo di risorsa API spostata.apigee.RESOURCE_TYPE.create
per lo spazio in cui deve essere spostata la risorsa API.I valori validi per RESOURCE_TYPE includono
proxies
,sharedflows
oapiproducts
, a seconda del tipo di risorsa API spostata.
Un utente a cui è stato assegnato il ruolo apigee.spaceContentEditor
per entrambi gli spazi avrà le autorizzazioni richieste.
Per spostare una risorsa API tra gli spazi di un'organizzazione Apigee, utilizza il seguente comando:
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE/RESOURCE_ID:move?space=SPACE_NAME" \ -X POST -H "Authorization: Bearer $TOKEN"
Dove:
- ORG_NAME è il nome della tua organizzazione Apigee.
- RESOURCE_TYPE è il tipo di risorsa che stai elencando. I valori validi sono:
apis
sharedflows
apiproducts
- RESOURCE_ID è il nome del proxy API, del flusso condiviso o del prodotto API che vuoi spostare.
- SPACE_NAME è il nome del nuovo spazio.
Ad esempio, un utente con l'autorizzazione apigee.proxies.move
per lo spazio rosso e l'autorizzazione apigee.proxies.create
per lo spazio blu può utilizzare il seguente comando per spostare il proxy dell'API demo dallo spazio rosso allo spazio blu:
curl "https://apigee.googleapis.com/v1/organizations/acme/apis/demo:move?space=blue" \ -X POST -H "Authorization: Bearer $TOKEN"
La risposta dovrebbe essere simile alla seguente:
{ "basepaths": ["/demo"], "revision": 1, "apiProxyId": "demo", "space_id": "blue", "createTime": ..., "updateTime": ... }
In questo esempio, l'utente non deve disporre di autorizzazioni a livello di organizzazione, ma solo delle autorizzazioni richieste impostate dalle associazioni setIamPolicy
di ogni spazio.
Il tentativo di spostare il proxy dell'API demo senza le autorizzazioni corrette per entrambi gli spazi genera il seguente errore:
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations\/acme\/apis\/demo\" (or it may not exist).", "status": "PERMISSION_DENIED" } }