הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.
לעיון במסמכי התיעוד של
Apigee Edge
במאמר הזה מוסבר איך להעביר משאבי API (שרתי proxy ל-API, רכיבי Shared Flow ומוצרי API) בין Apigee Spaces בארגון Apigee. המשתמשים יכולים להעביר משאבים בין רמות הארגון והמרחב, או להעביר משאבים בין מרחבים. כדי להעביר, לנהל או לראות את משאבי ה-API בארגון או במרחב, למשתמש צריכות להיות ההרשאות המתאימות לארגון או למרחב הרלוונטיים.
העברה של משאבי API מארגון למרחב
אפשר להעביר משאבי API שנוצרו בארגון Apigee מרמת הארגון למרחב או להפך. משאב API שעבר למרחב יורש את מדיניות ה-IAM של המרחב הזה. כדי להעביר את משאב ה-API מרמת הארגון למרחב, למשתמש צריכות להיות ההרשאות הבאות:
-
apigee.RESOURCE_TYPE.moveבהיקף המקור (הארגון או המרחב שבו המשאב קיים כרגע).הערכים התקינים של RESOURCE_TYPE כוללים
apis,sharedflowsאוapiproducts, בהתאם לסוג משאב ה-API שהועבר. apigee.RESOURCE_TYPE.createבהיקף היעד (הארגון או המרחב שאליו רוצים להעביר את המשאב).הערכים התקינים של RESOURCE_TYPE כוללים
apis,sharedflowsאוapiproducts, בהתאם לסוג משאב ה-API שהועבר.
כדי להעביר משאב 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 הוא סוג המשאב שאתם מפרסמים. הערכים התקפים כוללים:
apissharedflowsapiproducts
- RESOURCE_ID הוא השם של ה-proxy ל-API, של ה-shared flow או של מוצר ה-API שרוצים להעביר.
- SPACE_NAME הוא שם המרחב שאליו מעבירים את המשאב.
לדוגמה, באמצעות הפקודה הבאה, משתמש עם התפקיד Apigee Organization Admin בארגון acme מעביר את proxy ל-API בשם demo מרמת הארגון למרחב red:
curl "https://apigee.googleapis.com/v1/organizations/acme/apis/demo:move?space=red" \ -X POST -H "Authorization: Bearer $TOKEN"
התגובה אמורה להיראות כך:
{
"metaData": {
"createdAt": "1739489725993",
"lastModifiedAt": "1741724822852",
"subType": "Proxy"
},
"name": "demo",
"revision": [
"1",
"2"
],
"apiProxyType": "PROGRAMMABLE",
"space": "red"
}אחרי שה-proxy ל-API של ההדגמה מועבר למרחב האדום, חברים במרחב האדום יכולים לגשת ל-proxy, גם אם אין להם הרשאה לגשת למשאבים ברמת הארגון. משתמשים שהם חברים במרחבים אחרים, אבל לא במרחב red, לא יכולים לראות את ה-proxy של demo או לגשת אליו.
ניסיון לגשת לשרת ה-proxy של הדמו ללא ההרשאות הנכונות ברמת הארגון או המרחב יגרום לשגיאה הבאה:
{
"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 הוא סוג המשאב שאתם מפרסמים. הערכים התקפים כוללים:
apissharedflowsapiproducts
- RESOURCE_ID הוא השם של ה-proxy ל-API, של ה-shared flow או של מוצר ה-API שרוצים להעביר.
העברת משאבי API בין מרחבים
אפשר להעביר משאבי API בין סביבות עבודה בארגון Apigee. משאב API שעבר למרחב יורש את מדיניות ה-IAM של המרחב הזה. כדי להעביר את משאב ה-API בין מרחבים בארגון Apigee, למשתמש צריכות להיות ההרשאות הבאות:
-
apigee.RESOURCE_TYPE.moveעבור המרחב שבו משאב ה-API נמצא כרגע.הערכים התקינים של RESOURCE_TYPE כוללים
apis,sharedflowsאוapiproducts, בהתאם לסוג משאב ה-API שמועבר. apigee.RESOURCE_TYPE.createלמרחב שבו רוצים להעביר את משאב ה-API.הערכים התקינים של RESOURCE_TYPE כוללים
apis,sharedflowsאוapiproducts, בהתאם לסוג משאב ה-API שמועבר.
למשתמש שהוקצה לו התפקיד apigee.spaceContentEditor בשני המרחבים יהיו ההרשאות הנדרשות.
כדי להעביר משאב API בין מרחבים בארגון Apigee, משתמשים בפקודה הבאה:
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 הוא סוג המשאב שאתם מפרסמים. הערכים התקפים כוללים:
apissharedflowsapiproducts
- RESOURCE_ID הוא השם של ה-proxy ל-API, של ה-shared flow או של מוצר ה-API שרוצים להעביר.
- SPACE_NAME הוא השם של המרחב החדש.
לדוגמה, משתמש עם הרשאה apigee.proxies.move במרחב red והרשאה apigee.proxies.create במרחב blue יכול להשתמש בפקודה הבאה כדי להעביר את ה-proxy ל-API demo מהמרחב 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 ההרשאות של כל מרחב.
ניסיון להעביר את פרוקסי ה-API של ההדגמה בלי ההרשאות הנכונות לשני המרחבים יוביל לשגיאה הבאה:
{
"error": {
"code": 403,
"message": "Permission denied on resource \"organizations\/acme\/apis\/demo\" (or it may not exist).",
"status": "PERMISSION_DENIED"
}
}