Thao tác của quản trị viên

Quản trị viên miền có một số chế độ kiểm soát để quản lý các tính năng và ứng dụng mà người dùng trong miền của họ có thể truy cập. Trang này mô tả các tính năng này, cách chúng có thể ảnh hưởng hoặc hữu ích cho một hoạt động tích hợp bên ngoài và các yêu cầu API có liên quan.

Quản lý quyền truy cập vào ứng dụng bên thứ ba đối với người dùng dưới 18 tuổi

Quản trị viên phải thiết lập các ứng dụng bên thứ ba trong Bảng điều khiển dành cho quản trị viên của Google cho người dùng dưới 18 tuổi. Nếu quản trị viên chưa định cấu hình một ứng dụng, thì người dùng dưới 18 tuổi sẽ không thể truy cập vào ứng dụng đó bằng tài khoản Google Workspace for Education của mình.

Nhà phát triển không cần làm gì cả khi xây dựng ứng dụng cho người dùng Google Workspace for Education dưới 18 tuổi. Quản trị viên chỉ có thể thiết lập ứng dụng bên thứ ba trong giao diện người dùng của Bảng điều khiển dành cho quản trị viên và không thể thiết lập theo cách lập trình.

Chỉ định vai trò quản trị viên tuỳ chỉnh cho các tính năng của Lớp học

Quản trị viên có thể tạo vai trò quản trị viên tuỳ chỉnh trong Bảng điều khiển dành cho quản trị viên để cho phép một số cá nhân hoặc nhóm có giấy phép Education Plus:

Hướng dẫn này giải thích cách thiết lập các tính năng này trong miền của bạn bằng cách sử dụng API của Google.

Tự động hoá quy trình chỉ định vai trò tuỳ chỉnh

Hướng dẫn này sẽ cho bạn biết cách hoàn tất các bước sau để tự động hoá quy trình chỉ định vai trò tuỳ chỉnh:

  1. Tạo nhóm bảo mật để sắp xếp những người dùng có thể truy cập vào các tính năng này.
  2. Thêm thành viên vào nhóm.
  3. Tạo vai trò quản trị viên tuỳ chỉnh bằng cách chọn đặc quyền phù hợp.
  4. Truy xuất mã nhận dạng đơn vị tổ chức.
  5. Áp dụng vai trò quản trị viên tuỳ chỉnh cho các nhóm mới tạo.

Điều kiện tiên quyết

  1. Đọc Hướng dẫn bắt đầu nhanh để hiểu cách thiết lập và chạy một ứng dụng bằng API của Google bằng các ngôn ngữ như JavaScript, Python và Java.
  2. Trước khi sử dụng bất kỳ API Cloud Identity nào được mô tả trong hướng dẫn này, bạn phải thiết lập Cloud Identity. Các API này được dùng để tạo nhóm nhằm chỉ định đặc quyền quản trị.
  3. Đọc Tổng quan về Groups APIthiết lập Groups API nếu bạn muốn cấp quyền truy cập theo vai trò tuỳ chỉnh cho một nhóm người dùng thay vì một người dùng riêng lẻ.

Tạo nhóm bảo mật

Tạo một nhóm bảo mật bằng phương thức groups.create. Bạn có thể đặt một nhóm làm nhóm bảo mật khi nhãn bảo mật có trong trường labels của yêu cầu. Để biết thêm thông tin và các hạn chế khi tạo nhóm bảo mật, hãy tham khảo hướng dẫn tạo nhóm bảo mật.

POST https://cloudidentity.googleapis.com/v1/groups

Bạn có thể thêm tham số truy vấn InitialGroupConfig (không bắt buộc) để khởi tạo chủ sở hữu nhóm:

POST https://cloudidentity.googleapis.com/v1/groups&initialGroupConfig={initialGroupConfig}

Tài khoản đưa ra yêu cầu này cần có một trong các phạm vi sau:

  • https://www.googleapis.com/auth/cloud-identity.groups
  • https://www.googleapis.com/auth/cloud-identity
  • https://www.googleapis.com/auth/cloud-platform

Nội dung yêu cầu

