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

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

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

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

יצירת משאבים במרחב זהה ליצירת משאבים בארגון Apigee, אלא שאפשר לבחור מרחב כשיוצרים את המשאב. אפשר ליצור משאבי API משורת הפקודה באמצעות ממשקי Apigee API, או באמצעות ממשק המשתמש של 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 או ברמת הפרויקט, ולהקצות את התפקיד apigee.environment.admin למשתתפים במרחב. Google Cloud

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

מסוף Apigee

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

Apigee API

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

  • להרשאות במרחב: מוסיפים את התפקיד apigee.spaceContentEditor למרחב באמצעות ה-API‏ setIamPolicy. פרטים נוספים זמינים במאמר הוספת חבר בארגון למרחב.
  • לפריסות של סביבות: מוסיפים את התפקיד 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 כמשאבים במרחב. חברים שהוקצו רק למרחבים אחרים לא יוכלו לגשת לפרוקסי האלה או לנהל אותם.

יוצרים פרוקסי ל-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.

לדוגמה, באמצעות הפקודה הבאה, גורם בצוות 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": ...
}

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

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

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

מסוף Apigee

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

Apigee API

כדי ליצור Flow משותף כמשאב של מרחב באמצעות ממשקי 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:

  1. פועלים לפי השלבים במאמר יצירת מוצר API.
  2. בשלב 4, יופיע שדה נוסף בדף פרטי המוצר שבו אפשר לבחור מרחב למוצר ה-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, ל-shared flow או למוצר API קיים, או לבטל את ההקצאה של המרחב לגמרי.

מסוף Apigee

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

  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 או באמצעות ה-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 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": ...,
      ....
    }
  ]
}

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