ניהול של יחידות ייעודיות לדיירים בענן

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

הפורמט של שם המשאב של היחידה הייעודית לדייר בענן הוא:

services/{your service name}/projects/{consumer project number}/tenancyUnits/{id}

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

בדוגמאות שבדף הזה נעשה שימוש בקריאות ישירות ל-API בארכיטקטורת REST של שירות הניהול של צרכני השירות. לשימוש בסביבת הייצור, אנחנו ממליצים להשתמש בספריות לקוח שסופקו על ידי Google, כדי לשפר את נוחות השימוש והאמינות.

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

  • ממשק ה-API לניהול של צרכני השירות מיועד לשימוש בפרויקטים של שירותים מנוהלים ובפרויקטים של הבעלים של השירות המנוהל. כדי להשתמש בממשק, צריך להיות לכם כבר פרויקט ב- Google Cloud שיש בו שירות מנוהל (למשל, שירות שנוצר באמצעות Cloud Endpoints).
  • כדי להשתמש ביחידות ייעודיות לדיירים בענן, תצטרכו ליצור פרויקטים של דיירים (tenant) תחת הארגון שאליו שייך הבעלים של השירות המנוהל, באמצעות ממשק ה-API לניהול של צרכני השירות. חשוב לוודא שיש לכם מכסה מספקת לכמות הפרויקטים של הדיירים הדרושה לכל צרכני השירות שלכם.
  • כדי ליצור ולמחוק יחידות ייעודיות לדיירים בענן, יש לפעול לפי הוראות ההגדרה הראשונית המופיעות במאמר Getting Started with the Service Consumer Management API.
  • כל פרויקט של דיירים שנוצר ביחידה ייעודית לדייר בענן צריך להיות גם בתיקייה שאתם מציינים כחלק מהגדרת הפרויקט. בגלל זה וכדי להשתמש ביחידות ייעודיות לדיירים בענן, אתם צריכים ארגון.

אימות

צריך לבחור את הכרטיסיות הרלוונטיות לאופן שבו תכננתם לגשת ל-API:

gcloud

התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

gcloud init

אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

ספריות לקוח

כדי להשתמש בספריות לקוח בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.

  1. התקינו את ה-CLI של Google Cloud.

  2. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  3. אם משתמשים במעטפת מקומית, צריך ליצור פרטי כניסה לאימות מקומי בחשבון המשתמש:

    gcloud auth application-default login

    אם אתם משתמשים ב-Cloud Shell, אתם לא צריכים לעשות את זה.

    אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Google Cloud .

REST

כדי להשתמש ב-API בארכיטקטורת REST בסביבת פיתוח מקומית, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

    התקינו את ה-CLI של Google Cloud.

    אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .

למידע נוסף על הגדרה של אימות בסביבת ייצור, ראו הגדרת Application Default Credentials לקוד שפועל ב- Google Cloud במאמרי העזרה בנושא אימות ב- Google Cloud .

יצירת יחידה ייעודית לדייר בענן

בדרך כלל יוצרים את היחידות הייעודיות לדיירים בענן ואת הפרויקטים שבתוכן כשבשירות נוצרים משאבים שתלויים בהקצאת משאבים נוספים של Google Cloud לצרכנים.

כדי ליצור יחידה ייעודית לדייר בענן, משתמשים ב-method ‏services.tenancyUnits.create:

POST https://serviceconsumermanagement.googleapis.com/v1/services/service.example.com/projects/12345678901/tenancyUnits

כאשר החלק 'projects/12345678901' מייצג את צרכן השירות, והחלק service.example.com הוא שם השירות שלכם.

מבנה הנתונים שמוחזר מכיל את השם של היחידה הייעודית לדייר בענן, וכן מזהה ייחודי שנוצר באופן אוטומטי ומאפשר את הגישה אליה. בדוגמה הזו, השם שנוצר הוא services/your-service.example.com/projects/12345678901/tenancyUnits/absdef.

הוספת פרויקט של דייר

עכשיו אתם יכולים להוסיף פרויקט עבור המשתמש. כדי להוסיף פרויקט דייר (tenant) חדש ליחידה ייעודית לדייר בענן שנוצרה בשלב הקודם, צריך להשתמש בשיטה services.tenancyUnits.addProject:

POST https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits/absdef:addProject

עם הנתונים הבאים:

{"tag":"tag1", "project_config":{"folder":"folders/9876543210", "tenant_project_policy":{"policy_bindings":{"role":"roles/owner", "members":"user:bob@example.com"}}, "billing_config":{"billing_account":"billingAccounts/123456-472F22-28F9AA"}}}

כאשר את הערך של tag אתם צריכים לספק (כאן הוא tag1), והוא יהיה המזהה של הפרויקט ביחידה הייעודית לדייר בענן: הערך יכול להיות כל מה שתבחרו, למשל שם של אזור, שם של רשת צרכנים או כל מחרוזת אחרת.

הקריאה הזו מחזירה מזהה של פעולה ממושכת, שאתם יכולים להשתמש בו כדי להריץ שאילתה ולברר אם יצירת הפרויקט הצליחה.

אם אתם צריכים להשתמש בהגדרות אחרות לפרויקט, לדוגמה, להוסיף לו שירותים מנוהלים חדשים, אתם יכולים להשתמש בשיטה services.tenancyUnits.applyProjectConfig.

חיפוש ביחידות הייעודיות לדיירים בענן

חיפוש יחידה ייעודית לדייר בענן של צרכן שירות מסוים

כדי למצוא יחידה ייעודית לדייר בענן של צרכן שירות מסוים, צריך להשתמש בשיטה services.tenancyUnits.list, ולציין את מספר הפרויקט של צרכן השירות:

GET https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits

חיפוש יחידות ייעודיות לדיירים בענן

כדי לחפש יחידות ייעודיות לדיירים בענן שהוגדרו לשירות שלכם, אתם יכולים להשתמש בשיטה services.search. לדוגמה, השאילתה הבאה תחזיר את כל היחידות שמכילות פרויקט עם התג המזהה 'tag1':

GET https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com:search?query=tenant_resources.tag=tag1

הסרת יחידות ייעודיות לדיירים בענן

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

הסרת פרויקטים של דייר

לפני שמוחקים יחידה ייעודית לדייר בענן, צריך למחוק את כל הפרויקטים של הדייר, בהתאמה. כדי למחוק פרויקט של דייר ואת כל המשאבים שבו צריך להשתמש בשיטה services.tenancyUnits.removeProject:

POST https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits/absdef:removeProject

מחיקה של יחידה ייעודית לדייר בענן

אחרי שמוחקים את כל פרויקטי הדייר ביחידה ייעודית לדייר בענן, או כשכולם נמצאים במצב DELETED, אתם יכולים למחוק את היחידה הייעודית לדייר בענן באמצעות השיטה services.tenancyUnits.delete:

DELETE https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits/absdef