Cette page s'applique à Apigee et à Apigee hybrid.
Consultez la documentation d'Apigee Edge.![]()
Cette rubrique explique comment déplacer des ressources d'API (proxys d'API, flux partagés et produits d'API) entre des espaces Apigee dans une organisation Apigee. Les utilisateurs peuvent déplacer des ressources entre les niveaux de l'organisation et de l'espace, ou entre des espaces. Pour déplacer, gérer ou afficher les ressources d'API dans une organisation ou un espace, l'utilisateur doit disposer des autorisations appropriées pour l'organisation ou l'espace concerné.
Déplacer des ressources d'API d'une organisation vers un espace
Les ressources d'API créées dans une organisation Apigee peuvent être déplacées du niveau de l'organisation vers un espace ou inversement. Une ressource API déplacée vers un Espace hérite de la stratégie IAM de cet Espace. Pour déplacer la ressource d'API du niveau de l'organisation vers un espace, l'utilisateur doit disposer des autorisations suivantes :
apigee.RESOURCE_TYPE.movesur le champ d'application source (l'organisation ou l'espace où se trouve actuellement la ressource).Les valeurs valides pour RESOURCE_TYPE incluent
apis,sharedflowsouapiproducts, selon le type de ressource d'API déplacée.apigee.RESOURCE_TYPE.createsur le champ d'application cible (l'organisation ou l'espace dans lequel la ressource doit être déplacée).Les valeurs valides pour RESOURCE_TYPE incluent
apis,sharedflowsouapiproducts, selon le type de ressource d'API déplacée.
Pour déplacer une ressource d'API au niveau de l'organisation vers un espace, utilisez la commande suivante :
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE/RESOURCE_ID:move?space=SPACE_NAME" \ -X POST -H "Authorization: Bearer $TOKEN"
Où :
- ORG_NAME est le nom de votre organisation Apigee.
- RESOURCE_TYPE est le type de ressource que vous listez. Les valeurs valides sont les suivantes :
apissharedflowsapiproducts
- RESOURCE_ID est le nom du proxy d'API, du flux partagé ou du produit d'API que vous souhaitez déplacer.
- SPACE_NAME est le nom de l'espace dans lequel vous déplacez la ressource.
Par exemple, à l'aide de la commande suivante, un utilisateur disposant du rôle Administrateur de l'organisation Apigee pour l'organisation acme déplace un proxy d'API nommé demo du niveau de l'organisation à l'espace red :
curl "https://apigee.googleapis.com/v1/organizations/acme/apis/demo:move?space=red" \ -X POST -H "Authorization: Bearer $TOKEN"
La réponse devrait ressembler à ceci :
{
"metaData": {
"createdAt": "1739489725993",
"lastModifiedAt": "1741724822852",
"subType": "Proxy"
},
"name": "demo",
"revision": [
"1",
"2"
],
"apiProxyType": "PROGRAMMABLE",
"space": "red"
}Une fois le proxy d'API demo déplacé vers l'espace red, les membres de l'espace red peuvent y accéder, même s'ils ne sont pas autorisés à accéder aux ressources au niveau de l'organisation. Les membres d'autres espaces qui ne sont pas membres de l'espace red ne peuvent pas consulter ni accéder au proxy demo.
Si vous tentez d'accéder au proxy demo sans disposer des autorisations appropriées au niveau de l'organisation ou de l'espace, l'erreur suivante s'affiche :
{
"error": {
"code": 403,
"message": "Permission denied on resource \"organizations\/acme\/apis\/demo\" (or it may not exist).",
"status": "PERMISSION_DENIED"
}
}Pour déplacer une ressource d'API d'un espace vers le niveau de l'organisation, utilisez la commande suivante, qui omet le paramètre de requête space :
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE/RESOURCE_ID:move" \ -X POST -H "Authorization: Bearer $TOKEN"
Où :
- ORG_NAME est le nom de votre organisation Apigee.
- RESOURCE_TYPE est le type de ressource que vous listez. Les valeurs valides sont les suivantes :
apissharedflowsapiproducts
- RESOURCE_ID est le nom du proxy d'API, du flux partagé ou du produit d'API que vous souhaitez déplacer.
Déplacer des ressources d'API entre des espaces
Les ressources d'API peuvent être déplacées entre les espaces d'une organisation Apigee. Une ressource API déplacée vers un Espace hérite de la stratégie IAM de cet Espace. Pour déplacer la ressource d'API entre des espaces d'une organisation Apigee, l'utilisateur doit disposer des autorisations suivantes :
apigee.RESOURCE_TYPE.movepour l'espace dans lequel la ressource d'API existe actuellement.Les valeurs valides pour RESOURCE_TYPE incluent
apis,sharedflowsouapiproducts, selon le type de ressource d'API déplacée.apigee.RESOURCE_TYPE.createpour l'espace vers lequel la ressource d'API doit être déplacée.Les valeurs valides pour RESOURCE_TYPE incluent
apis,sharedflowsouapiproducts, selon le type de ressource d'API déplacée.
Un utilisateur auquel le rôle apigee.spaceContentEditor est attribué pour les deux espaces disposera des autorisations requises.
Pour déplacer une ressource d'API entre des espaces d'une organisation Apigee, utilisez la commande suivante :
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE/RESOURCE_ID:move?space=SPACE_NAME" \ -X POST -H "Authorization: Bearer $TOKEN"
Où :
- ORG_NAME est le nom de votre organisation Apigee.
- RESOURCE_TYPE est le type de ressource que vous listez. Les valeurs valides sont les suivantes :
apissharedflowsapiproducts
- RESOURCE_ID est le nom du proxy d'API, du flux partagé ou du produit d'API que vous souhaitez déplacer.
- SPACE_NAME est le nom du nouvel espace.
Par exemple, un utilisateur disposant de l'autorisation apigee.proxies.move pour l'espace red et de l'autorisation apigee.proxies.create pour l'espace blue peut utiliser la commande suivante pour déplacer le proxy d'API demo de l'espace red vers l'espace blue :
curl "https://apigee.googleapis.com/v1/organizations/acme/apis/demo:move?space=blue" \ -X POST -H "Authorization: Bearer $TOKEN"
La réponse devrait ressembler à ceci :
{
"basepaths": ["/demo"],
"revision": 1,
"apiProxyId": "demo",
"space_id": "blue",
"createTime": ...,
"updateTime": ...
}Dans cet exemple, l'utilisateur n'a pas besoin d'avoir des autorisations au niveau de l'organisation, mais uniquement les autorisations requises définies par les liaisons setIamPolicy de chaque espace.
Toute tentative de déplacement du proxy d'API demo sans les autorisations appropriées pour les deux espaces entraîne l'erreur suivante :
{
"error": {
"code": 403,
"message": "Permission denied on resource \"organizations\/acme\/apis\/demo\" (or it may not exist).",
"status": "PERMISSION_DENIED"
}
}