Directory API: יחידות ארגוניות

ניהול היחידות הארגוניות

עץ הארגון בחשבון Google Workspace מורכב מיחידות ארגוניות שמאפשרות לנהל את המשתמשים במבנה לוגי והיררכי. הפעולה הזו דומה לפונקציונליות שמופיעה בכרטיסייה 'ארגונים ומשתמשים' במסוף Admin. היררכיית היחידה הארגונית של הלקוח מוגבלת ל-35 רמות עומק. מידע נוסף זמין במרכז העזרה לאדמינים.

  • לכל חשבון Google Workspace יש רק עץ ארגוני אחד. כשהחשבון הזה מוגדר לראשונה, יש בו יחידה ארגונית ברמת החשבון. זהו הארגון המשויך לדומיין הראשי. מידע נוסף על הדומיין הראשי זמין במידע על מגבלות ה-API.
  • שם הנתיב של יחידה ארגונית הוא ייחודי. יכול להיות שהשם של היחידה הארגונית לא ייחודי בהיררכיה של הארגון, אבל השם שלה הוא ייחודי בין היחידות הארגוניות המקבילות שלה. ושם של יחידה ארגונית לא תלוי אותיות רישיות (case-sensitive).
  • יחידה ארגונית יורשת את כללי המדיניות מההיררכיה הארגונית. כל יחידה ארגונית יכולה לחסום את השרשרת של ירושה הורה על ידי ביטול המדיניות שעברה בירושה. הקדימות של מדיניות אחת על פני מדיניות אחרת נקבעת על ידי היחידה הארגונית הקרובה ביותר. כלומר, מדיניות של יחידה ארגונית נמוכה יותר יכולה לקבל עדיפות על פני כללי המדיניות של יחידות הורה ברמה גבוהה יותר. ההגדרה blockInheritance מאפשרת להגדיר חסימה בירושה ליחידה ארגונית ולארגון המשנה שלה. האפשרות blockInheritance הוצאה משימוש. הגדרת הערך 'true' לא נתמכת יותר, ויכולות להיות לו השלכות לא מכוונות. למידע נוסף על ירושה ומשתמשים במבנה הארגון, ניתן להיכנס למרכז העזרה בניהול.
  • ניתן להזיז יחידה ארגונית למעלה או למטה בעץ היררכי. בנוסף, אפשר להעביר את המשתמשים המשויכים לארגון בנפרד או בכמות גדולה כשמאכלסים ארגון חדש או מעבירים קבוצת משנה של משתמשים מיחידה ארגונית אחת לאחרת.
  • הנתונים שנשמרים במאפיינים של יחידה ארגונית יכולים להשתנות כל הזמן. כששולחים בקשה, מובטח שנכסים שמוחזרים עבור ישות יהיו עקביים בזמן אחזור הישות.כלומר, לא יוצגו עדכונים 'חלקיים'. אם פעולת אחזור מחזירה יותר מישות אחת, אין הבטחה לעקביות בין הישויות.הדבר נכון במיוחד אם תגובה מתפרסת על פני מספר דפים בעימוד.

יצירת יחידה ארגונית

כדי ליצור יחידה ארגונית, יש להשתמש בבקשת POST הבאה ולכלול את ההרשאה שמתוארת בקטע בקשות הרשאה.

אם אתם מנהלי מערכת שיוצרים יחידה ארגונית, השתמשו ב-my_customer.

POST https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits

אם את/ה מפיץ/ה יחידה ארגונית של לקוח שקנה דרך מפיץ, יש להשתמש ב-customerId. כדי לאחזר את customerId, משתמשים בפעולה אחזור משתמש.

POST https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits

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

בקשת JSON

בדוגמה הבאה של מפיץ JSON מוצג גוף בקשה לדוגמה שיוצר את היחידה הארגונית sales_support. השדות name ו-parentOrgUnitPath נדרשים:

POST https://admin.googleapis.com/admin/directory/v1/customer/C03az79cb/orgunits
{
    "name": "sales_support",
    "description": "The sales support team",
    "parentOrgUnitPath": "/corp/support",
    "blockInheritance": false
}

תגובת JSON

תגובה מוצלחת מחזירה קוד סטטוס HTTP 201. יחד עם קוד הסטטוס, התגובה תחזיר את המאפיינים של הקבוצה החדשה:

{
    "kind": "directory#orgUnit",
    "name": "sales_support",
    "description": "The sales support team",
    "orgUnitPath": "/corp/support/sales_support",
    "parentOrgUnitPath": "/corp/support",
    "blockInheritance": false
  }

עדכון של יחידה ארגונית

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

אם אתם מנהלי מערכת שמעדכנים יחידה ארגונית, השתמשו ב-my_customer.

 PUT https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/orgUnitPath

אם את/ה מפיץ/ה שמעדכנים יחידה ארגונית של לקוח שקנה דרך מפיץ, יש להשתמש ב-customerId. כדי לקבל את customerId, משתמשים בפעולה אחזור משתמש.

PUT https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath

בקשת JSON

בדוגמה הבאה עודכן התיאור של היחידה הארגונית:

PUT https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/corp/support/sales_support
{
    "description": "The BEST sales support team"
}

הערות לבקשת עדכון:

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

תגובת JSON

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

{
    "kind": "directory#orgUnit",
    "name": "sales_support",
    "description": "The BEST sales support team",
    "orgUnitPath": "/corp/support/sales_support",
    "parentOrgUnitPath": "/corp/support",
    "blockInheritance": false
}

