אדמינים יכולים ליצור תפקידי אדמין בהתאמה אישית במסוף Admin כדי לאפשר לאנשים או לקבוצות מסוימים עם רישיון Education Plus:
ניתוח נתונים ב-Classroom כדי להבין נתונים כמו השלמת מטלות, מגמות בציונים והיקף השימוש ב-Classroom.
לקבל גישה זמנית לכיתות ב-Classroom כדי לתמוך באנשי חינוך, לפרסם הודעות לכיתה ועוד, בלי להיחשב כמורים עמיתים קבועים.
במדריך הזה נסביר איך להגדיר את התכונות האלה בדומיין באמצעות ממשקי Google API.
אוטומציה של תהליך הקצאת התפקידים בהתאמה אישית
כדי להפוך את תהליך הקצאת התפקידים בהתאמה אישית לאוטומטי:
- יוצרים קבוצות אבטחה כדי לארגן את המשתמשים שיש להם גישה לתכונות האלה.
- מוסיפים חברים לקבוצות.
- יוצרים תפקיד אדמין בהתאמה אישית על ידי בחירת ההרשאה המתאימה.
- אחזור מזהי יחידות ארגוניות
- מחילים את תפקיד האדמין בהתאמה אישית על הקבוצות החדשות שנוצרו.
דרישות מוקדמות
- במדריכים למתחילים מוסבר איך מגדירים ומפעילים אפליקציה באמצעות Google APIs בשפות כמו JavaScript, Python ו-Java.
- סקירה כללית על Groups API
- לפני שמשתמשים באחד מממשקי Cloud Identity API שמתוארים במדריך הזה, צריך להגדיר את Cloud Identity. ממשקי ה-API האלה משמשים ליצירת קבוצות כדי להקצות הרשאות אדמין.
- מגדירים את Groups API.
יצירת קבוצות אבטחה
יוצרים קבוצת אבטחה באמצעות השיטה groups.create
. אפשר להגדיר קבוצה כקבוצת אבטחה כשתווית האבטחה כלולה בשדה labels
של הבקשה. למידע נוסף ועל המגבלות על יצירת קבוצות אבטחה, אפשר לעיין במדריך בנושא יצירת קבוצות אבטחה.
POST https://cloudidentity.googleapis.com/v1/groups
אפשר גם לכלול את פרמטר השאילתה InitialGroupConfig
כדי לאתחל את הבעלים של הקבוצה:
POST https://cloudidentity.googleapis.com/v1/groups&initialGroupConfig={initialGroupConfig}
החשבון שמגיש את הבקשה הזו צריך את אחד מההיקפים הבאים:
https://www.googleapis.com/auth/cloud-identity.groups
https://www.googleapis.com/auth/cloud-identity
https://www.googleapis.com/auth/cloud-platform
גוף הבקשה
גוף הבקשה מכיל את פרטי הקבוצה שרוצים ליצור. השדה customerId
חייב להתחיל באות C (לדוגמה, C046psxkn
). איך מוצאים את מזהה הלקוח
{
parent: "customers/<customer-id>",
description: "This is the leadership group of school A.",
displayName: "Leadership School A",
groupKey: {
id: "leadership_school_a@example.com"
},
labels: {
"cloudidentity.googleapis.com/groups.security": "",
"cloudidentity.googleapis.com/groups.discussion_forum": ""
}
}
תשובה
התשובה מכילה מופע חדש של המשאב Operation
.
{
done: true,
response: {
@type: "type.googleapis.com/google.apps.cloudidentity.groups.v1.Group",
name: "groups/<group-id>", // unique group ID
groupKey: {
id: "leadership_school_a@example.com" // group email address
},
parent: "customers/<customer-id>",
displayName: "Leadership School A",
description: "This is the leadership group of school A.",
createTime: "<created time>",
updateTime: "<updated time>",
labels: {
"cloudidentity.googleapis.com/groups.security": "",
"cloudidentity.googleapis.com/groups.discussion_forum": ""
}
}
}
הוסף חברי קבוצה
אחרי שיוצרים את הקבוצה, השלב הבא הוא להוסיף חברים. חבר קבוצה יכול להיות משתמש או קבוצת אבטחה אחרת. אם מוסיפים קבוצה כחברה בקבוצה אחרת, יכול להיות עיכוב של עד 10 דקות עד שההצטרפות תופץ. בנוסף, ה-API מחזיר שגיאה לגבי מחזורים בחברות בקבוצות. לדוגמה, אם group1
הוא חבר בקבוצה group2
, group2
לא יכול להיות חבר בקבוצה group1
.
כדי להוסיף חבר לקבוצה, משתמשים בבקשת ה-POST הבאה.
Directory API members.insert
:
POST https://admin.googleapis.com/admin/directory/v1/groups/{groupKey}/members
פרמטר הנתיב groupKey
הוא כתובת האימייל של הקבוצה של המשתמש החדש או המזהה הייחודי של הקבוצה.
לחשבון ששולח את בקשת ה-POST נדרש אחד מההיקפים הבאים:
https://apps-apis.google.com/a/feeds/groups/
https://www.googleapis.com/auth/admin.directory.group
https://www.googleapis.com/auth/admin.directory.group.member
גוף הבקשה
גוף הבקשה מכיל את הפרטים של member
שרוצים ליצור.
{
email: "person_one@example.com",
role: "MEMBER", // can be `MEMBER`, `OWNER`, `MANAGER`
}
תשובה
התשובה מכילה את המופע החדש של החבר.
{
kind: "admin#directory#member",
etag: "<etag-value>", // role's unique ETag
id: "4567", // group member's unique ID
email: "person_one@example.com",
role: "MEMBER",
type: "GROUP",
status: "ACTIVE"
}
צריך לשלוח את הבקשה הזו לכל משתמש שרוצים להוסיף כחבר. אפשר לקבץ את הבקשות האלה כדי לצמצם את מספר חיבורי ה-HTTP שהלקוח צריך ליצור.
יצירת תפקיד אדמין בהתאמה אישית עם הרשאות
באמצעות Directory API אפשר להשתמש בבקרת גישה מבוססת-תפקידים (RBAC) כדי לנהל את הגישה לתכונות בדומיין של Google Workspace. אתם יכולים ליצור תפקידים בהתאמה אישית עם הרשאות כדי להגביל את הגישה של האדמינים באופן ספציפי יותר מאשר התפקידים המוגדרים מראש שכלולים ב-Google Workspace. אפשר להקצות תפקידים למשתמשים או לקבוצות אבטחה. מידע מפורט יותר על המגבלות של יצירת תפקידים זמין במאמר מגבלות על תפקידים בהתאמה אישית ועל הקצאת תפקידים.
כדי ליצור תפקיד חדש, משתמשים בבקשת ה-POST הבאה.
Directory API roles.insert
:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roles
הערך של customerId
זהה לזה שצוין בשלב 1 במדריך הזה.
החשבון שממנו נשלחת בקשת ה-POST צריך את ההיקף הבא:
https://www.googleapis.com/auth/admin.directory.rolemanagement
גוף הבקשה
גוף הבקשה מכיל את הפרטים של role
שרוצים ליצור. מוסיפים privilegeName
ו-serviceId
לכל הרשאה שרוצים להקצות עם התפקיד הזה.
ניתוח נתונים של Classroom
כדי ליצור תפקיד בהתאמה אישית שיש לו גישה לנתוני ניתוח, נדרשת ההרשאה EDU_ANALYTICS_DATA_ACCESS
, יחד עם ההגדרה serviceId
= 019c6y1840fzfkt
.
{
roleName: "Education Admin", // customize as needed
roleDescription: "Access to view analytics data", // customize as needed
rolePrivileges: [
{
privilegeName: "EDU_ANALYTICS_DATA_ACCESS",
serviceId: "019c6y1840fzfkt"
}
]
}
גישה זמנית לכיתה
כדי ליצור תפקיד בהתאמה אישית שיכול לגשת באופן זמני לכיתות, נדרשת ההרשאה ADMIN_OVERSIGHT_MANAGE_CLASSES
, יחד עם ההגדרה של serviceId
לערך 019c6y1840fzfkt
.
{
roleName: "Education Admin", // customize as needed
roleDescription: "Access to manage classes privilege", // customize as needed
rolePrivileges: [
{
privilegeName: "ADMIN_OVERSIGHT_MANAGE_CLASSES",
serviceId: "019c6y1840fzfkt"
}
]
}
כדי לאחזר רשימה של privilegeIds
ו-serviceIds
, צריך לבצע קריאה ל-method privileges.list
.
תשובה
התשובה מכילה את המופע החדש של התפקיד.
ניתוח נתונים של Classroom
{
kind: "admin#directory#role",
etag: "<etag-value>", // role's unique ETag
roleId: "<role-id>", // role's unique ID
roleName: "Education Admin",
roleDescription: "Access to view analytics data",
rolePrivileges: [
{
privilegeName: "EDU_ANALYTICS_DATA_ACCESS",
serviceId: "019c6y1840fzfkt"
}
],
isSystemRole: false,
isSuperAdminRole: false
}
גישה זמנית לכיתה
{
kind: "admin#directory#role",
etag: "<etag-value>", // role's unique ETag
roleId: "<role-id>", // role's unique ID
roleName: "Education Admin",
roleDescription: "Access to manage classes privilege",
rolePrivileges: [
{
privilegeName: "ADMIN_OVERSIGHT_MANAGE_CLASSES",
serviceId: "019c6y1840fzfkt"
}
],
isSystemRole: false,
isSuperAdminRole: false
}
אחזור מזהי יחידות ארגוניות
אפשר להגביל את הגישה של תפקיד האדמין בהתאמה אישית ליחידה ארגונית אחת או יותר באמצעות מזהה היחידה הארגונית. משתמשים ב-OrgUnit API כדי לאחזר את orgUnitId
.
ניתוח נתונים של Classroom
מומלץ לבחור יחידה ארגונית של תלמידים וגם יחידה ארגונית של מורים כשמקצים את תפקיד האדמין בהתאמה אישית למשתמש או לקבוצה ספציפיים. כך המשתמשים שהוקצתה להם הרשאת אדמין בהתאמה אישית יוכלו לגשת לנתונים ברמת התלמיד והכיתה של היחידות הארגוניות. אם יחידת ההשתייכות של התלמיד לא תתווסף, למשתמשים מורשים לא תהיה גישה לנתוני התלמידים. אם יחידת ההשתייכות הארגונית של המורה לא תתווסף, למשתמשים מורשים לא תהיה גישה לנתונים ברמת הכיתה.
גישה זמנית לכיתה
כדי להגביל את הרשאות הגישה הזמניות לכיתות, אפשר לאפשר למשתמשים עם תפקיד האדמין בהתאמה אישית גישה לכיתות ביחידות ארגוניות ספציפיות. אם מגבילים את הגישה ליחידה ארגונית, הקבוצה שמוקצה לה תפקיד האדמין בהתאמה אישית יכולה לגשת רק לכיתות שהמורה הראשי שלהן נמצא באותה יחידה ארגונית.
הקצאת תפקיד האדמין בהתאמה אישית
כדי להקצות לקבוצה את תפקיד האדמין בהתאמה אישית, משתמשים בבקשת ה-POST הבאה. למידע נוסף על המגבלות של הקצאת תפקידים, קראו את ההנחיות בנושא תפקידים בהתאמה אישית והגבלות על הקצאת תפקידים.
Directory API roleAssignments.insert
:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roleassignments
הקצאה לקבוצה או למשתמש ספציפי
אם מקצים את ההרשאה לקבוצה, צריך לכלול את groupId
בשדה assignedTo
בגוף הבקשה. המזהה groupId
התקבל בשלב יצירת קבוצות אבטחה. אם מקצים את ההרשאה למשתמש ספציפי, צריך לכלול את המזהה של המשתמש בשדה assignedTo
בגוף הבקשה. אפשר לאחזר את המזהה של המשתמש באמצעות קריאה ל-users.get
וציון כתובת האימייל של המשתמש כפרמטר userKey
, או באמצעות קריאה ל-users.list
.
החשבון שממנו נשלחת בקשת ה-POST צריך את ההיקף הבא:
https://www.googleapis.com/auth/admin.directory.rolemanagement
גוף הבקשה
גוף הבקשה מכיל פרטים של RoleAssignment
שייווצר. צריך לשלוח בקשה אחת לכל יחידה ארגונית שרוצים לשייך לקבוצה הזו.
{
roleId: "<role-id>", // role's unique ID obtained from Step 3
assignedTo: "<id>", // group ID or user ID
scopeType: "ORG_UNIT", // can be `ORG_UNIT` or `CUSTOMER`
orgUnitId: "<org-unit-id>" // organizational unit ID referenced in Step 4
}
תשובה
התשובה מכילה את המופע החדש של RoleAssignment
.
{
kind: "admin#directory#roleAssignment",
etag: "<etag-value>",
roleAssignmentId: "<role-assignment-id>",
roleId: "<role-id>",
assignedTo: "<group-id or user-id>",
assigneeType: "GROUP",
scopeType: "ORG_UNIT",
orgUnitId: "<org-unit-id>"
}
משאבים
מידע נוסף זמין בכתובות הבאות:
- סקירה כללית על Directory API
- אימות והרשאה ספציפיים ל-Directory API
- מסמכי תיעוד של Directory API ל-REST
- תמיכה למפתחים של Admin SDK API