Confira a documentação da
Apigee Edge.
Este tópico descreve como mover recursos de API (proxies de API, fluxos compartilhados e produtos de API) entre espaços da Apigee em uma organização da Apigee. Os usuários podem mover recursos entre os níveis da organização e do espaço ou entre espaços. Para mover, gerenciar ou acessar os recursos da API em uma organização ou espaço, o usuário precisa ter as permissões adequadas para a organização ou o espaço relevante.
Mover recursos de API de uma organização para um espaço
Os recursos de API criados em uma organização da Apigee podem ser movidos do nível da organização para um espaço ou vice-versa. Um recurso de API movido para um espaço herda a política do IAM desse espaço. Para mover o recurso da API do nível da organização para um espaço, o usuário precisa ter as seguintes permissões:
apigee.RESOURCE_TYPE.move
no escopo de origem (a organização ou o espaço em que o recurso está atualmente).Os valores válidos para RESOURCE_TYPE incluem
proxies
,sharedflows
ouapiproducts
, dependendo do tipo de recurso de API movido.apigee.RESOURCE_TYPE.create
no escopo de destino (a organização ou o espaço para onde o recurso será movido).Os valores válidos para RESOURCE_TYPE incluem
proxies
,sharedflows
ouapiproducts
, dependendo do tipo de recurso de API movido.
Para mover um recurso de API no 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"
Em que:
- ORG_NAME é o nome da organização da Apigee;
- RESOURCE_TYPE é o tipo de recurso que você está listando. Valores válidos:
apis
sharedflows
apiproducts
- RESOURCE_ID é o nome do proxy de API, do fluxo compartilhado ou do produto da API que você quer mover.
- SPACE_NAME é o nome do espaço em que você está movendo o recurso.
Por exemplo, com o comando a seguir, um usuário com a função Administrador da organização da Apigee na organização acme move um proxy de API chamado 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 será assim:
{ "basepaths": ["/demo"], "revision": 1, "apiProxyId": "demo", "space_id": "red", "createTime": ..., "updateTime": ... }
Depois que o proxy de API demo for movido para o espaço vermelho, os membros do espaço vermelho poderão acessar o proxy, mesmo que não tenham permissão para acessar recursos no nível da organização. Os participantes de outros espaços, que não são membros do espaço vermelho, não podem acessar o proxy de demonstração.
Tentar acessar o proxy demo sem as permissões corretas no nível da organização ou do espaço resulta no 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 de API de um espaço para o nível da organização, use o comando abaixo, 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"
Em que:
- ORG_NAME é o nome da organização da Apigee;
- RESOURCE_TYPE é o tipo de recurso que você está listando. Valores válidos:
apis
sharedflows
apiproducts
- RESOURCE_ID é o nome do proxy de API, do fluxo compartilhado ou do produto da API que você quer mover.
Mover recursos de API entre espaços
Os recursos de API podem ser movidos entre espaços em uma organização do Apigee. Um recurso de API movido para um espaço herda a política do IAM desse espaço. Para mover o recurso de API entre espaços em uma organização da Apigee, o usuário precisa ter as seguintes permissões:
apigee.RESOURCE_TYPE.move
para o espaço em que o recurso de API está atualmente.Os valores válidos para RESOURCE_TYPE incluem
proxies
,sharedflows
ouapiproducts
, dependendo do tipo de recurso da API que está sendo movido.apigee.RESOURCE_TYPE.create
para o espaço em que o recurso da API será movido.Os valores válidos para RESOURCE_TYPE incluem
proxies
,sharedflows
ouapiproducts
, dependendo do tipo de recurso da API que está sendo movido.
Um usuário atribuído à função apigee.apiAdminV2
para os dois espaços terá as permissões necessárias.
Para mover um recurso de API entre espaços em uma organização da 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"
Em que:
- ORG_NAME é o nome da organização da Apigee;
- RESOURCE_TYPE é o tipo de recurso que você está listando. Valores válidos:
apis
sharedflows
apiproducts
- RESOURCE_ID é o nome do proxy de API, do fluxo compartilhado ou do produto da API que você quer mover.
- SPACE_NAME é o nome do novo espaço.
Por exemplo, um usuário com a permissão apigee.proxies.move
para o espaço vermelho
e a permissão apigee.proxies.create
para o espaço azul pode usar o comando a seguir
para mover o proxy de 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 será assim:
{ "basepaths": ["/demo"], "revision": 1, "apiProxyId": "demo", "space_id": "blue", "createTime": ..., "updateTime": ... }
Neste exemplo, o usuário não precisa ter permissões no nível da organização, apenas as
permissões necessárias definidas pelas vinculações setIamPolicy
de cada espaço.
Tentar mover o proxy de API demo sem as permissões corretas para os dois espaços resulta no seguinte erro:
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations\/acme\/apis\/demo\" (or it may not exist).", "status": "PERMISSION_DENIED" } }