אם משתמש לא הוקצה ליחידה ארגונית מסוימת כשיצרתם את חשבון המשתמש, סימן שהחשבון נמצא ביחידה הארגונית ברמה העליונה. היחידה הארגונית של המשתמש קובעת לאילו שירותי Google Workspace יש למשתמש גישה. אם המשתמש מועבר לארגון חדש, הגישה שלו משתנה. למידע נוסף על מבנים ארגוניים ניתן לעיין במרכז העזרה לאדמינים. מידע נוסף על העברת משתמש לארגון אחר זמין במאמר עדכון משתמש.

אחזור של יחידה ארגונית

כדי לאחזר יחידה ארגונית, יש להשתמש בבקשת GET הבאה ולכלול את ההרשאה שמתוארת בבקשות הרשאה. מחרוזת השאילתה orgUnitPath היא הנתיב המלא של היחידה הארגונית. בחומר העזר בנושא API תוכלו למצוא את מאפייני הבקשה והתגובה:

אם אתם מנהלי מערכת לאחזור יחידה ארגונית, השתמשו ב-my_customer.

GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/orgUnitPath

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

GET https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath

תגובת JSON

בדוגמה הבאה, היחידה הארגונית 'מכירות בחזית' מאוחזרת. יש לשים לב לקידוד ה-HTTP של 'Frontline+sales' ב-URI של הבקשה:

GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/corp/sales/frontline+sales

תגובה מוצלחת מחזירה קוד סטטוס HTTP 200. יחד עם קוד הסטטוס, התשובה תחזיר את ההגדרות של היחידה הארגונית:

{
    "kind": "directory#orgUnit",
    "name": "frontline sales",
    "description": "The frontline sales team",
    "orgUnitPath": "/corp/sales/frontline sales",
    "parentOrgUnitPath": "/corp/sales",
    "blockInheritance": false
}

אחזור יחידות ארגוניות

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

אם אתה מנהל חשבון מאחזר את כל יחידות המשנה, השתמש ב-my_customer. לצורך הקריאות, הדוגמה הזו משתמשת בהחזרות שורה:

GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer
/orgunits?orgUnitPath=full org unit path&type=all or children or all_including_parent

אם את/ה מפיץ/ה לאחזור יחידות ארגוניות של לקוח שקנה דרך מפיץ, יש להשתמש בcustomerId. כדי לקבל את customerId, משתמשים בפעולה אחזור משתמש:

GET https://admin.googleapis.com/admin/directory/v1/customer/customerId
/orgunits?orgUnitPath=full org unit path&type=all or children or all_including_parent

מחרוזת השאילתה get מחזירה all יחידות משנה ארגוניות במסגרת orgUnitPath, את ה-children המיידי מתוך orgUnitPath או את כל היחידות הארגוניות המשניות ואת orgUnitPath שצוינו עבור all_including_parent. ערך ברירת המחדל הוא type=children.

תגובת JSON

לדוגמה, הבקשה הזו מחזירה את כל היחידות הארגוניות החל מהיחידה הארגונית /corp:

GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits?orgUnitPath=/corp&type=all

תגובה מוצלחת מחזירה קוד סטטוס HTTP 200. יחד עם קוד הסטטוס, התשובה מחזירה את היחידות הארגוניות של החשבון:

{
"kind": "directory#orgUnits",
    "organizationUnits": [
     {
    "kind": "directory#orgUnit",
    "name": "sales",
    "description": "The corporate sales team",
    "orgUnitPath": "/corp/sales",
    "parentOrgUnitPath": "/corp",
    "blockInheritance": false
     },
     {
    "kind": "directory#orgUnit",
    "name": "frontline sales",
    "description": "The frontline sales team",
    "orgUnitPath": "/corp/sales/frontline sales",
    "parentOrgUnitPath": "/corp/sales",
    "blockInheritance": false
     },
     {
    "kind": "directory#orgUnit",
    "name": "support",
    "description": "The corporate support team",
    "orgUnitPath": "/corp/support",
    "parentOrgUnitPath": "/corp",
    "blockInheritance": false
     },
     {
    "kind": "directory#orgUnit",
    "name": "sales_support",
    "description": "The BEST support team",
    "orgUnitPath": "/corp/support/sales_support",
    "parentOrgUnitPath": "/corp/support",
    "blockInheritance": false
     }
  ]
  }

מחיקה של יחידה ארגונית

כדי למחוק יחידה ארגונית, יש להשתמש בבקשת DELETE הבאה ולכלול את ההרשאה שמתוארת בקטע בקשות הרשאה. כדי לאחזר את customerId, משתמשים בפעולה אחזור משתמש. בחומר העזר בנושא API תוכלו למצוא את מאפייני הבקשה והתגובה:

אם אתם מנהלי חשבון שמוחקים יחידה ארגונית, השתמשו ב-my_customer.

DELETE https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/orgUnitPath

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

DELETE https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath
לדוגמה, הבקשה DELETE של האדמין של המפיץ הזה מוחקת את היחידה הארגונית 'backend_tests':
DELETE https://admin.googleapis.com/admin/directory/v1/customer/C03az79cb/orgunits/corp/sales/backend_tests

תגובה מוצלחת מחזירה קוד סטטוס HTTP 200.

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