Administrator domain memiliki beberapa kontrol untuk mengelola fitur dan aplikasi yang dapat diakses pengguna di domain mereka. Halaman ini menjelaskan fitur-fitur tersebut, pengaruhnya, dan kegunaannya untuk integrasi eksternal, serta permintaan API yang relevan.
Mengelola akses ke aplikasi pihak ketiga untuk pengguna berusia di bawah 18 tahun
Administrator harus mengonfigurasi aplikasi pihak ketiga di konsol Google Admin untuk pengguna yang berusia di bawah 18 tahun. Jika administrator belum mengonfigurasi aplikasi, pengguna yang berusia di bawah 18 tahun tidak akan dapat mengakses aplikasi tersebut dengan akun Google Workspace for Education mereka.
Tidak ada tindakan yang perlu dilakukan oleh developer yang mem-build aplikasi untuk pengguna Google Workspace for Education yang berusia di bawah 18 tahun. Mengonfigurasi aplikasi pihak ketiga hanya dapat dilakukan oleh admin di UI konsol Admin dan tidak dapat dilakukan secara terprogram.
Menetapkan peran administrator kustom untuk fitur Classroom
Administrator dapat membuat peran administrator kustom di konsol Admin untuk mengizinkan individu atau grup tertentu dengan lisensi Education Plus untuk:
Lihat analisis Classroom untuk memahami data seperti penyelesaian tugas, tren nilai, dan penggunaan Classroom.
Mengakses kelas di Classroom untuk sementara tanpa menetapkan rekan pengajar permanen.
Panduan ini menjelaskan cara menyiapkan fitur ini di domain Anda menggunakan Google API.
Mengotomatiskan proses penetapan peran kustom
Panduan ini akan memberi tahu Anda cara menyelesaikan langkah-langkah berikut untuk mengotomatiskan proses penetapan peran kustom:
- 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.
- Mengambil ID unit organisasi.
- Terapkan peran administrator kustom 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.
- Sebelum menggunakan Cloud Identity API yang dijelaskan dalam panduan ini, Anda harus menyiapkan Cloud Identity. API ini digunakan untuk membuat grup guna menetapkan hak istimewa administrator.
- Baca Ringkasan Groups API dan siapkan Groups API jika Anda ingin memberikan akses peran kustom ke grup pengguna, bukan pengguna individu.
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 informasi selengkapnya dan batasan terkait pembuatan grup keamanan,
lihat panduan membuat grup keamanan.
POST https://cloudidentity.googleapis.com/v1/groups
Secara opsional, Anda dapat menyertakan parameter kueri InitialGroupConfig
untuk
melakukan inisialisasi 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.groups
https://www.googleapis.com/auth/cloud-identity
https://www.googleapis.com/auth/cloud-platform
Isi permintaan
Isi permintaan berisi detail grup yang akan dibuat. customerId
harus diawali 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": ""
}
}
}
Tambahkan anggota grup
Setelah membuat grup, langkah berikutnya adalah menambahkan anggota. Anggota grup
dapat berupa pengguna atau grup keamanan lain. Jika Anda menambahkan grup sebagai anggota grup lain, mungkin ada penundaan hingga 10 menit agar keanggotaan diterapkan. Selain itu, API 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 ke metode members.insert
Directory API:
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.group
https://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 ditambahkan sebagai anggota. Anda dapat mengelompokkan permintaan ini untuk mengurangi jumlah koneksi HTTP yang harus dibuat klien.
Membuat peran administrator kustom dengan 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 informasi yang lebih mendetail tentang batasan pembuatan peran, lihat batasan peran khusus dan penetapan peran.
Untuk membuat peran baru, gunakan permintaan POST berikut ke metode roles.insert
Directory API:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roles
customerId
sama dengan yang digunakan di langkah
1 dalam 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 kustom 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 class untuk sementara, beserta
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 peran baru.
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 kustom 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 kustom ke pengguna atau grup tertentu. Tindakan ini memungkinkan pengguna yang ditetapkan dengan hak istimewa administrator kustom 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 guru 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 akses peran administrator kustom ke kelas di unit organisasi tertentu. Jika membatasi akses ke unit organisasi, grup yang diberi peran administrator kustom hanya dapat mengakses kelas yang pengajar utamanya berada di unit organisasi tersebut.
Menetapkan peran administrator kustom
Untuk menetapkan peran administrator kustom 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 individual
Jika menetapkan hak istimewa ke grup, sertakan groupId
di kolom assignedTo
dalam isi permintaan. groupId
diperoleh pada langkah Buat grup keamanan. Jika menetapkan hak istimewa ke
setiap pengguna, sertakan ID pengguna di kolom assignedTo
dalam isi
permintaan. ID pengguna dapat diambil dengan memanggil users.get
dan menentukan alamat 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