Nội dung yêu cầu chứa thông tin chi tiết về nhóm cần tạo. customerId phải bắt đầu bằng "C" (ví dụ: C046psxkn). Tìm mã khách hàng của bạn.

{
   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": ""
   }
}

Phản hồi

Phản hồi chứa một phiên bản mới của tài nguyên 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": ""
      }
   }
}

Thêm thành viên nhóm

Sau khi tạo nhóm, bước tiếp theo là thêm thành viên. Thành viên của nhóm có thể là người dùng hoặc một nhóm bảo mật khác. Nếu bạn thêm một nhóm làm thành viên của một nhóm khác, thì có thể sẽ mất tối đa 10 phút để tư cách thành viên được truyền tải. Ngoài ra, API này sẽ trả về lỗi cho các chu kỳ trong thành viên nhóm. Ví dụ: nếu group1 là thành viên của group2, thì group2 không thể là thành viên của group1.

Để thêm một thành viên vào nhóm, hãy sử dụng yêu cầu POST sau đây cho phương thức members.insert của Directory API:

POST https://admin.googleapis.com/admin/directory/v1/groups/{groupKey}/members

Tham số đường dẫn groupKey là địa chỉ email của nhóm thành viên mới hoặc mã nhận dạng duy nhất của nhóm.

Tài khoản thực hiện yêu cầu POST cần có một trong các phạm vi sau:

  • 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

Nội dung yêu cầu

Nội dung yêu cầu chứa thông tin chi tiết về member sẽ được tạo.

{
   email: "person_one@example.com",
   role: "MEMBER", // can be `MEMBER`, `OWNER`, `MANAGER`
}

Phản hồi

Phản hồi chứa phiên bản mới của thành viên.

{
   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"
}

Bạn cần gửi yêu cầu này cho từng người dùng mà bạn muốn thêm làm thành viên. Bạn có thể gộp hàng loạt các yêu cầu này để giảm số lượng kết nối HTTP mà ứng dụng của bạn phải thực hiện.

Tạo vai trò quản trị viên tuỳ chỉnh có đặc quyền

Directory API cho phép bạn sử dụng tính năng kiểm soát quyền truy cập dựa trên vai trò (RBAC) để quản lý quyền truy cập vào các tính năng trong miền Google Workspace của bạn. Bạn có thể tạo vai trò tuỳ chỉnh có đặc quyền để hạn chế quyền truy cập của quản trị viên một cách cụ thể hơn so với các vai trò được tạo sẵn trong Google Workspace. Bạn có thể chỉ định vai trò cho người dùng hoặc nhóm bảo mật. Để biết thêm thông tin chi tiết về các điểm hạn chế khi tạo vai trò, hãy tham khảo các điểm hạn chế đối với vai trò tuỳ chỉnh và việc chỉ định vai trò.

Để tạo một vai trò mới, hãy sử dụng yêu cầu POST sau đây cho phương thức roles.insert của Directory API:

POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roles

customerId giống với bước 1 trong hướng dẫn này.

Tài khoản thực hiện yêu cầu POST cần có phạm vi sau:

  • https://www.googleapis.com/auth/admin.directory.rolemanagement

Nội dung yêu cầu

Nội dung yêu cầu chứa thông tin chi tiết về role sẽ được tạo. Thêm privilegeNameserviceId cho mỗi đặc quyền cần được cấp cho vai trò này.

Số liệu phân tích Lớp học

Bạn cần có đặc quyền EDU_ANALYTICS_DATA_ACCESS để tạo một vai trò tuỳ chỉnh có thể truy cập vào dữ liệu phân tích, cùng với chế độ cài đặt serviceId thành 019c6y1840fzfkt.

{
  roleName: "Education Admin", // customize as needed
  roleDescription: "Access to view analytics data", // customize as needed
  rolePrivileges: [
     {
        privilegeName: "EDU_ANALYTICS_DATA_ACCESS",
        serviceId: "019c6y1840fzfkt"
     }
  ]
}

Quyền truy cập tạm thời vào lớp học

Bạn cần có đặc quyền ADMIN_OVERSIGHT_MANAGE_CLASSES để tạo một vai trò tuỳ chỉnh có thể tạm thời truy cập vào các lớp học, cùng với serviceId được đặt thành 019c6y1840fzfkt.

