יצירה וניהול של Apigee Spaces

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

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

בדף הזה מוסבר איך ליצור Apigee Spaces בארגון Apigee כדי לנהל מדיניות של ניהול זהויות והרשאות גישה (IAM) למשאבי Apigee API בהיקף גדול.

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

מידע נוסף על היתרונות של שימוש ב-Apigee Spaces לניהול משאבי ה-API זמין במאמר Apigee Spaces.

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

לפני שמתחילים להשתמש במרחבים:

  • הקצאת הרשאות ל-Apigee. מוודאים שהארגון עם המינוי ל-Apigee או עם התשלום לפי שימוש שבו רוצים להשתמש הוקצה. מידע נוסף על השלבים הנדרשים להקצאת Apigee זמין במאמר מבוא להקצאת משאבים.
  • מקבלים את פרטי הכניסה לאימות. לפני שמריצים פקודות ליצירה ולניהול של מרחבים בשורת הפקודה, מקבלים את פרטי הכניסה לאימות gcloud באמצעות הפקודה הבאה:
    export TOKEN=$(gcloud auth print-access-token)

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

צריך לוודא שיש לכם בפרויקט את התפקיד או התפקידים הבאים: Apigee > Apigee Organization Admin

בדיקת התפקידים

  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.

איך יוצרים מרחבים

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

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

מסוף Apigee

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

  1. בממשק המשתמש של Apigee במסוף Cloud, עוברים לדף Spaces.
    מעבר למרחבים
  2. לוחצים על יצירה. נפתחת החלונית הוספת פרטים למרחב.
  3. בשדה שם, מזינים מזהה ייחודי למרחב. השם צריך להיות באורך של פחות מ-63 תווים, להתחיל באות קטנה באנגלית ולהכיל רק אותיות קטנות באנגלית. הדרישות המלאות למתן שמות מפורטות במאמר AIP-122: Resource names.
  4. (אופציונלי) בשדה השם המוצג, מזינים תווית של המרחב שאנשים יכולים לקרוא.
  5. לוחצים על הוספה.

אחרי היצירה, חברי הארגון יראו את המרחב כפרמטר זמין כשהם יוצרים משאבי API.

Apigee API

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

curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
    "https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces" \
    --data-raw '{
       "name":"SPACE_NAME",
       "displayName":"DISPLAY_NAME"
    }'

כאשר:

  • ORG_NAME הוא השם של הארגון שלכם ב-Apigee.
  • SPACE_NAME הוא השם והמזהה הייחודי של המרחב. השם צריך להיות באורך של פחות מ-63 תווים, להתחיל באות קטנה באנגלית ולהכיל רק אותיות קטנות באנגלית. הדרישות המלאות למתן שמות מפורטות במאמר AIP-122: Resource names.
  • DISPLAY_NAME הוא השם של הסביבה שקריא לאנשים, כמו שהוא מופיע בממשק המשתמש של Apigee במסוף Cloud.

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

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

איך מצרפים אנשים מהארגון למרחבים

כדי לבצע את המשימה הזו נדרשת ההרשאה apigee.spaces.setIamPolicy.

מסוף Apigee

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

  1. בממשק המשתמש של Apigee במסוף Cloud, עוברים לדף Spaces.
  2. לוחצים על השם של המרחב שרוצים לנהל.
  3. בקטע פרטי גישה, לוחצים על אישור גישה.
  4. בשדה הוספת חברים, מזינים את כתובות האימייל של המשתמשים או הקבוצות שרוצים להוסיף.
  5. בקטע הקצאת תפקיד, בוחרים באפשרות עורך תוכן או צפייה בתוכן.
  6. לוחצים על הוספה.

Apigee API

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

curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \
    "https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME:setIamPolicy" -d \
      '{
        "policy":{
          "bindings":[
            {
              "members": ["user:USER_EMAIL"],
              "role": "roles/IAM_ROLE"
            }
          ]
        }
      }'

כאשר:

  • ORG_NAME הוא השם של הארגון שלכם ב-Apigee.
  • SPACE_NAME הוא שם המרחב.
  • USER_EMAIL היא כתובת האימייל של המשתמש שאתם מוסיפים למרחב. כדי להוסיף קבוצת Google במקום משתמש יחיד, משנים את הקידומת מ-user: ל-group: ומזינים את כתובת האימייל של הקבוצה.
  • IAM_ROLE הוא השם של תפקיד ה-IAM שאתם מקצים לחבר.

הסרת משתמשים ממרחב

כדי לבצע את המשימה הזו נדרשת ההרשאה apigee.spaces.setIamPolicy.

מסוף Apigee

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

  1. בממשק המשתמש של Apigee במסוף Cloud, עוברים לדף Spaces ולוחצים על שם הסביבה.
  2. בטבלה פרטי הגישה, מסמנים את התיבה לצד חבר אחד או יותר שרוצים להסיר.
  3. לוחצים על הסרת הגישה.
  4. בתיבת הדו-שיח לאישור, לוחצים על אישור.

Apigee API

כדי להסיר משתמשים מהמרחב, צריך להגדיר מדיניות IAM חדשה למרחב עם רשימת המשתמשים המעודכנת באמצעות השיטה setIamPolicy. השימוש בשיטה הזו יוצר מדיניות IAM חדשה שמחליפה את המדיניות הקיימת.

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

