ניהול משאבי API באמצעות Apigee Spaces

הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.

לעיון במסמכי התיעוד של Apigee Edge

בנושא הזה מוסבר איך ליצור ולנהל משאבי API במרחב. אתם יכולים ליצור שרתי proxy ל-API, זרימות משותפות ומוצרי API במרחב. למשאבים שנוצרו במרחב יש את אותן הרשאות כמו למרחב.

יצירת משאבים במרחב זהה ליצירת משאבים בארגון Apigee, אלא שאפשר לבחור מרחב כשיוצרים את המשאב. אפשר ליצור משאבי API משורת הפקודה באמצעות Apigee APIs, או באמצעות ממשק המשתמש של Apigee.

במדריך הזה מפורטים השלבים הנדרשים כדי:

במאמר Apigee Spaces תוכלו לקרוא סקירה כללית על Apigee Spaces.

מידע נוסף על סוגי משאבי ה-API של Apigee

לפני שמתחילים

לפני שמתחילים ליצור משאבי API ב-Apigee Spaces, צריך לבצע את המשימות הבאות:

  • הקצאת מינוי Apigee או ארגון במודל של תשלום לפי שימוש. מידע נוסף על השלבים הנדרשים להקצאת Apigee זמין במאמר הגדרת Apigee.
  • יוצרים מרחב בארגון Apigee. מידע נוסף זמין במאמר יצירת מרחבים ב-Apigee.
  • הקצאת משתתפים למרחב. מידע נוסף זמין במאמר בנושא ניהול חברים ותפקידים במרחב.

תפקידים והרשאות נדרשים

עם ההשקה של Apigee Spaces, השתנה האופן שבו IAM בודק את ההרשאות שנדרשות לביצוע פעולות מסוימות במשאבי API. אם משאב ה-API קיים במרחב, מערכת IAM תבדוק את ההרשאות המתאימות ברמת המרחב, עבור החבר במרחב שמבצע את הפעולה. למידע נוסף, ראו תפקידים והרשאות ב-Apigee Spaces ו היררכיית ההרשאות ב-IAM ל-Apigee Spaces.

הקצאת תפקידים והרשאות לחברים במרחב

יש שלושה תפקידים בהתאמה אישית שזמינים למשתתפים במרחב:

  • ‫apigee.spaceContentEditor: מספק גישה מלאה למשאבים שאפשר לשייך למרחב.
  • ‫apigee.spaceContentViewer: מספק גישת קריאה בלבד למשאבים שאפשר לשייך למרחב.
  • ‫apigee.spaceConsoleUser: מספק את ההרשאות המינימליות שנדרשות לניהול משאבים במרחב באמצעות Google Cloud המסוף. צריך להעניק את התפקיד הזה ברמת Google Cloud הפרויקט למשתמשים עם גישה למשאבים במרחב הזה.

התפקידים בהתאמה אישית שמתוארים בקטע הזה לא מאפשרים למשתתפים במרחב לפרוס או לבטל פריסה של פרוקסי של API או של רכיבי Shared Flow. אם רוצים לאפשר למשתתף במרחב לנהל פריסות, צריך להגדיר מדיניות IAM בסביבת Apigee או ברמת הפרויקט Google Cloud ולהעניק את התפקיד apigee.environment.admin למשתתף במרחב.

אפשר להקצות תפקידים לחברים במרחב באמצעות ממשק המשתמש של Apigee או ה-API.

מסוף Apigee

כדי להקצות תפקידים באמצעות המסוף:

Apigee API

כדי להקצות תפקידים באמצעות ה-API:

  • לגבי הרשאות במרחב: מוסיפים את התפקיד apigee.spaceContentEditor למרחב באמצעות setIamPolicy API. לפרטים נוספים, אפשר לעיין במאמר הוספת חברים בארגון למרחב.
  • בפריסות של סביבות: מוסיפים את התפקיד apigee.environmentAdmin לסביבת היעד. פרטים נוספים זמינים במאמר בנושא השיטה environments/setIamPolicy.

כדי לבדוק את התפקידים ב Google Cloud רמת הפרויקט:

  1. נכנסים לדף IAM במסוף Google Cloud .

    כניסה לדף IAM
  2. בוחרים את הפרויקט.
  3. בעמודה Principal, מחפשים את כל השורות שמזהות אתכם או קבוצה שאתם נכללים בה. כדי לברר באילו קבוצות אתם נכללים, פנו לאדמין.

  4. בודקים את העמודה Role בכל השורות שבהן מצוין או מופיע השם שלכם, כדי לראות אם רשימת התפקידים כוללת את התפקידים הנדרשים.

