Alan yöneticilerinin, alanlarındaki kullanıcıların erişebileceği özellikleri ve uygulamaları yönetmek için çeşitli denetimleri vardır. Bu sayfada bu özellikler, harici entegrasyonu nasıl etkileyebileceği veya bu entegrasyon için nasıl yararlı olabileceği ve ilgili API istekleri açıklanmaktadır.
18 yaşından küçük kullanıcılar için üçüncü taraf uygulamalarına erişimi yönetme
Yöneticiler, 18 yaşından küçük kullanıcılar için Google Yönetici konsolunda üçüncü taraf uygulamalarını yapılandırmalıdır. Bir uygulama yönetici tarafından yapılandırılmamışsa 18 yaşından küçük kullanıcılar Google Workspace for Education hesaplarıyla bu uygulamaya erişemez.
18 yaşından küçük Google Workspace for Education kullanıcıları için uygulama geliştiren geliştiricilerin herhangi bir işlem yapması gerekmez. Üçüncü taraf uygulamaları yalnızca Yönetici Konsolu kullanıcı arayüzünde yöneticiler tarafından yapılandırılabilir ve programatik olarak yapılandırılamaz.
Classroom özellikleri için özel yönetici rolleri atama
Yöneticiler, Yönetici Konsolu'nda Education Plus lisansına sahip belirli kullanıcıların veya grupların aşağıdakileri yapmasına izin vermek için ö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 atamadan Classroom'daki sınıflara geçici olarak erişebilirsiniz.
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
Bu kılavuzda, özel rol atama sürecini otomatikleştirmek için aşağıdaki adımları nasıl tamamlayacağınız açıklanmaktadır:
- Bu özelliklere erişebilen kullanıcıları organize etmek için güvenlik grupları oluşturun.
- Gruplara üye ekleme.
- 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 kurup çalıştıracağınızı anlamak için Hızlı başlangıç kılavuzlarını 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 grup oluşturmak amacıyla kullanılır.
- Bir kullanıcı yerine bir kullanıcı grubuna özel rol erişimi sağlamak istiyorsanız Groups API'ye Genel Bakış bölümünü okuyun ve Groups API'yi ayarlayın.
Güvenlik grupları oluşturma
groups.create
yöntemiyle bir güvenlik grubu oluşturun. Bir grup, isteğin labels
alanına güvenlik etiketi eklendiğinde güvenlik grubu olarak ayarlanabilir. Güvenlik grubu oluşturma hakkında daha fazla bilgi ve sınırlamalar için güvenlik grubu oluşturma kılavuzunu inceleyin.
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 hesabın aşağıdaki kapsamlardan 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ı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, üye eklemektir. Grup üyeleri kullanıcı veya başka bir güvenlik grubu olabilir. Bir grubu başka bir grubun üyesi olarak eklerseniz üyeliğin dağıtılması 10 dakika kadar sürebilir. Buna ek olarak, API, grup üyeliklerindeki döngüler için bir hata döndürür. Örneğin, group1
, group2
grubunun üyesiyse group2
, group1
grubunun üyesi olamaz.
Bir gruba üye eklemek için Directory API members.insert
yöntemine aşağıdaki POST isteğini gönderin:
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 gönderen hesabın aşağıdaki kapsamlardan 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ı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 istek, üye olarak eklemek istediğiniz her kullanıcı için gönderilmelidir. İ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. Yönetici erişimini Google Workspace'te sağlanan hazır rollerden daha ayrıntılı bir şekilde sınırlamak 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 atama sınırlamaları başlıklı makaleyi inceleyin.
Yeni bir rol oluşturmak için Directory API roles.insert
yöntemine aşağıdaki POST isteğini gönderin:
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ği gönderen hesabın aşağıdaki kapsama sahip olması 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 birlikte verilmesi gereken her ayrıcalık için bir privilegeName
ve serviceId
ekleyin.
Classroom analizleri
Analytics verilerine erişebilen özel bir rol oluşturmak için EDU_ANALYTICS_DATA_ACCESS
ayrıcalığı ve serviceId
'nin 019c6y1840fzfkt
olarak ayarlanması gerekir.
{
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
'nin 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"
}
]
}
privilegeIds
ve serviceIds
öğelerinin 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 bir veya daha fazla kuruluş birimine erişimini sınırlayabilirsiniz. orgUnitId
öğesini almak için OrgUnit API'yi kullanın.
Classroom analizleri
Özel yönetici rolünü belirli bir kullanıcıya veya gruba atarken öğrenci kuruluş birimi ve öğretmen kuruluş birimi seçmeniz önerilir. Bu sayede, özel yönetici ayrıcalığına sahip kullanıcılar kuruluş birimleri için öğrenci ve sınıf düzeyindeki verilere erişebilir. Öğrenci kuruluş birimi atlanırsa atanan kullanıcılar öğrenci verilerine erişemez. Öğretmen kuruluş birimi atlanmazsa 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ü atanan grup yalnızca birincil öğretmeni söz konusu kuruluş biriminde olan 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ı yönergelerine 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 ata
Ayrıcalığı bir gruba atıyorsanız istek gövdesindeki assignedTo
alanına groupId
özelliğini 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övdesinde assignedTo
alanına kullanıcının kimliğini ekleyin. Kullanıcının 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ği gönderen 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 kuruluş birimi başına 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
Daha fazla bilgiyi şu adreste bulabilirsiniz:
- Directory API'ye Genel Bakış
- Directory API'ye özgü kimlik doğrulama ve yetkilendirme
- Directory API REST belgeleri
- Yönetici SDK'sı API Geliştirici Desteği