Apigee Edge 문서 보기
이 주제에서는 Apigee 조직의 Apigee 스페이스 간에 API 리소스(API 프록시, 공유 흐름, API 제품)를 이동하는 방법을 설명합니다. 사용자는 조직과 스페이스 수준 간에 리소스를 이동하거나 스페이스 간에 리소스를 이동할 수 있습니다. 조직 또는 스페이스에서 API 리소스를 이동, 관리, 확인하려면 사용자에게 관련 조직 또는 스페이스에 대한 적절한 권한이 있어야 합니다.
조직에서 스페이스로 API 리소스 이동
Apigee 조직에서 만든 API 리소스는 조직 수준에서 스페이스로 또는 그 반대로 이동할 수 있습니다. 스페이스로 이동된 API 리소스는 해당 스페이스의 IAM 정책을 상속합니다. API 리소스를 조직 수준에서 스페이스로 이동하려면 사용자에게 다음 권한이 있어야 합니다.
- 소스 범위(리소스가 현재 있는 조직 또는 스페이스)에 대한
apigee.RESOURCE_TYPE.move
유효한 RESOURCE_TYPE 값은 이동된 API 리소스의 유형에 따라
proxies
,sharedflows
, 또는apiproducts
입니다. - 대상 범위(리소스를 이동할 조직 또는 스페이스)의
apigee.RESOURCE_TYPE.create
유효한 RESOURCE_TYPE 값은 이동된 API 리소스의 유형에 따라
proxies
,sharedflows
, 또는apiproducts
입니다.
조직 수준 API 리소스를 스페이스로 이동하려면 다음 명령어를 사용합니다.
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE/RESOURCE_ID:move?space=SPACE_NAME" \ -X POST -H "Authorization: Bearer $TOKEN"
각 항목의 의미는 다음과 같습니다.
- ORG_NAME은 Apigee 조직의 이름입니다.
- RESOURCE_TYPE은 나열하려는 리소스의 유형입니다. 유효한 값은 다음과 같습니다.
apis
sharedflows
apiproducts
- RESOURCE_ID는 이동하려는 API 프록시, 공유 흐름, API 제품의 이름입니다.
- SPACE_NAME은 리소스를 이동하려는 스페이스의 이름입니다.
예를 들어 다음 명령은 acme 조직에 대해 Apigee 조직 관리자 역할이 있는 사용자가 demo라는 이름의 API 프록시를 조직 수준에서 red 스페이스로 이동하는 방법을 보여줍니다.
curl "https://apigee.googleapis.com/v1/organizations/acme/apis/demo:move?space=red" \ -X POST -H "Authorization: Bearer $TOKEN"
응답은 다음과 비슷하게 표시됩니다.
{ "basepaths": ["/demo"], "revision": 1, "apiProxyId": "demo", "space_id": "red", "createTime": ..., "updateTime": ... }
demo API 프록시가 red 스페이스로 이동되었으면 조직 수준 리소스에 대한 액세스 권한이 없더라도 red 스페이스 구성원이 프록시에 액세스할 수 있습니다. red 스페이스의 구성원이 아닌 다른 스페이스 구성원은 demo 프록시를 보거나 액세스할 수 없습니다.
올바른 조직 또는 스페이스 수준 권한 없이 demo 프록시에 액세스하려고 하면 다음 오류가 발생합니다.
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations\/acme\/apis\/demo\" (or it may not exist).", "status": "PERMISSION_DENIED" } }
스페이스에서 조직 수준으로 API 리소스를 이동하려면 space
쿼리 매개변수가 생략된 다음 명령어를 사용합니다.
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE/RESOURCE_ID:move" \ -X POST -H "Authorization: Bearer $TOKEN"
각 항목의 의미는 다음과 같습니다.
- ORG_NAME은 Apigee 조직의 이름입니다.
- RESOURCE_TYPE은 나열하려는 리소스의 유형입니다. 유효한 값은 다음과 같습니다.
apis
sharedflows
apiproducts
- RESOURCE_ID는 이동하려는 API 프록시, 공유 흐름, API 제품의 이름입니다.
스페이스 간 API 리소스 이동
API 리소스는 Apigee 조직의 스페이스 간에 이동할 수 있습니다. 스페이스로 이동된 API 리소스는 해당 스페이스의 IAM 정책을 상속합니다. Apigee 조직의 스페이스 간에 API 리소스를 이동하려면 사용자에게 다음 권한이 있어야 합니다.
- API 리소스가 현재 있는 스페이스에 대한
apigee.RESOURCE_TYPE.move
유효한 RESOURCE_TYPE 값은 이동되는 API 리소스의 유형에 따라
proxies
,sharedflows
, 또는apiproducts
입니다. - API 리소스를 이동할 스페이스에 대한
apigee.RESOURCE_TYPE.create
유효한 RESOURCE_TYPE 값은 이동되는 API 리소스의 유형에 따라
proxies
,sharedflows
또는apiproducts
입니다.
두 스페이스 모두 apigee.apiAdminV2
역할이 할당된 사용자는 필요한 권한이 있습니다.
Apigee 조직의 스페이스 간에 API 리소스를 이동하려면 다음 명령어를 사용합니다.
curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE/RESOURCE_ID:move?space=SPACE_NAME" \ -X POST -H "Authorization: Bearer $TOKEN"
각 항목의 의미는 다음과 같습니다.
- ORG_NAME은 Apigee 조직의 이름입니다.
- RESOURCE_TYPE은 나열하려는 리소스의 유형입니다. 유효한 값은 다음과 같습니다.
apis
sharedflows
apiproducts
- RESOURCE_ID는 이동하려는 API 프록시, 공유 흐름, API 제품의 이름입니다.
- SPACE_NAME은 새 스페이스 이름입니다.
예를 들어 red 스페이스에 대해 apigee.proxies.move
권한이 있고 blue 스페이스에 대해 apigee.proxies.create
권한이 있는 사용자는 다음 명령어를 사용하여 demo API 프록시를 red 스페이스에서 blue 스페이스로 이동할 수 있습니다.
curl "https://apigee.googleapis.com/v1/organizations/acme/apis/demo:move?space=blue" \ -X POST -H "Authorization: Bearer $TOKEN"
응답은 다음과 비슷하게 표시됩니다.
{ "basepaths": ["/demo"], "revision": 1, "apiProxyId": "demo", "space_id": "blue", "createTime": ..., "updateTime": ... }
이 예시에서 사용자는 조직 수준에서 권한을 가질 필요가 없으며 각 스페이스의 setIamPolicy
바인딩으로 설정된 필수 권한만 있으면 됩니다.
두 스페이스에 대한 올바른 권한 없이 demo API 프록시를 이동하려고 시도하면 다음 오류가 발생합니다.
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations\/acme\/apis\/demo\" (or it may not exist).", "status": "PERMISSION_DENIED" } }