שימוש בכלי של צד שלישי להקצאת הרשאות פרוגרמטית מהירה

המאמר הזה מיועד לאדמינים ב-IT שצריכים להקצות יותר מ-50,000 חשבונות משתמשים בזמן מוגבל.

כדי להקצות חשבונות במהירות ובכמות גדולה, אפשר להשתמש בפתרונות של צד שלישי. לדוגמה, Google Apps Manager‏ (GAM) היא אפליקציה חינמית להורדה בקוד פתוח שמשתמשת ב-Admin SDK Directory API כדי ליצור ולנהל משתמשים וקבוצות ב-Google Workspace.

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

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

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

  • יכולת להשתמש בהנחיות בשורת הפקודה
  • חשבון Google Workspace בתשלום שהוא:

שלב 1: מניעת התנגשויות בין חשבונות

יכול להיות שלחלק מהמשתמשים שלכם יש חשבון Google אישי, כמו כתובת Gmail, שיכול ליצור קונפליקטים כשאתם מקצים להם חשבון חדש ומנוהל ב-Google Workspace או ב-Cloud Identity. כדי למנוע בעיות כאלה:

  1. מידע נוסף על חשבונות בעלי מאפיינים זהים לחשבונות פעילים
  2. איך למצוא ולנהל חשבונות קיימים

שלב 2: יוצרים מבנה ארגוני פשוט ושטוח

מומלץ להימנע מיצירת היררכיה מורכבת של יחידות ארגוניות עם הרבה רמות. אפשר לשנות את ההיררכיה ולהעביר משתמשים מאוחר יותר. ריכזנו כאן כמה טיפים להגדרת מבנה ארגוני פשוט:

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

מידע נוסף על המבנה הארגוני

דוגמה לשימוש בתחום החינוך

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

המבנה המוצע מתמקד בפונקציונליות. אדמינים יכולים להשבית בקלות שירותים ותכונות לכל התלמידים ביחידה הארגונית /Students. לדוגמה, אפשר להשבית את שחזור הסיסמה בשירות עצמי ולהחיל הגבלות על YouTube. אפשר גם להפעיל פונקציות מתקדמות למורים ולחברי צוות אחרים, כמו סטרימינג והקלטה ב-Meet ואימות דו-שלבי.

דוגמה למבנה ארגוני מבנה ארגוני מומלץ

/School 1/Staff/Teachers

/School 1/Students/Year 2020/Class A

/School 1/Students/Year 2020/...

/School 2/Staff/Teachers

/School 2/Students/Year 2020/Class C

/School 2/Students/Year 2020/...

/ (root OrgUnit)

/Students

/Staff/IT

/Staff/Teachers

דוגמה לארגון גדול

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

  1. ההגדרות האלה חלות על היחידה הארגונית ברמה העליונה.
    אלא אם תשנו את ההגדרות האלה, יחידות צאצא ארגוניות יקבלו אותן בירושה. דוגמאות:
  2. כדי להוסיף שכבת אבטחה, אפשר לדרוש מהמחלקות להשתמש באימות דו-שלבי.
דוגמה למבנה ארגוני מבנה ארגוני מומלץ

/

/Sales

/IT

/Legal

/ (יחידה ארגונית בראש ההיררכיה)

/2SV-Enforced (IT ומשפטי)

/2SV (ואישור שיתוף עם גורמים חיצוניים)

שלב 3: מכינים מקור נתונים

יוצרים קובץ ערכים מופרדים בפסיקים (CSV) עם הנתונים הדרושים כדי להמשיך בתהליך של יצירת חשבונות משתמשים. שדות חובה:

  • FirstName
  • שם משפחה
  • PrimaryEmail – כתובת האימייל שבאמצעותה המשתמש ייכנס לחשבון
  • סיסמה – צריכה להכיל 8 תווים לפחות
  • OrgUnit – כדי ליצור משתמשים ביחידות הארגוניות המתאימות, תוך התחשבות בהמלצות שלמעלה

    הערה: מזינים / (קו נטוי לפנים) כדי למקם משתמשים ביחידה הארגונית ברמה העליונה (root). מפרידים בין יחידות צאצא ארגוניות באמצעות קו נטוי – לדוגמה, /Staff/Teachers.

דוגמה לשימוש בתחום החינוך

FirstName,LastName,PrimaryEmail,Password,OrgUnit

Jane,Doe,id12345678@students.example.com,Zee+HWdt,/Students

John,Smith,john.smith@example.com,X2Ae+pME,/Staff

דוגמה לארגון גדול

FirstName,LastName,PrimaryEmail,Password,OrgUnit

Jane,Doe,jane.doe@example.co.uk,V8hmj/QE,/

John,Smith,john.smith@example.com,9/t0UHQ6,/Sales

שלב 4: הגדרת GAM

אם אתם מחליטים להשתמש ב-GAM, מומלץ לבצע את השלבים הבאים:

  1. ב-GAM בגרסה 5.10 ומעלה, לפני שמריצים את GAM בפעם הראשונה, צריך ליצור קובץ בשם noshorturls.txt באותה תיקייה שבה נמצא GAM.
    כך משביתים את כתובות ה-URL המקוצרות של gam-shortn.appspot.com.
  2. באתר GAM, מורידים את GAM.
  3. הגדרת הכלי.
  4. במהלך ההגדרה, כשמוצגת השאלה "האם אתה מוכן לאשר ל-GAM לנהל את נתוני המשתמשים וההגדרות של Google Workspace?", עונים N (לא) כדי לדלג על הענקת הרשאות ברמת הדומיין.

