Esta página aplica-se ao Apigee e ao Apigee Hybrid.
Veja a documentação do
Apigee Edge.
Este tópico descreve como mover recursos de API (proxies de API, fluxos partilhados e produtos de API) entre espaços do Apigee numa organização do Apigee. Os utilizadores podem mover recursos entre os níveis da organização e do espaço, ou mover recursos entre espaços. Para mover, gerir ou ver os recursos da API numa organização ou num espaço, o utilizador tem de ter as autorizações adequadas para a organização ou o espaço relevante.
Mova recursos da API de uma organização para um espaço
Os recursos da API criados numa organização do Apigee podem ser movidos do nível da organização para um espaço ou vice-versa. Um recurso da API movido para um espaço herda a política IAM desse espaço. Para mover o recurso da API do nível da organização para um espaço, o utilizador tem de ter as seguintes autorizações:
apigee.RESOURCE_TYPE.move
no âmbito de origem (a organização ou o espaço onde o recurso existe atualmente).Os valores válidos para RESOURCE_TYPE incluem
apis
,sharedflows
ouapiproducts
, consoante o tipo de recurso da API movido.apigee.RESOURCE_TYPE.create
no âmbito de destino (a organização ou o espaço para onde o recurso vai ser movido).Os valores válidos para RESOURCE_TYPE incluem
apis
,sharedflows
ouapiproducts
, consoante o tipo de recurso da API movido.
Para mover um recurso da API ao nível da organização para um espaço, use o seguinte comando:
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE/RESOURCE_ID:move?space=SPACE_NAME" \ -X POST -H "Authorization: Bearer $TOKEN"
Onde:
- ORG_NAME é o nome da sua organização do Apigee.
- RESOURCE_TYPE é o tipo de recurso que está a anunciar. Os valores válidos incluem:
apis
sharedflows
apiproducts
- RESOURCE_ID é o nome do proxy de API, do fluxo partilhado ou do produto de API que quer mover.
- SPACE_NAME é o nome do espaço para onde está a mover o recurso.
Por exemplo, com o seguinte comando, um utilizador com a função de administrador da organização do Apigee para a organização acme move um proxy de API denominado demo do nível da organização para o espaço red:
curl "https://apigee.googleapis.com/v1/organizations/acme/apis/demo:move?space=red" \ -X POST -H "Authorization: Bearer $TOKEN"
A resposta deve ser semelhante à seguinte:
{ "metaData": { "createdAt": "1739489725993", "lastModifiedAt": "1741724822852", "subType": "Proxy" }, "name": "demo", "revision": [ "1", "2" ], "apiProxyType": "PROGRAMMABLE", "space": "red" }
Assim que o proxy da API de demonstração for movido para o espaço vermelho, os membros do espaço vermelho podem aceder ao proxy, mesmo que não tenham autorização para aceder a recursos ao nível da organização. Os membros de outros espaços que não sejam membros do espaço vermelho não podem ver nem aceder ao proxy demo.
Se tentar aceder ao proxy de demonstração sem as autorizações corretas ao nível da organização ou do espaço, recebe o seguinte erro:
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations\/acme\/apis\/demo\" (or it may not exist).", "status": "PERMISSION_DENIED" } }
Para mover um recurso da API de um espaço para o nível da organização, use o seguinte comando, que omite o parâmetro de consulta space
:
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE/RESOURCE_ID:move" \ -X POST -H "Authorization: Bearer $TOKEN"
Onde:
- ORG_NAME é o nome da sua organização do Apigee.
- RESOURCE_TYPE é o tipo de recurso que está a anunciar. Os valores válidos incluem:
apis
sharedflows
apiproducts
- RESOURCE_ID é o nome do proxy de API, do fluxo partilhado ou do produto de API que quer mover.
Mova recursos da API entre espaços
Os recursos da API podem ser movidos entre espaços numa organização do Apigee. Um recurso da API movido para um espaço herda a política IAM desse espaço. Para mover o recurso da API entre espaços numa organização do Apigee, o utilizador tem de ter as seguintes autorizações:
apigee.RESOURCE_TYPE.move
para o espaço onde o recurso da API existe atualmente.Os valores válidos para RESOURCE_TYPE incluem
apis
,sharedflows
ouapiproducts
, consoante o tipo de recurso da API que está a ser movido.apigee.RESOURCE_TYPE.create
para o espaço para onde o recurso da API vai ser movido.Os valores válidos para RESOURCE_TYPE incluem
apis
,sharedflows
ouapiproducts
, consoante o tipo de recurso da API que está a ser movido.
Um utilizador com a função apigee.spaceContentEditor
atribuída a ambos os espaços tem as autorizações necessárias.
Para mover um recurso da API entre espaços numa organização do Apigee, use o seguinte comando:
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE/RESOURCE_ID:move?space=SPACE_NAME" \ -X POST -H "Authorization: Bearer $TOKEN"
Onde:
- ORG_NAME é o nome da sua organização do Apigee.
- RESOURCE_TYPE é o tipo de recurso que está a anunciar. Os valores válidos incluem:
apis
sharedflows
apiproducts
- RESOURCE_ID é o nome do proxy de API, do fluxo partilhado ou do produto de API que quer mover.
- SPACE_NAME é o nome do novo espaço.
Por exemplo, um utilizador com a autorização apigee.proxies.move
para o espaço vermelho e a autorização apigee.proxies.create
para o espaço azul pode usar o seguinte comando para mover o proxy da API demo do espaço vermelho para o espaço azul:
curl "https://apigee.googleapis.com/v1/organizations/acme/apis/demo:move?space=blue" \ -X POST -H "Authorization: Bearer $TOKEN"
A resposta deve ser semelhante à seguinte:
{ "basepaths": ["/demo"], "revision": 1, "apiProxyId": "demo", "space_id": "blue", "createTime": ..., "updateTime": ... }
Neste exemplo, o utilizador não precisa de ter autorizações ao nível da organização, apenas as autorizações necessárias definidas pelas associações de cada espaço.setIamPolicy
Se tentar mover o proxy da API demo sem as autorizações corretas para ambos os espaços, recebe o seguinte erro:
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations\/acme\/apis\/demo\" (or it may not exist).", "status": "PERMISSION_DENIED" } }