בדף הזה מוסבר איך לנהל יחידות ייעודיות לדיירים בענן עבור השירות שלכם. יחידה ייעודית לדייר בענן היא משאב פשוט שמייצג את היחסים בין צרכן השירות לבין השירות המנוהל. לכל צרכן שירות יכולה להיות רק יחידה ייעודית פעילה אחת לדייר בענן עבור כל שירות מנוהל. זהו מאפיין של 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 לניהול של צרכני השירות. חשוב לוודא שיש לכם מכסה מספקת לכמות הפרויקטים של הדיירים הדרושה לכל צרכני השירות שלכם.
- כדי ליצור ולמחוק יחידות ייעודיות לדיירים בענן, יש לפעול לפי הוראות ההגדרה הראשונית המופיעות במאמר תחילת השימוש ב-Service Consumer Management API.
- כל פרויקט דייר (tenant) שנוצר ביחידה ייעודית לדייר בענן צריך להיות גם בתיקייה שאתם מציינים כחלק מהגדרת הפרויקט. בגלל זה וכדי להשתמש ביחידות ייעודיות לדיירים בענן, אתם צריכים ארגון.
אימות
בוחרים את הכרטיסיות הרלוונטיות לאופן שבו תכננתם לגשת ל-API:
gcloud
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
ספריות לקוח
כדי להשתמש בספריות לקוח בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
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)
עכשיו אתם יכולים להוסיף פרויקט עבור המשתמש. כדי להוסיף פרויקט דייר (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