הפקודה הזו עוזרת לוודא ש-GAM משויך לחשבון Google Workspace הנכון:

gam info domain

שלב 5: יצירת כמה משתמשים באמצעות GAM

כדי ליצור את המשתמשים, GAM קורא מקובץ של ערכים מופרדים בפסיקים (CSV) ושולח את הבקשות הרלוונטיות אל API של ספריית Admin SDK.

אם יצרתם קובץ CSV עם השדות שצוינו בשלב 3 למעלה, הפקודה הזו יוצרת את המשתמשים בקובץ ה-CSV:

gam csv users.csv gam create user ~PrimaryEmail firstname ~FirstName lastname ~LastName password ~Password org ~OrgUnit changepassword on

צריך לוודא שביצעתם את הפעולות הבאות:

  1. יוצרים סיסמה ייחודית לכל משתמש.
  2. משתמשים בפרמטר האופציונלי changepassword on כדי לחייב את המשתמש לשנות את הסיסמה אחרי הכניסה הראשונה.

אפשרות חלופית: מה קורה אם חסרים שדות במקור הנתונים?

אם במקור הנתונים יש רק שם פרטי, שם משפחה וסיסמה אחת לכל משתמש, אפשר ליצור שמות משתמשים בפורמט first.last@example.com. למשתמש בשם Charlie Smith, משתמשים ב-Charlie.Smith@example.com.

הפקודה היא:

gam csv users.csv gam create user ~~FirstName~~.~~LastName~~@example.com password ~Password changepassword on

הגישה הזו מניחה שלאף משתמש אין:

  • אותו שם
  • שם פרטי ושם משפחה עם:
    • מרחבים
    • תווים אסורים אחרים

עוברים אל הנחיות למתן שמות למשתמשים ולקבוצות.

שאלות

איפה אפשר למצוא מידע על בקשה לאישור של Google Workspace for Education?

פרטים על התהליך של Google Workspace for Education מופיעים במאמרים הבאים:

איפה אפשר למצוא מידע על G Suite לעמותות?

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

אין לי גישה למסוף Admin או לחשבון האדמין שלי. מה לעשות?

עוברים אל דף הכניסה, מזינים את שם המשתמש ולוחצים על שכחת את הסיסמה?

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

איך אפשר לוודא שהדומיין שלי אומת?

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

הדומיין הראשון שמופיע הוא הדומיין הראשי. בעמודה 'סטטוס' אפשר לראות אם הדומיין דורש אימות.

האם צוות התמיכה של Google Cloud יכול לעזור לי בשאלות לגבי GAM?

התמיכה של Google Cloud לא תומכת בפתרונות האלה או בפתרונות אחרים של צד שלישי, אלא רק ב-Admin SDK Directory API שמשמש את הכלים האלה. אנחנו לא יכולים לעזור עם כלי GAM עצמו, אבל אנחנו יכולים לעזור אם ממשקי ה-API הבסיסיים מחזירים שגיאות, במיוחד Admin SDK Directory API. מידע נוסף על פקודות וטכניקות של GAM זמין ב-GAM Wiki.

צריכים עזרה ב-GAM? אפשר לפנות לקהילת האדמינים של Google Workspace שמוכנים להציע תמיכה, בקבוצת הדיון של GAM.

אם לדעתכם יש בעיה ב-Admin SDK Directory API, עליכם לספק לתמיכה של Google Cloud את הפרטים הבאים:

  • שיטת ה-HTTP ונקודת הקצה (endpoint) שהפתרון של הצד השלישי קורא להן (לדוגמה, POST /admin/directory/v1/users?fields=primaryEmail)
  • קוד ותגובה (לדוגמה, 403: אין הרשאה לגשת למשאב או ל-API הזה – אסור)

  • התאריך בכותרת ה-HTTP של התגובה (לדוגמה, Date: Wed, 22 Jun 2020 17:48:48 GMT)
  • הישות שמבצעת את הקריאה: שם משתמש, חשבון שירות או מזהה פרויקט ב-Google Cloud

הסירו מידע כמו שמות, סיסמאות, כותרות של בקשות אימות, כתובות IP, ערכים של סכימות מותאמות אישית או כל מידע אחר שאתם מחשיבים כרגיש.

המכסה של הפרויקט שלי עומדת להיגמר. מה לעשות?

מכסות ברירת המחדל אמורות להספיק לרוב הלקוחות. מידע נוסף על מגבלות API זמין במאמר Directory API: Limits and Quotas.

אם עדיין דרושה לכם מכסה גדולה יותר לפרויקט, תוכלו לעיין בדרישות בקטע המכסות במסוף Google Cloud:

  1. פותחים את מסוף Google Cloud.
  2. בוחרים את הפרויקט שנוצר ב-GAM בחלק העליון.
  3. בצד ימין, לוחצים על תפריט הניווט > IAM & Admin > Quotas.
  4. בקטע שירות, מסננים לפי Admin SDK (רלוונטי להקצאת הרשאות למשתמשים).
  5. בוחרים את הפריטים שרוצים לבקש להגדיל את המכסה שלהם.
  6. למעלה, לוחצים על עריכת מכסות.

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