curl -X GET -H "Authorization: Bearer $TOKEN" \
  "https://apigee.googleapis.com/v1/organizations/acme/spaces/blue:getIamPolicy"

הפלט של הפקודה מחזיר את מדיניות IAM הנוכחית של המרחב, והוא אמור להיראות כך:

{
  "version": "0",
  "bindings": [
    {
      "role": "roles/apigee.spaceContentEditor",
      "members": [
        "group:blue-team@acme.com",
        "user:user-a@acme.com",
        "user:user-b@acme.com",
        "user:user-c@acme.com"
      ]
    }
  ]
}

כדי להסיר את user-b@acme.com מהמרחב, משתמשים בפקודה הבאה:

curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \
  "https://apigee.googleapis.com/v1/organizations/acme/spaces/blue:setIamPolicy" -d \
    '{
      "policy":{
        "bindings":[
          {
            "members": [
              "group:blue-team@acme.com",
              "user:user-a@acme.com",
              "user:user-c@acme.com"
            ],
            "role": "roles/apigee.spaceContentEditor"
          }
        ]
      }
    }'

מדיניות ה-IAM החדשה של המרחב לא תכלול יותר את user-b@acme.com.

כדי להסיר חבר מקבוצה שצורפה למרחב, קודם צריך להסיר את החבר מהקבוצה ואז להריץ מחדש את הפקודה setIamPolicy כדי לעדכן את מדיניות IAM של המרחב עם החברות הנכונה בכתובת האימייל הקבוצתית.

הצגת רשימה של כל המרחבים בארגון

כדי לבצע את המשימה הזו נדרשת ההרשאה apigee.spaces.list.

מסוף Apigee

כדי לראות את כל הספייסים, עוברים לדף Spaces בממשק המשתמש של Apigee במסוף Cloud.

מעבר למרחבים

בטבלת המרחבים מופיעים כל המרחבים בארגון, כולל השם, השם המוצג והמספר הכולל של המשתמשים.

Apigee API

כדי לראות את כל המרחבים בארגון Apigee, משתמשים בפקודה הבאה:

curl -X GET -H "Authorization: Bearer $TOKEN" \
    "https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces"

כאשר:

  • ORG_NAME הוא השם של הארגון שלכם ב-Apigee.

קבלת פרטים על המרחב

כדי לבצע את המשימה הזו נדרשת ההרשאה apigee.spaces.get.

מסוף Apigee

כדי לראות את פרטי המרחב בממשק המשתמש של Apigee:

  1. בממשק המשתמש של Apigee במסוף Cloud, עוברים לדף Spaces.
  2. לוחצים על השם של המרחב שרוצים לראות. בדף הפרטים מוצגים השם, השם המוצג, פרטי הגישה ורשימת החברים.

Apigee API

כדי לקבל את הפרטים של מרחב, משתמשים בפקודה הבאה:

curl -X GET -H "Authorization: Bearer $TOKEN" \
    "https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME"

כאשר:

  • ORG_NAME הוא השם של הארגון שלכם ב-Apigee.
  • SPACE_NAME הוא שם המרחב.

עדכון מרחב

כדי לבצע את המשימה הזו נדרשת ההרשאה apigee.spaces.update.

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

מסוף Apigee

כדי לעדכן מרחב בממשק המשתמש של Apigee:

  1. בממשק המשתמש של Apigee במסוף Cloud, עוברים לדף Spaces ולוחצים על שם הסביבה שרוצים לעדכן.
  2. לוחצים על לחצן העריכה (סמל העיפרון) לצד הכותרת 'פרטי המרחב'.
  3. משנים את השם המוצג לפי הצורך.
  4. לוחצים על Save.

Apigee API

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

curl -X PATCH -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
    "https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME" \
      --data-raw '{
        "displayName":"DISPLAY_NAME"
      }'

כאשר:

  • ORG_NAME הוא השם של הארגון שלכם ב-Apigee.
  • SPACE_NAME הוא שם המרחב.
  • DISPLAY_NAME הוא השם המוצג החדש של המרחב.

מחיקת מרחב

כדי לבצע את המשימה הזו נדרשת ההרשאה apigee.spaces.delete.

מסוף Apigee

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

  1. בממשק המשתמש של Apigee במסוף Cloud, עוברים לדף Spaces.
  2. לוחצים על מחיקה בשורה של המרחב שרוצים למחוק.
  3. בתיבת הדו-שיח לאישור, מקלידים את השם המדויק של המרחב כדי לאשר.
  4. לוחצים על Delete.

Apigee API

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

curl -X DELETE -H "Authorization: Bearer $TOKEN" \
    "https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME"

כאשר:

  • ORG_NAME הוא השם של הארגון שלכם ב-Apigee.
  • SPACE_NAME הוא שם המרחב.

אם תנסו למחוק מרחב שעדיין מכיל משאבים פעילים, המחיקה תיכשל ותקבלו תגובה שדומה לתגובה הבאה:

{
  "error": {
    "code": 400,
    "message": "Space \"red\" has resources associated with it. Please delete the resources before deleting the space.",
    "status": "FAILED_PRECONDITION"
  }
}

כדי לפתור את השגיאה הזו, צריך למחוק או להעביר את כל המשאבים במרחב לפני שמנסים למחוק אותו.

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