Yöneticiler, Yönetici Konsolu'nda özel yönetici rolleri oluşturarak Education Plus lisansı olan belirli kişilerin veya grupların şunları yapmasına izin verebilir:
Ödev tamamlama, not trendleri ve Classroom'un benimsenme oranı gibi verileri anlamak için Classroom analizlerini görüntüleyin.
Eğitimcileri desteklemek, duyuru yayınlamak ve daha birçok işlem için Classroom'daki sınıflara geçici olarak erişin. Bu erişim için kalıcı yardımcı öğretmen olarak atanmanız gerekmez.
Bu kılavuzda, Google API'lerini kullanarak bu özellikleri alanınızda nasıl ayarlayacağınız açıklanmaktadır.
Özel rol atama sürecini otomatikleştirme
Özel rol atama sürecini otomatikleştirmek için:
- Bu özelliklere erişebilen kullanıcıları düzenlemek için güvenlik grupları oluşturun.
- Gruplara üye ekleyin.
- Doğru ayrıcalığı seçerek özel bir yönetici rolü oluşturun.
- Kuruluş birimi kimliklerini alma
- Özel yönetici rolünü yeni oluşturulan gruplara uygulayın.
Ön koşullar
- JavaScript, Python ve Java gibi dillerde Google API'lerini kullanarak bir uygulamayı nasıl ayarlayıp çalıştıracağınızı anlamak için Hızlı Başlangıç Kılavuzları'nı okuyun.
- Groups API'ye Genel Bakış başlıklı makaleyi okuyun.
- Bu kılavuzda açıklanan Cloud Identity API'lerinden herhangi birini kullanmadan önce Cloud Identity'yi ayarlamanız gerekir. Bu API'ler, yönetici ayrıcalıkları atamak için gruplar oluşturmak üzere kullanılır.
- Groups API'yi ayarlayın.
Güvenlik grupları oluşturma
groups.create
yöntemini kullanarak güvenlik grubu oluşturun. Güvenlik etiketi, isteğin labels
alanına dahil edildiğinde bir grup güvenlik grubu olarak ayarlanabilir. Güvenlik grubu oluşturmayla ilgili daha fazla bilgi ve sınırlamalar için Güvenlik grubu oluşturma kılavuzuna bakın.
POST https://cloudidentity.googleapis.com/v1/groups
İsteğe bağlı olarak, grup sahibini başlatmak için InitialGroupConfig
sorgu parametresini ekleyebilirsiniz:
POST https://cloudidentity.googleapis.com/v1/groups&initialGroupConfig={initialGroupConfig}
Bu isteği gönderen hesabın aşağıdaki kapsamlarından birine sahip olması gerekir:
https://www.googleapis.com/auth/cloud-identity.groups
https://www.googleapis.com/auth/cloud-identity
https://www.googleapis.com/auth/cloud-platform
İstek içeriği
İstek gövdesi, oluşturulacak grubun ayrıntılarını içerir. customerId
, "C" ile başlamalıdır (örneğin, C046psxkn
).
Müşteri kimliğinizi bulun.
{
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": ""
}
}
Yanıt
Yanıtta Operation
kaynağının yeni bir örneği yer alıyor.
{
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": ""
}
}
}
Grup üyeleri ekleme
Grubu oluşturduktan sonraki adım, üye eklemektir. Grup üyeleri kullanıcı veya başka bir güvenlik grubu olabilir. Bir grubu başka bir gruba üye olarak eklerseniz üyeliğin yayılması 10 dakikayı bulabilir. Ayrıca API, grup üyeliklerindeki döngüler için hata döndürür. Örneğin, group1
, group2
grubunun üyesiyse group2
, group1
grubunun üyesi olamaz.
Bir gruba üye eklemek için aşağıdaki POST isteğini kullanın.
Directory API members.insert
:
POST https://admin.googleapis.com/admin/directory/v1/groups/{groupKey}/members
groupKey
yol parametresi, yeni üyenin grup e-posta adresi veya grubun benzersiz kimliğidir.
POST isteğinde bulunan hesabın aşağıdaki kapsamlarından birine sahip olması gerekir:
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
İstek içeriği
İstek metni, oluşturulacak member
ile ilgili ayrıntıları içerir.
{
email: "person_one@example.com",
role: "MEMBER", // can be `MEMBER`, `OWNER`, `MANAGER`
}
Yanıt
Yanıtta üyenin yeni örneği yer alır.
{
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"
}
Bu istek, üye olarak eklemek istediğiniz her kullanıcı için ayrı ayrı yapılmalıdır. İstemcinizin kurması gereken HTTP bağlantılarının sayısını azaltmak için bu istekleri toplu olarak gönderebilirsiniz.
Ayrıcalıklı özel yönetici rolü oluşturma
Directory API, Google Workspace alanınızdaki özelliklere erişimi yönetmek için rol tabanlı erişim denetimini (RBAC) kullanmanıza olanak tanır. Google Workspace ile birlikte sunulan önceden oluşturulmuş rollerden daha ayrıntılı bir şekilde yönetici erişimini sınırlamak için ayrıcalıklar içeren özel roller oluşturabilirsiniz. Kullanıcılara veya güvenlik gruplarına rol atayabilirsiniz. Rol oluşturmayla ilgili sınırlamalar hakkında daha ayrıntılı bilgi için özel rol ve rol atama sınırlamaları başlıklı makaleyi inceleyin.
Yeni bir rol oluşturmak için aşağıdaki POST isteğini kullanın.
Directory API roles.insert
:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roles
customerId
, bu kılavuzun 1. adımında kullanılanla aynıdır.
POST isteğinde bulunan hesabın aşağıdaki kapsama sahip olması gerekir:
https://www.googleapis.com/auth/admin.directory.rolemanagement
İstek içeriği
İstek metni, oluşturulacak role
ile ilgili ayrıntıları içerir. Bu rolle verilmesi gereken her ayrıcalık için bir privilegeName
ve serviceId
ekleyin.
Classroom analizleri
EDU_ANALYTICS_DATA_ACCESS
ayrıcalığı, serviceId
ile birlikte 019c6y1840fzfkt
olarak ayarlanmış analiz verilerine erişebilen özel bir rol oluşturmak için gereklidir.
{
roleName: "Education Admin", // customize as needed
roleDescription: "Access to view analytics data", // customize as needed
rolePrivileges: [
{
privilegeName: "EDU_ANALYTICS_DATA_ACCESS",
serviceId: "019c6y1840fzfkt"
}
]
}
Geçici sınıf erişimi
Sınıflara geçici olarak erişebilen özel bir rol oluşturmak için ADMIN_OVERSIGHT_MANAGE_CLASSES
ayrıcalığı ve serviceId
ayarının 019c6y1840fzfkt
olarak ayarlanması gerekir.
{
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
yöntemini çağırarak privilegeIds
ve serviceIds
listesini alın.
Yanıt
Yanıtta rolün yeni örneği yer alır.
Classroom analizleri
{
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
}
Geçici sınıf erişimi
{
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
}
Kuruluş birimi kimliklerini alma
Kuruluş birimi kimliğini kullanarak özel yönetici rolünün erişimini bir veya daha fazla kuruluş birimiyle sınırlayabilirsiniz. orgUnitId
almak için OrgUnit API'yi kullanın.
Classroom analizleri
Özel yönetici rolünü belirli bir kullanıcıya veya gruba atarken bir öğrenci kuruluş birimi ve öğretmen kuruluş birimi seçmeniz önerilir. Bu işlem, özel yönetici ayrıcalığı verilen kullanıcıların kuruluş birimlerindeki öğrenci ve sınıf düzeyindeki verilere erişmesine olanak tanır. Öğrenci kuruluş birimi atlanırsa belirtilen kullanıcılar öğrenci verilerine erişemez. Öğretmen kuruluş birimi atlanırsa belirtilen kullanıcılar sınıf düzeyindeki verilere erişemez.
Geçici sınıf erişimi
Özel yönetici rolüne sahip kullanıcıların belirli kuruluş birimlerindeki sınıflara erişmesine izin vererek geçici sınıf erişimi ayrıcalıklarını sınırlayabilirsiniz. Bir kuruluş birimine erişimi kısıtlıyorsanız özel yönetici rolü atanmış grup yalnızca sınıfın birincil öğretmeninin söz konusu kuruluş biriminde olduğu sınıflara erişebilir.
Özel yönetici rolünü atama
Özel yönetici rolünü bir gruba atamak için aşağıdaki POST isteğini kullanın. Rol atama sınırları için özel rol ve rol atama sınırlamaları kılavuzuna bakın.
Directory API roleAssignments.insert
:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roleassignments
Bir gruba veya tek bir kullanıcıya atama
Ayrıcalığı bir gruba atıyorsanız istek metnindeki assignedTo
alanına groupId
öğesini ekleyin. groupId
, Güvenlik grubu oluşturma adımında elde edildi. Ayrıcalığı tek bir kullanıcıya atıyorsanız istek gövdesindeki assignedTo
alanına kullanıcının kimliğini ekleyin. Kullanıcının kimliği, users.get
çağrılarak ve kullanıcının e-posta adresi userKey
parametresi olarak belirtilerek veya users.list
çağrılarak alınabilir.
POST isteğinde bulunan hesabın aşağıdaki kapsama sahip olması gerekir:
https://www.googleapis.com/auth/admin.directory.rolemanagement
İstek içeriği
İstek metni, oluşturulacak RoleAssignment
ile ilgili ayrıntıları içerir. Bu grupla ilişkilendirmek istediğiniz her kuruluş birimi için bir istekte bulunmanız gerekir.
{
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
}
Yanıt
Yanıtta RoleAssignment
öğesinin yeni örneği yer alır.
{
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>"
}
Kaynaklar
Daha fazla bilgi için:
- Directory API'ye Genel Bakış
- Directory API'ye özgü kimlik doğrulama ve yetkilendirme
- Directory API REST belgeleri
- Yönetici SDK'sı API'si Geliştirici Desteği