การดำเนินการของผู้ดูแลระบบ

ผู้ดูแลระบบโดเมนมีสิทธิ์ควบคุมหลายอย่างเพื่อจัดการฟีเจอร์และแอปพลิเคชันที่ผู้ใช้ในโดเมนเข้าถึงได้ หน้านี้จะอธิบายฟีเจอร์เหล่านี้ วิธีที่ฟีเจอร์ อาจส่งผลกระทบหรือเป็นประโยชน์ต่อการผสานรวมภายนอก และคำขอ API ที่เกี่ยวข้อง

จัดการสิทธิ์เข้าถึงแอปของบุคคลที่สามสำหรับผู้ใช้ที่มีอายุต่ำกว่า 18 ปี

ผู้ดูแลระบบต้องกำหนดค่าแอปพลิเคชันของบุคคลที่สามในคอนโซลผู้ดูแลระบบของ Google สำหรับผู้ใช้ที่มีอายุต่ำกว่า 18 ปี หากผู้ดูแลระบบไม่ได้กำหนดค่าแอปพลิเคชัน ผู้ใช้ที่มีอายุต่ำกว่า 18 ปีจะเข้าถึงแอปพลิเคชันดังกล่าวด้วยบัญชี Google Workspace for Education ไม่ได้

นักพัฒนาแอปพลิเคชันสำหรับผู้ใช้ Google Workspace for Education ที่มีอายุต่ำกว่า 18 ปีไม่จำเป็นต้องดำเนินการใดๆ การกำหนดค่าแอปของบุคคลที่สามทำได้โดยผู้ดูแลระบบใน UI ของคอนโซลผู้ดูแลระบบเท่านั้น และไม่สามารถทำได้โดยใช้โปรแกรม

กำหนดบทบาทผู้ดูแลระบบที่กำหนดเองสำหรับฟีเจอร์ Classroom

ผู้ดูแลระบบสามารถสร้างบทบาทของผู้ดูแลระบบที่กำหนดเองในคอนโซลผู้ดูแลระบบเพื่ออนุญาตให้บุคคลหรือกลุ่มที่มีใบอนุญาต Education Plus ทำสิ่งต่อไปนี้ได้

คู่มือนี้อธิบายวิธีตั้งค่าฟีเจอร์เหล่านี้ในโดเมนโดยใช้ Google APIs

ทำให้กระบวนการมอบหมายบทบาทที่กำหนดเองเป็นแบบอัตโนมัติ

คู่มือนี้จะแจ้งให้คุณทราบวิธีทำตามขั้นตอนต่อไปนี้เพื่อทำให้กระบวนการกำหนดบทบาทที่กำหนดเองเป็นแบบอัตโนมัติ

  1. สร้างกลุ่มความปลอดภัยเพื่อจัดระเบียบผู้ใช้ที่เข้าถึงฟีเจอร์เหล่านี้ได้
  2. เพิ่มสมาชิกในกลุ่ม
  3. สร้างบทบาทผู้ดูแลระบบที่กำหนดเองโดยเลือกสิทธิ์ที่ถูกต้อง
  4. ดึงข้อมูลรหัสหน่วยขององค์กร
  5. ใช้บทบาทผู้ดูแลระบบที่กำหนดเองกับกลุ่มที่สร้างขึ้นใหม่

ข้อกำหนดเบื้องต้น

  1. อ่านคู่มือเริ่มใช้งานฉบับย่อเพื่อทำความเข้าใจวิธีตั้งค่าและเรียกใช้แอปพลิเคชันโดยใช้ Google API ในภาษาต่างๆ เช่น JavaScript, Python และ Java
  2. ก่อนที่จะใช้ Cloud Identity API ที่อธิบายไว้ในคู่มือนี้ คุณต้องตั้งค่า Cloud Identity API เหล่านี้ใช้เพื่อ สร้างกลุ่มเพื่อมอบสิทธิ์ของผู้ดูแลระบบ
  3. อ่านภาพรวมของ 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>"
}

แหล่งข้อมูล

ดูข้อมูลเพิ่มเติมได้ที่