כדי להעניק את התפקידים

  1. נכנסים לדף IAM במסוף Google Cloud .

    כניסה לדף IAM
  2. בוחרים את הפרויקט.
  3. לוחצים על Grant access.
  4. בשדה New principals, מזינים את מזהה המשתמש. בדרך כלל מזהה המשתמש הוא כתובת האימייל של חשבון Google.

    ‫
  5. בוחרים תפקיד מהרשימה Select a role.
  6. כדי להקצות עוד תפקידים, לוחצים על Add another role ומוסיפים אותם.
  7. לוחצים על Save.

כדי לבדוק את מדיניות ה-IAM שחלה ברמת המרחב, אפשר לעיין במאמר ניהול משתתפים ותפקידים במרחב.

ניהול פרוקסי של API במרחב

חברים בארגון Apigee שהוקצה להם מרחב יכולים ליצור פרוקסי של API כמשאבים במרחב. מנויים שהוקצו רק למרחבים אחרים לא יוכלו לגשת לפרוקסי האלה או לנהל אותם.

יוצרים proxy ל-API כמשאב Space באמצעות ממשק המשתמש של Apigee או ה-API, כמו שמתואר בקטעים הבאים.

מסוף Apigee

כדי ליצור proxy ל-API כמשאב של Space באמצעות מסוף Apigee:

  1. פועלים לפי השלבים שמפורטים במאמר יצירת proxy ל-API.
  2. בשלב 5, יופיע שדה נוסף בקטע פרטי שרת proxy שבו אפשר לבחור מרחב עבור proxy ל-API. בוחרים מרחב מהרשימה. אם לא רוצים להקצות את ה-proxy ל-API למרחב, אפשר לדלג על השדה הזה.
  3. לוחצים על הבא כדי להמשיך לשלב הפריסה האופציונלי של יצירת ה-proxy, או לוחצים על יצירה כדי ליצור את ה-proxy בלי לפרוס אותו.

Apigee API

כדי ליצור proxy ל-API כמשאב Space באמצעות ממשקי Apigee API, משתמשים בפקודה הבאה:

curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/apis?name=PROXY_NAME&space=SPACE_NAME&action=import" \
    -X POST -H "Authorization: Bearer $TOKEN" \
    -H "Content-type: multipart/form-data" \
    -F "file=@PROXY_BUNDLE"

כאשר:

  • ‫ORG_NAME הוא השם של הארגון שלכם ב-Apigee.
  • ‫PROXY_NAME הוא השם של proxy ל-API שאתם יוצרים. השם חייב להיות ייחודי בהיקף גלובלי, ולא רק במרחב.
  • ‫SPACE_NAME הוא השם של המרחב שבו אתם יוצרים את proxy ל-API.
  • ‫PROXY_BUNDLE הוא שם קובץ חבילת ה-proxy ל-API.

לדוגמה, באמצעות הפקודה הבאה, גורם בצוות red יוצר proxy ל-API בשם proxy-1 כמשאב של מרחב red בארגון acme באמצעות הקובץ proxy-bundle.zip:

curl "https://apigee.googleapis.com/v1/organizations/acme/apis?name=proxy-1&space=red&action=import" \
    -X POST -H "Authorization: Bearer $TOKEN" \
    -H "Content-type: multipart/form-data \
    -F "file=@proxy-bundle.zip"

בדוגמה הבאה מוצגת התגובה לפקודה:

{
  "basepaths": ["/proxy-1"],
  "revision": 1,
  "apiProxyId": "proxy-1",
  "resourceName": "organizations/acme/apis/proxy-1/revisions/1",
  "space": "red",
  "createTime": ...,
  "updateTime": ...
}

ניהול של תהליכים משותפים כמשאבים במרחב

משתמשים שהוקצו למרחב יכולים גם ליצור תהליכים משותפים כמשאבים של המרחב. משתמשים במרחבים אחרים לא יוכלו לגשת לזרימות המשותפות האלה או לנהל אותן.

יוצרים תהליך משותף כמשאב של מרחב באמצעות ממשק המשתמש של Apigee או ה-API, כמו שמתואר בקטעים הבאים.

