Yöneticiler, Education Plus lisansına sahip belirli kişi veya grupların aşağıdakileri yapmasına izin vermek için Yönetici Konsolu'nda özel yönetici rolleri oluşturabilir:
Ödev tamamlama, not trendleri ve Classroom'un benimsenmesi gibi verileri anlamak için Classroom analizlerini görüntüleyin.
Kalıcı bir yardımcı öğretmen olarak atanmadan 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 kılavuzda, Google API'lerini kullanarak bu özelliklerin alanınızda nasıl ayarlanacağı açıklanmaktadır.
Özel rol atama işlemini 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 alın.
- Ö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 kurup çalıştıracağınızı öğrenmek için Hızlı Başlangıç kılavuzlarını okuyun.
- Groups API'ye Genel Bakış bölümünü okuyun.
- Bu kılavuzda açıklanan Cloud Identity API'lerinden herhangi birini kullanmadan önce Cloud Identity'yi kurmanız gerekir. Bu API'ler, yönetici ayrıcalıkları atamak amacıyla grup oluşturmak için kullanılır.
- Groups API'yi ayarlayın.
Güvenlik grupları oluşturma
groups.create
yöntemiyle güvenlik grubu oluşturun. İsteğin labels
alanına güvenlik etiketi eklendiğinde bir grup güvenlik grubu olarak ayarlanabilir. Güvenlik grupları oluşturmayla ilgili daha fazla bilgi ve sınırlamalar için güvenlik grupları 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 yapan hesap için aşağıdaki kapsamlardan biri gereklidir:
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 metni, 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ıt, Operation
kaynağının yeni bir örneğini içerir.
{
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 üyeleri eklemektir. Bir grup üyesi, bir kullanıcı veya başka bir güvenlik grubu olabilir. Bir grubu başka bir grubun üyesi olarak eklerseniz üyeliğin yayılmasında 10 dakikaya varan bir gecikme olabilir. 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.
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ğini yapan hesap için aşağıdaki kapsamlardan biri 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 gövdesi, oluşturulacak member
ayrıntılarını içerir.
{
email: "person_one@example.com",
role: "MEMBER", // can be `MEMBER`, `OWNER`, `MANAGER`
}
Yanıt
Yanıt, üyenin yeni örneğini içerir.
{
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 isteğin, üye olarak eklemek istediğiniz her kullanıcı için yapılması gerekir. İstemcinizin kurması gereken HTTP bağlantısı sayısını azaltmak için bu istekleri toplu hale getirebilirsiniz.
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 denetimi (RBAC) kullanmanıza olanak tanır. Yönetici erişimini, Google Workspace ile sağlanan önceden oluşturulmuş rollere kıyasla daha özel bir şekilde sınırlandırmak için ayrıcalıklara sahip özel roller oluşturabilirsiniz. Kullanıcılara veya güvenlik gruplarına rol atayabilirsiniz. Rol oluşturma sınırlamaları hakkında daha ayrıntılı bilgi için özel rol ve rol ataması sınırlamaları bölümüne bakın.
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ğini yapan hesap için aşağıdaki kapsam gerekir:
https://www.googleapis.com/auth/admin.directory.rolemanagement
İstek içeriği
İstek gövdesi, oluşturulacak role
ayrıntılarını 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ığı, 019c6y1840fzfkt
olarak ayarlanmış serviceId
ile birlikte 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
serviceId
ve 019c6y1840fzfkt
olarak ayarlanmış şekilde sınıflara geçici olarak erişebilen özel bir rol oluşturmak için ADMIN_OVERSIGHT_MANAGE_CLASSES
ayrıcalığı gereklidir.
{
roleName: "Education Admin", // customize as needed
roleDescription: "Access to manage classes privilege", // customize as needed
rolePrivileges: [
{
privilegeName: "ADMIN_OVERSIGHT_MANAGE_CLASSES",
serviceId: "019c6y1840fzfkt"
}
]
}
privilegeIds
ve serviceIds
listesini almak için privileges.list
yöntemini çağırın.
Yanıt
Yanıt, rolün yeni örneğini içerir.
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ırlandırabilirsiniz. orgUnitId
öğesini almak için OrgUnit API'yi kullanın.
Classroom analizleri
Belirli bir kullanıcıya veya gruba özel yönetici rolünü atarken bir öğrenci kuruluş birimi ve öğretmen kuruluş birimi seçmeniz önerilir. Bu işlem, özel yönetici ayrıcalığıyla atanan kullanıcıların, kuruluş birimlerinin öğrenci ve sınıf düzeyindeki verilerine erişmesine izin verir. Öğrenci kuruluş birimi atlanırsa tanımlanmış kullanıcılar öğrenci verilerine erişemez. Öğretmen kuruluş birimi atlanırsa tanımlanan 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ılara belirli kuruluş birimlerindeki sınıflara erişim izni 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ü atanan grup, yalnızca sınıfın birincil öğretmeninin ilgili kuruluş biriminde olduğu sınıflara erişebilir.
Özel yönetici rolü atama
Bir gruba özel yönetici rolü atamak için aşağıdaki POST isteğini kullanın. Rol atama sınırları için özel rol ve rol ataması sınırlamaları rehberine bakın.
Directory API roleAssignments.insert
:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roleassignments
Gruba veya tek bir kullanıcıya atama
Bir gruba ayrıcalık atayorsanız istek gövdesindeki assignedTo
alanına groupId
değerini ekleyin. groupId
, Güvenlik grupları oluşturma adımında elde edilmiştir. 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ı kimliği, users.get
çağrısı yapılarak ve kullanıcının e-posta adresi userKey
parametresi olarak belirtilerek veya users.list
çağrısı yapılarak alınabilir.
POST isteğini yapan hesap için aşağıdaki kapsam gerekir:
https://www.googleapis.com/auth/admin.directory.rolemanagement
İstek içeriği
İstek gövdesi, oluşturulacak RoleAssignment
ile ilgili ayrıntıları içerir. Bu grupla ilişkilendirmek istediğiniz her kuruluş birimi için bir istek göndermeniz 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ıt, RoleAssignment
öğesinin yeni örneğini içerir.
{
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
Ek bilgilere şu adresten ulaşabilirsiniz:
- Directory API'ye Genel Bakış
- Directory API'ye özel kimlik doğrulama ve yetkilendirme
- Directory API REST belgeleri
- Admin SDK API Geliştirici Desteği