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

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

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

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

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

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

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

מידע נוסף על סוגי משאבי Apigee API זמין במאמרים הבאים:

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

לפני שמתחילים ליצור משאבי 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.spaceContentEditor למרחב באמצעות ה-API ומוסיפים את התפקיד apigee.environmentAdmin לסביבת היעד באמצעות ה-API.
  • מוסיפים את התפקידים לפרויקט באמצעות ממשק המשתמש של IAM.

כדי לבדוק את התפקידים ב 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 שהוקצו למרחב יכולים ליצור שרתי proxy של API כמשאבים במרחב. מנויים שהוקצו רק למרחבים אחרים לא יוכלו לגשת לפרוקסי האלה או לנהל אותם.

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

ממשק המשתמש של Apigee

כדי ליצור proxy ל-API כמשאב של מרחב באמצעות ממשק המשתמש של 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.

לדוגמה, באמצעות הפקודה הבאה, חבר בצוות האדום יוצר proxy ל-API בשם proxy-1 כמשאב של מרחב אדום בארגון 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

כדי ליצור רכיב Shared Flow כמשאב של Space באמצעות ממשקי 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, חברי המרחב יכולים לבחור כל פרוקסי API שיש להם גישה אליו, כולל פרוקסי שנוצרו ישירות תחת הארגון ופרוקסי API שנוצרו כמשאבים במרחבים שבהם הם חברים. משתתפים במרחבים אחרים לא יוכלו לגשת למוצרי ה-API האלה או לנהל אותם.

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

ממשק המשתמש של Apigee

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

  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"
}

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

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

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

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

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

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

ממשק המשתמש של Apigee

כדי להציג רשימה של כל משאבי ה-API שמשויכים למרחב מסוים בממשק המשתמש של Apigee, פותחים את דף הסקירה הכללית של סוג המשאב הרלוונטי (שרתי proxy ל-API, רכיבי Shared Flow או מוצרי API). בתיבה 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 או באמצעות ה-API, פועלים לפי ההוראות שמפורטות בקטעים הבאים.

ממשק המשתמש של Apigee

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

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 proxies בארגון 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": ...,
      ....
    }
  ]
}

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