מסוף Apigee

כדי ליצור תהליך משותף כמשאב של Space באמצעות מסוף Apigee:
  1. פועלים לפי השלבים שמפורטים במאמר יצירת זרימה משותפת בממשק המשתמש של Apigee כדי ליצור זרימה משותפת חדשה מאפס או להעלות חבילת זרימה קיימת.
  2. בשלב 4, יופיע שדה נוסף בתיבת הדו-שיח יצירת תהליך משותף שבו אפשר לבחור מרחב עבור proxy ל-API. בוחרים מרחב מהרשימה. אם לא רוצים להקצות את ה-proxy ל-API למרחב, אפשר לדלג על השדה הזה.
  3. לוחצים על Create (יצירה) כדי ליצור את התהליך המשותף.

Apigee API

כדי ליצור תהליך משותף כמשאב של מרחב באמצעות ממשקי Apigee API, משתמשים בפקודה הבאה:

curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sharedflows?name=FLOW_NAME&space=SPACE_NAME&action=import" \
    -X POST -H "Authorization: Bearer $TOKEN" \
    -H "Content-type: multipart/form-data" \
    -F "file=@SHARED_FLOW_BUNDLE"

כאשר:

  • ‫ORG_NAME הוא השם של הארגון שלכם ב-Apigee.
  • ‫FLOW_NAME הוא השם של הזרימה המשותפת שאתם יוצרים. השם חייב להיות ייחודי בהיקף גלובלי, ולא רק במרחב.
  • ‫SPACE_NAME הוא שם המרחב שבו אתם יוצרים את התהליך המשותף.
  • ‫SHARED_FLOW_BUNDLE הוא שם חבילת הקבצים של הזרימה המשותפת.

לדוגמה, בעזרת הפקודה הבאה, חבר בצוות red יוצר זרימת נתונים משותפת בשם flow-1 שמשויכת למרחב red בארגון acme:

curl "https://apigee.googleapis.com/v1/organizations/acme/sharedflows?name=flow-1&space=red&action=import" \
    -X POST -H "Authorization: Bearer $TOKEN" \
    -H "Content-type: multipart/form-data" \
    -F "file=@sharedflow-bundle.zip"

בדוגמה הבאה מוצגת התגובה לפקודה:

{
  "name": "organizations/acme/sharedflows/flow-1",
  "revision": 1,
  "sharedFlowId": "flow-1",
  "space": "red",
  "createTime": ...,
  "updateTime": ...
}

ניהול מוצר API כמשאב במרחב

חברים שמוקצים למרחב יכולים ליצור מוצר API כדי לאגד את שרתי ה-proxy של ה-API שלהם. כשיוצרים מוצרי API, המשתתפים במרחב יכולים לבחור כל שרתי proxy ל-API שיש להם גישה אליהם, כולל שרתי proxy שנוצרו ישירות בארגון ושרתי proxy ל-API שנוצרו כמשאבים במרחבים שבהם הם חברים. חברים במרחבים אחרים לא יוכלו לגשת למוצרי ה-API האלה או לנהל אותם.

יוצרים מוצר API כמשאב Space באמצעות ממשק המשתמש של Apigee או ה-API, כמו שמתואר בקטעים הבאים.

מסוף Apigee

כדי ליצור מוצר API כמשאב Space באמצעות Apigee console:

  1. פועלים לפי השלבים במאמר יצירת מוצר API.
  2. בשלב 4, בשדה Product details, יופיע שדה נוסף שבו אפשר לבחור Space למוצר ה-API. בוחרים מרחב מהרשימה. אם לא רוצים להקצות את מוצר ה-API למרחב, אפשר לדלג על השדה הזה.
  3. ממלאים את שאר פרטי ההגדרה ולוחצים על שמירה.

Apigee API

כדי ליצור מוצר API כמשאב של מרחב באמצעות ה-API, שולחים בקשה לנקודת הקצה apiproducts/create ומוסיפים את המאפיין space.

לדוגמה, הפקודה הבאה תיצור מוצר API בשם product-1 בארגון acme, והוא ישויך למרחב red:

curl -X POST "https://apigee.googleapis.com/v1/organizations/acme/apiproducts" \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-type: application/json" -d \
      `{
        "name": "product-1",
        "displayName": "product-1",
        "approvalType": "auto",
        "attributes": [
          {
            "name": "access",
            "value": "internal"
          }
        ],
        "environments": [
          "test"
        ],
        "operationGroup": {
          "operationConfigs": [
            {
              "apiSource": "proxy-1",
              "operations": [
                {
                  "resource": "/",
                  "methods": [
                    "GET"
                  ]
                }
              ]
            }
          ],
          "operationConfigType": "proxy"
        },
        "space": "red"
      }'

בדוגמה הבאה מוצגת התגובה לפקודה:

{
  "name": "product-1",
  "displayName": "product-1",
  "approvalType": "auto",
    "attributes": [
      {
        "name": "access",
        "value": "internal"
      }
    ],
    "environments": [
    "test"
  ],
  "createdAt": "1741977778448",
  "lastModifiedAt": "1741977778448",
  "operationGroup": {
    "operationConfigs": [
      {
        "apiSource": "proxy-1",
        "operations": [
          {
            "resource": "/",
            "methods": [
              "GET"
            ]
          }
        ]
      }
    ],
    "operationConfigType": "proxy"
  },
  "space": "red"
}

שינוי או ביטול ההקצאה של מרחב למשאב קיים

אפשר לשנות את המרחב שמוקצה ל-proxy ל-API, לתהליך משותף או למוצר API קיים, או לבטל את ההקצאה של המרחב לגמרי.

מסוף Apigee

כדי לשנות את המרחב ב-proxy ל-API או בתהליך משותף:

  1. בממשק המשתמש של Apigee במסוף Cloud, עוברים אל API Proxies או אל Shared Flows.
  2. לוחצים על המשאב שרוצים לערוך.
  3. בכרטיסייה סקירה כללית, לוחצים על עריכה ליד **פרטי ה-Proxy** או **פרטי ה-Sharedflow**.
  4. בחלונית הצדדית, בוחרים מרחב אחר מהתפריט הנפתח מרחב, או בוחרים באפשרות לא הוקצה מרחב כדי לבטל את ההקצאה.
  5. לוחצים על Save.

כדי לשנות את המרחב במוצר API:

  1. בממשק המשתמש של Apigee במסוף Cloud, עוברים אל API Products ולוחצים על המוצר שרוצים לערוך.
  2. לוחצים על Edit.
  3. בקטע 'פרטים בסיסיים', בוחרים מרחב אחר מהתפריט הנפתח מרחב או בוחרים באפשרות לא הוקצה מרחב.
  4. לוחצים על Save.

Apigee API

כדי להעביר משאב API בין מרחבים או לבטל את ההקצאה שלו באמצעות ה-API, אפשר לעיין במאמר בנושא העברת משאבי API ב-Apigee Spaces.

רשימה של כל משאבי ה-API שמשויכים למרחב

בכל פעולות הרשימה, כולל ListApiProxies, ListSharedFlows ו-ListApiProducts, אפשר לציין שם של מרחב כדי להציג רשימה של כל המשאבים שמשויכים למרחב הזה. אם לא מציינים שם של מרחב, פעולת הרשימה תחזיר את כל המשאבים בארגון שיש לכם הרשאה לגשת אליהם, בין אם המשאבים האלה משויכים למרחב ובין אם לא.

חשוב לדעת: כשמשתמשים בתכונה Apigee Spaces, התוצאות של פעולות list במשאבי API שהוקצו למרחב מוגבלות לתוצאות של המרחבים שהמשתמש יכול לגשת אליהם. לדוגמה, אם למשתמש acme-team@acme.com מוקצית ההרשאה apigee.spaceContentEditor במרחב red, חברי צוות acme-team שמשתמשים בפעולה list יראו רק שרתי proxy של API שמשויכים למרחב red ולא את כל שרתי ה-proxy של ה-API בארגון.

כדי לבצע את המשימה הזו, אתם צריכים את ההרשאה apigee.apiResources.list. ההרשאה הזו כלולה בתפקיד Apigee > Apigee Organization Admin.

רשימת משאבי API שמשויכים למרחב מסוים

בקטעים הבאים מוסבר איך לראות את כל משאבי ה-API שמשויכים למרחב מסוים בממשק המשתמש של Apigee או באמצעות ה-API.

מסוף Apigee

כדי לראות רשימה של כל משאבי ה-API שמשויכים למרחב מסוים במסוף Apigee, פותחים את דף הסקירה הכללית של סוג המשאב הרלוונטי (API proxies, shared flows או API products). בתיבה Filter, בוחרים באפשרות Space מהרשימה ומזינים את שם המרחב. תוצג רשימת המשאבים שהוקצו למרחב. חשוב לזכור שמוצגים רק משאבים שמשויכים לחלל שהמשתמש חבר בו.

Apigee API

כדי להציג רשימה של כל משאבי ה-API שמשויכים למרחב מסוים, משתמשים בפקודה הבאה:

curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE?space=SPACE_NAME"

כאשר:

  • ‫ORG_NAME הוא השם של הארגון שלכם ב-Apigee.
  • ‫RESOURCE_TYPE הוא סוג המשאב שאתם מפרטים. הערכים התקפים כוללים:
    • apis
    • sharedFlows
    • apiProducts
  • ‫SPACE_NAME הוא השם של המרחב שבו מופיע המשאב.

לדוגמה, באמצעות הפקודה הבאה, חבר בצוות red מציג רשימה של כל שרתי ה-proxy ל-API שמשויכים למרחב red בארגון acme:

curl -H  "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/acme/apis?space=red"

בדוגמה הבאה מוצגת התגובה לפקודה:

{
  "proxies": [
    {
      "basepaths": "/proxy-1",
      "revision": "1",
      "apiProxyId": "proxy-1",
      "resourceName": "organizations/acme/apis/proxy-1/revisions/1",
      "space": "red",
      "createTime": ...,
      ....
    }
  ]
}

הצגת משאבי API בלי לציין מרחב

כדי לראות את כל משאבי ה-API בלי לציין מרחב ב-Apigee UI או באמצעות ה-API, פועלים לפי ההוראות בקטעים הבאים.

מסוף Apigee

כדי לראות רשימה של כל משאבי ה-API מסוג מסוים במסוף Apigee, בלי קשר לשיוך למרחב, צריך לפתוח את דף הסקירה הכללית של סוג המשאב הרלוונטי (פרוקסי של API, רכיבי Shared Flow או מוצרי API). תוצג רשימה של כל המשאבים הזמינים. שימו לב: מוצגים רק משאבים שלמשתמש יש הרשאה לראות. הנתונים האלה כוללים משאבים שמשויכים למרחב או למרחבים שהמשתמש חבר בהם, או משאבים שלא משויכים למרחב.

Apigee API

אפשר גם להציג רשימה של משאבי API בלי לציין מרחב באמצעות הפקודה הבאה:

curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE"

כאשר:

  • ‫ORG_NAME הוא השם של הארגון שלכם ב-Apigee.
  • ‫RESOURCE_TYPE הוא סוג המשאב שאתם מפרטים. הערכים התקפים כוללים:
    • apis
    • sharedFlows
    • apiProducts

לדוגמה, משתמש עם גישה Organization Admin לכל המשאבים בארגון יכול להשתמש בפקודה הבאה כדי לפרט את כל ה-API proxy בארגון acme:

curl -H  "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/acme/apis"

אם לארגון acme יש שלושה שרתי proxy, הפקודה תחזיר פרטים על כל שלושת השרתים. לדוגמה:

{
  "proxies": [
    {
      "basepaths": "/proxy-1",
      "revision": "1",
      "apiProxyId": "proxy-1",
      "resourceName": "organizations/acme/apis/proxy-1/revisions/1",
      "space": "red",
      "createTime": ...,
      ....
    },
    {
      "basepaths": "/proxy-2",
      "revision": "1",
      "apiProxyId": "proxy-2",
      "resourceName": "organizations/acme/apis/proxy-2/revisions/1",
      "space": "blue",
      "createTime": ...,
      ....
    },
    {
      "basepaths": "/proxy-3",
      "revision": "1",
      "apiProxyId": "proxy-3",
      "resourceName": "organizations/acme/apis/proxy-3/revisions/1",
      "space": "green",
      "createTime": ...,
      ....
    }
  ]
}

אם משתמש אחר עם גישת apiAdmin בלבד למשאבים במרחב red ישתמש באותה פקודה, הפקודה תחזיר רק פרטים על proxy-1. התגובה תיראה כך:

{
  "proxies": [
    {
      "basepaths": "/proxy-1",
      "revision": "1",
      "apiProxyId": "proxy-1",
      "resourceName": "organizations/acme/apis/proxy-1/revisions/1",
      "space": "red",
      "createTime": ...,
      ....
    }
  ]
}

המאמרים הבאים