{
  roleName: "Education Admin", // customize as needed
  roleDescription: "Access to manage classes privilege", // customize as needed
  rolePrivileges: [
     {
        privilegeName: "ADMIN_OVERSIGHT_MANAGE_CLASSES",
        serviceId: "019c6y1840fzfkt"
     }
  ]
}

Gọi phương thức privileges.list để truy xuất danh sách privilegeIdsserviceIds.

Phản hồi

Phản hồi này chứa phiên bản mới của vai trò.

Số liệu phân tích Lớp học

{
  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
}

Quyền truy cập tạm thời vào lớp học

{
  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
}

Truy xuất mã nhận dạng đơn vị tổ chức

Bạn có thể giới hạn quyền truy cập của vai trò quản trị viên tuỳ chỉnh đối với một hoặc nhiều đơn vị tổ chức bằng cách sử dụng mã nhận dạng đơn vị tổ chức. Sử dụng OrgUnit API để truy xuất orgUnitId.

Số liệu phân tích Lớp học

Bạn nên chọn một đơn vị tổ chức của học viên đơn vị tổ chức của giáo viên khi chỉ định vai trò quản trị viên tuỳ chỉnh cho một người dùng hoặc nhóm cụ thể. Khi đó, những người dùng được chỉ định có đặc quyền quản trị tuỳ chỉnh sẽ có quyền truy cập vào dữ liệu ở cấp lớp học và học viên cho các đơn vị tổ chức. Nếu bạn bỏ qua đơn vị tổ chức của học viên, thì những người dùng được chỉ định sẽ không có quyền truy cập vào dữ liệu của học viên. Nếu bạn bỏ qua đơn vị tổ chức của giáo viên, thì những người dùng được chỉ định sẽ không có quyền truy cập vào dữ liệu ở cấp lớp học.

Quyền truy cập tạm thời vào lớp học

Bạn có thể hạn chế đặc quyền truy cập tạm thời vào lớp học bằng cách cho phép người dùng có vai trò quản trị viên tuỳ chỉnh truy cập vào các lớp học trong những đơn vị tổ chức cụ thể. Nếu hạn chế quyền truy cập vào một đơn vị tổ chức, thì nhóm được chỉ định vai trò quản trị viên tuỳ chỉnh chỉ có thể truy cập vào các lớp học mà giáo viên chính của lớp học đó thuộc đơn vị tổ chức đó.

Chỉ định vai trò quản trị viên tuỳ chỉnh

Để chỉ định vai trò quản trị viên tuỳ chỉnh cho một nhóm, hãy sử dụng yêu cầu POST sau. Tham khảo hướng dẫn về các giới hạn đối với vai trò tuỳ chỉnh và việc chỉ định vai trò để biết các giới hạn đối với việc chỉ định vai trò.

Directory API roleAssignments.insert:

POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roleassignments

Chỉ định cho một nhóm hoặc người dùng cá nhân

Nếu chỉ định đặc quyền cho một nhóm, hãy thêm groupId vào trường assignedTo trong nội dung yêu cầu. groupId được lấy trong bước Tạo nhóm bảo mật. Nếu chỉ định đặc quyền cho một người dùng riêng lẻ, hãy thêm mã nhận dạng của người dùng vào trường assignedTo trong nội dung yêu cầu. Bạn có thể truy xuất mã nhận dạng của người dùng bằng cách gọi users.get và chỉ định địa chỉ email của người dùng làm tham số userKey hoặc bằng cách gọi users.list.

Tài khoản thực hiện yêu cầu POST cần có phạm vi sau:

  • https://www.googleapis.com/auth/admin.directory.rolemanagement

Nội dung yêu cầu

Nội dung yêu cầu chứa thông tin chi tiết về RoleAssignment sẽ được tạo. Bạn phải gửi một yêu cầu cho mỗi đơn vị tổ chức mà bạn muốn liên kết với nhóm này.

{
   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
}

Phản hồi

Phản hồi chứa phiên bản mới của 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>"
}

Tài nguyên

Bạn có thể xem thêm thông tin tại: