ผู้ดูแลระบบโดเมนมีการควบคุมหลายอย่างเพื่อจัดการฟีเจอร์และแอปพลิเคชันที่ผู้ใช้ในโดเมนของตนเข้าถึงได้ หน้านี้จะอธิบายฟีเจอร์เหล่านี้ ผลกระทบที่อาจเกิดขึ้นหรือประโยชน์ของการผสานรวมภายนอก และคำขอ API ที่เกี่ยวข้อง
จัดการการเข้าถึงแอปของบุคคลที่สามสำหรับผู้ใช้ที่มีอายุต่ำกว่า 18 ปี
ผู้ดูแลระบบต้องกำหนดค่าแอปพลิเคชันของบุคคลที่สามในคอนโซลผู้ดูแลระบบของ Google สำหรับผู้ใช้ที่มีอายุต่ำกว่า 18 ปี หากผู้ดูแลระบบไม่ได้กำหนดค่าแอปพลิเคชัน ผู้ใช้ที่มีอายุต่ำกว่า 18 ปีจะไม่สามารถเข้าถึงแอปพลิเคชันนั้นด้วยบัญชี Google Workspace for Education ได้
นักพัฒนาแอปที่พัฒนาแอปพลิเคชันสำหรับผู้ใช้ Google Workspace for Education ที่มีอายุต่ำกว่า 18 ปีไม่จำเป็นต้องดำเนินการใดๆ การกำหนดค่าแอปของบุคคลที่สามทำได้เฉพาะโดยผู้ดูแลระบบใน UI ของคอนโซลผู้ดูแลระบบเท่านั้น และจะดำเนินการแบบเป็นโปรแกรมไม่ได้
กำหนดบทบาทของผู้ดูแลระบบที่กำหนดเองสำหรับฟีเจอร์ของ Classroom
ผู้ดูแลระบบสามารถสร้างบทบาทของผู้ดูแลระบบที่กำหนดเองในคอนโซลผู้ดูแลระบบเพื่ออนุญาตให้บุคคลหรือกลุ่มที่มีใบอนุญาต Education Plus ดำเนินการต่อไปนี้ได้
ดูข้อมูลวิเคราะห์ของ Classroom เพื่อทําความเข้าใจข้อมูล เช่น งานที่ทําเสร็จแล้ว แนวโน้มคะแนน และการใช้งาน Classroom
เข้าถึงชั้นเรียนใน Classroom ชั่วคราวโดยไม่ต้องกำหนดครูร่วมสอนถาวร
คู่มือนี้จะอธิบายวิธีตั้งค่าฟีเจอร์เหล่านี้ในโดเมนโดยใช้ Google API
ทำงานอัตโนมัติในกระบวนการมอบหมายบทบาทที่กำหนดเอง
คู่มือนี้จะอธิบายวิธีทำตามขั้นตอนต่อไปนี้เพื่อทำให้กระบวนการมอบหมายบทบาทที่กำหนดเองเป็นแบบอัตโนมัติ
- สร้างกลุ่มความปลอดภัยเพื่อจัดระเบียบผู้ใช้ที่มีสิทธิ์เข้าถึงฟีเจอร์เหล่านี้
- เพิ่มสมาชิกในกลุ่ม
- สร้างบทบาทผู้ดูแลระบบที่กำหนดเองโดยเลือกสิทธิ์ที่เหมาะสม
- เรียกดูรหัสหน่วยขององค์กร
- ใช้บทบาทของผู้ดูแลระบบที่กำหนดเองกับกลุ่มที่สร้างขึ้นใหม่
ข้อกำหนดเบื้องต้น
- อ่านคู่มือเริ่มใช้งานฉบับย่อเพื่อทำความเข้าใจวิธีตั้งค่าและเรียกใช้แอปพลิเคชันโดยใช้ Google API ในภาษาต่างๆ เช่น JavaScript, Python และ Java
- คุณต้องตั้งค่า Cloud Identity ก่อนจึงจะใช้ Cloud Identity API ที่อธิบายไว้ในคู่มือนี้ได้ API เหล่านี้ใช้ในการสร้างกลุ่มเพื่อมอบหมายสิทธิ์ของผู้ดูแลระบบ
- อ่านภาพรวมของ Groups 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"
}
]
}
เรียกใช้เมธอด privileges.list
เพื่อดึงข้อมูลรายการ privilegeIds
และ
serviceIds
คำตอบ
การตอบกลับจะมีอินสแตนซ์ใหม่ของบทบาท
ข้อมูลวิเคราะห์ของ 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
}
เรียกดูรหัสหน่วยขององค์กร
คุณจำกัดการเข้าถึงบทบาทผู้ดูแลระบบที่กำหนดเองให้กับหน่วยขององค์กรอย่างน้อย 1 หน่วยได้โดยใช้รหัสหน่วยขององค์กร ใช้ 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
ที่จะสร้าง คุณต้องส่งคำขอ 1 รายการต่อหน่วยขององค์กรที่ต้องการเชื่อมโยงกับกลุ่มนี้
{
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