Administrator dapat membuat peran administrator khusus di konsol Admin untuk mengizinkan individu atau grup tertentu yang memiliki lisensi Education Plus untuk:
Melihat analisis Classroom untuk memahami data seperti penyelesaian tugas, tren nilai, dan penggunaan Classroom.
Mengakses kelas di Classroom untuk mendukung pendidik, memposting pengumuman, dan lainnya, tanpa ditetapkan sebagai rekan pengajar permanen.
Panduan ini menjelaskan cara menyiapkan fitur ini di domain Anda menggunakan Google API.
Mengotomatiskan proses penetapan peran khusus
Untuk mengotomatiskan proses penetapan peran khusus:
- Buat grup keamanan untuk mengatur pengguna yang dapat mengakses fitur ini.
- Tambahkan anggota ke grup.
- Buat peran administrator khusus dengan memilih hak istimewa yang benar.
- Ambil ID unit organisasi.
- Terapkan peran administrator khusus ke grup yang baru dibuat.
Prasyarat
- Baca panduan Memulai untuk memahami cara menyiapkan dan menjalankan aplikasi menggunakan Google API dalam bahasa seperti JavaScript, Python, dan Java.
- Baca Ringkasan Groups API.
- Sebelum menggunakan salah satu Cloud Identity API yang dijelaskan dalam panduan ini, Anda harus menyiapkan Cloud Identity. API ini digunakan untuk membuat grup guna menetapkan hak istimewa administrator.
- Siapkan Groups API.
Membuat grup keamanan
Buat grup keamanan dengan metode.groups.create Grup dapat ditetapkan sebagai grup keamanan jika label keamanan disertakan dalam kolom labels permintaan. Untuk mengetahui informasi dan
batasan selengkapnya terkait pembuatan grup keamanan, lihat
panduan membuat grup keamanan.
POST https://cloudidentity.googleapis.com/v1/groups
Secara opsional, Anda dapat menyertakan InitialGroupConfig
parameter kueri untuk menginisialisasi pemilik grup:
POST https://cloudidentity.googleapis.com/v1/groups&initialGroupConfig={initialGroupConfig}
Akun yang membuat permintaan ini memerlukan salah satu cakupan berikut:
https://www.googleapis.com/auth/cloud-identity.groupshttps://www.googleapis.com/auth/cloud-identityhttps://www.googleapis.com/auth/cloud-platform
Isi permintaan
Isi permintaan berisi detail grup yang akan dibuat.
customerId harus dimulai dengan "C" (misalnya, C046psxkn).
Temukan ID pelanggan Anda.
{
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": ""
}
}
Respons
Respons berisi instance baru resource
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": ""
}
}
}
Menambahkan anggota grup
Setelah membuat grup, langkah berikutnya adalah menambahkan anggota. Anggota grup dapat berupa pengguna atau grup keamanan lainnya. Jika Anda menambahkan grup sebagai anggota grup lain, mungkin ada penundaan hingga 10 menit agar keanggotaan dapat diterapkan. Selain itu, API akan menampilkan error untuk siklus dalam keanggotaan grup. Misalnya, jika group1 adalah anggota group2, group2 tidak dapat menjadi anggota group1.
Untuk menambahkan anggota ke grup, gunakan permintaan POST berikut.
Directory API members.insert:
POST https://admin.googleapis.com/admin/directory/v1/groups/{groupKey}/members
Parameter jalur groupKey adalah alamat email grup anggota baru
atau ID unik grup.
Akun yang membuat permintaan POST memerlukan salah satu cakupan berikut:
https://apps-apis.google.com/a/feeds/groups/https://www.googleapis.com/auth/admin.directory.grouphttps://www.googleapis.com/auth/admin.directory.group.member
Isi permintaan
Isi permintaan berisi detail member
yang akan dibuat.
{
email: "person_one@example.com",
role: "MEMBER", // can be `MEMBER`, `OWNER`, `MANAGER`
}
Respons
Respons berisi instance baru anggota.
{
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"
}
Permintaan ini harus dibuat untuk setiap pengguna yang ingin Anda tambahkan sebagai anggota. Anda dapat menggabungkan permintaan ini untuk mengurangi jumlah koneksi HTTP yang harus dibuat klien Anda.
Membuat peran administrator khusus yang memiliki hak istimewa
Directory API memungkinkan Anda menggunakan kontrol akses berbasis peran (RBAC) untuk mengelola akses ke fitur di domain Google Workspace. Anda dapat membuat peran khusus dengan hak istimewa untuk membatasi akses administrator secara lebih spesifik daripada peran bawaan yang disediakan dengan Google Workspace. Anda dapat menetapkan peran kepada pengguna atau grup keamanan. Untuk mengetahui informasi lebih mendetail tentang batasan pembuatan peran, lihat batasan peran khusus dan penetapan peran.
Untuk membuat peran baru, gunakan permintaan POST berikut.
Directory API roles.insert:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roles
customerId sama dengan yang digunakan pada
langkah 1 panduan ini.
Akun yang membuat permintaan POST memerlukan cakupan berikut:
https://www.googleapis.com/auth/admin.directory.rolemanagement
Isi permintaan
Isi permintaan berisi detail role
yang akan dibuat. Tambahkan privilegeName dan serviceId untuk setiap hak istimewa yang harus diberikan dengan peran ini.
Analisis Classroom
Hak istimewa EDU_ANALYTICS_DATA_ACCESS diperlukan untuk membuat peran khusus yang dapat mengakses data analisis, bersama dengan serviceId yang ditetapkan ke 019c6y1840fzfkt.
{
roleName: "Education Admin", // customize as needed
roleDescription: "Access to view analytics data", // customize as needed
rolePrivileges: [
{
privilegeName: "EDU_ANALYTICS_DATA_ACCESS",
serviceId: "019c6y1840fzfkt"
}
]
}
Akses kelas sementara
Hak istimewa ADMIN_OVERSIGHT_MANAGE_CLASSES diperlukan untuk membuat peran khusus yang dapat mengakses kelas sementara, bersama dengan serviceId yang ditetapkan ke 019c6y1840fzfkt.
{
roleName: "Education Admin", // customize as needed
roleDescription: "Access to manage classes privilege", // customize as needed
rolePrivileges: [
{
privilegeName: "ADMIN_OVERSIGHT_MANAGE_CLASSES",
serviceId: "019c6y1840fzfkt"
}
]
}
Panggil metode privileges.list untuk mengambil daftar privilegeIds dan serviceIds.
Respons
Respons berisi instance baru peran.
Analisis 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
}
Akses kelas sementara
{
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
}
Mengambil ID unit organisasi
Anda dapat membatasi akses peran administrator khusus ke satu atau beberapa unit organisasi menggunakan ID unit organisasi. Gunakan
OrgUnit API untuk mengambil orgUnitId.
Analisis Classroom
Sebaiknya pilih unit organisasi siswa dan unit organisasi pengajar saat menetapkan peran administrator khusus ke pengguna atau grup tertentu. Dengan begitu, pengguna yang ditetapkan dengan hak istimewa administrator khusus dapat mengakses data tingkat siswa dan kelas untuk unit organisasi. Jika unit organisasi siswa dihilangkan, pengguna yang ditetapkan tidak akan memiliki akses ke data siswa. Jika unit organisasi pengajar dihilangkan, pengguna yang ditetapkan tidak akan memiliki akses ke data tingkat kelas.
Akses kelas sementara
Anda dapat membatasi hak istimewa akses kelas sementara dengan mengizinkan pengguna yang memiliki peran administrator khusus mengakses kelas di unit organisasi tertentu. Jika membatasi akses ke unit organisasi, grup yang ditetapkan dengan peran administrator khusus hanya dapat mengakses kelas yang pengajar utamanya berada di unit organisasi tersebut.
Menetapkan peran administrator khusus
Untuk menetapkan peran administrator khusus ke grup, gunakan permintaan POST berikut. Lihat panduan batasan peran khusus dan penetapan peran untuk mengetahui batas penetapan peran.
Directory API roleAssignments.insert:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roleassignments
Menetapkan ke grup atau pengguna tertentu
Jika menetapkan hak istimewa ke grup, sertakan groupId di kolom assignedTo dalam isi permintaan. groupId diperoleh pada langkah
Membuat grup keamanan. Jika menetapkan hak istimewa ke pengguna tertentu, sertakan ID pengguna di kolom assignedTo dalam isi permintaan. ID pengguna dapat diambil dengan memanggil
users.get dan menentukan email pengguna
sebagai parameter userKey atau dengan memanggil
users.list.
Akun yang membuat permintaan POST memerlukan cakupan berikut:
https://www.googleapis.com/auth/admin.directory.rolemanagement
Isi permintaan
Isi permintaan berisi detail
RoleAssignment yang akan dibuat. Anda harus membuat satu permintaan per unit organisasi yang ingin dikaitkan dengan grup ini.
{
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
}
Respons
Respons berisi instance baru
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>"
}
Resource
Informasi tambahan dapat ditemukan di:
- Ringkasan Directory API
- Autentikasi &otorisasi khusus Directory API
- Dokumentasi REST Directory API
- Dukungan Developer Admin SDK API