Gli amministratori di dominio dispongono di diversi controlli per gestire le funzionalità e le applicazioni a cui gli utenti del loro dominio possono accedere. Questa pagina descrive queste funzionalità, il modo in cui potrebbero influire o essere utili per un'integrazione esterna e le richieste API pertinenti.
Gestire l'accesso ad app di terze parti per gli utenti minori di 18 anni
Gli amministratori devono configurare le applicazioni di terze parti nella Console di amministrazione Google per gli utenti minori di 18 anni. Se un amministratore non ha configurato un'applicazione, gli utenti minori di 18 anni non potranno accedere a questa applicazione con il proprio account Google Workspace for Education.
Non è richiesta alcuna azione da parte degli sviluppatori che creano applicazioni per gli utenti di Google Workspace for Education minori di 18 anni. La configurazione di app di terze parti può essere eseguita solo dagli amministratori nell'interfaccia utente della Console di amministrazione e non può essere eseguita in modo programmatico.
Designare ruoli amministratore personalizzati per le funzionalità di Classroom
Gli amministratori possono creare ruoli amministrativi personalizzati nella Console di amministrazione per consentire a determinati individui o gruppi con una licenza Education Plus di:
Visualizza i dati di Classroom per comprendere dati quali il completamento dei compiti, l'andamento dei voti e l'adozione di Classroom.
Accedi temporaneamente ai corsi in Classroom senza assegnare un co-insegnante permanente.
Questa guida spiega come configurare queste funzionalità nel tuo dominio utilizzando le API di Google.
Automatizzare il processo di assegnazione dei ruoli personalizzati
Questa guida ti mostrerà come completare i seguenti passaggi per automatizzare il processo di assegnazione dei ruoli personalizzati:
- Crea gruppi di sicurezza per organizzare gli utenti che possono accedere a queste funzionalità.
- Aggiungi membri ai gruppi.
- Crea un ruolo amministrativo personalizzato selezionando il privilegio corretto.
- Recupera gli ID delle unità organizzative.
- Applica il ruolo amministrativo personalizzato ai gruppi appena creati.
Prerequisiti
- Leggi le guide rapide per capire come configurare ed eseguire un'applicazione utilizzando le API di Google in linguaggi come JavaScript, Python e Java.
- Prima di utilizzare una delle API Cloud Identity descritte in questa guida, devi configurare Cloud Identity. Queste API vengono utilizzate per creare gruppi per assegnare privilegi amministrativi.
- Leggi la Panoramica dell'API Groups e configura l'API Groups se vuoi fornire l'accesso con ruoli personalizzati a un gruppo di utenti anziché a un singolo utente.
Crea gruppi di sicurezza
Crea un gruppo di sicurezza con il metodo groups.create
. Un gruppo può essere impostato come
gruppo di sicurezza quando l'etichetta di sicurezza è inclusa nel campo labels
della
richiesta. Per ulteriori informazioni e limitazioni sulla creazione di gruppi di sicurezza,
consulta la guida Creazione di gruppi di sicurezza.
POST https://cloudidentity.googleapis.com/v1/groups
Se vuoi, puoi includere il parametro di query InitialGroupConfig
per
inizializzare il proprietario del gruppo:
POST https://cloudidentity.googleapis.com/v1/groups&initialGroupConfig={initialGroupConfig}
L'account che effettua questa richiesta richiede uno dei seguenti ambiti:
https://www.googleapis.com/auth/cloud-identity.groups
https://www.googleapis.com/auth/cloud-identity
https://www.googleapis.com/auth/cloud-platform
Corpo della richiesta
Il corpo della richiesta contiene i dettagli del gruppo da creare. customerId
deve iniziare con "C" (ad esempio, C046psxkn
). Trova il tuo ID cliente.
{
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": ""
}
}
Risposta
La risposta contiene una nuova istanza della risorsa 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": ""
}
}
}
Aggiungi membri del gruppo
Una volta creato il gruppo, il passaggio successivo consiste nell'aggiungere membri. Un membro del gruppo
può essere un utente o un altro gruppo di sicurezza. Se aggiungi un gruppo come membro di
un altro gruppo, la propagazione dell'appartenenza potrebbe richiedere fino a 10 minuti. Inoltre, l'API restituisce un errore per i cicli nelle appartenenze ai gruppi. Ad esempio, se group1
è un membro di group2
, group2
non può
essere un membro di group1
.
Per aggiungere un membro a un gruppo, utilizza la seguente richiesta POST al metodo
members.insert
dell'API Directory:
POST https://admin.googleapis.com/admin/directory/v1/groups/{groupKey}/members
Il parametro di percorso groupKey
è l'indirizzo email del gruppo del nuovo membro o l'ID univoco del gruppo.
L'account che effettua la richiesta POST richiede uno dei seguenti ambiti:
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
Corpo della richiesta
Il corpo della richiesta contiene i dettagli del member
da creare.
{
email: "person_one@example.com",
role: "MEMBER", // can be `MEMBER`, `OWNER`, `MANAGER`
}
Risposta
La risposta contiene la nuova istanza del membro.
{
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"
}
Questa richiesta deve essere effettuata per ogni utente che vuoi aggiungere come membro. Puoi raggruppare in batch queste richieste per ridurre il numero di connessioni HTTP che il tuo client deve effettuare.
Creare un ruolo amministrativo personalizzato con privilegi
L'API Directory ti consente di utilizzare il controllo degli accessi basato sui ruoli (RBAC) per gestire l'accesso alle funzionalità nel tuo dominio Google Workspace. Puoi creare ruoli personalizzati con privilegi per limitare l'accesso amministratore in modo più specifico rispetto ai ruoli predefiniti forniti con Google Workspace. Puoi assegnare ruoli a utenti o gruppi di sicurezza. Per informazioni più dettagliate sulle limitazioni della creazione dei ruoli, consulta le limitazioni relative ai ruoli personalizzati e all'assegnazione dei ruoli.
Per creare un nuovo ruolo, utilizza la seguente richiesta POST al metodo
roles.insert
dell'API Directory:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roles
Il customerId
è lo stesso utilizzato nel passaggio
1 di questa guida.
L'account che effettua la richiesta POST richiede il seguente ambito:
https://www.googleapis.com/auth/admin.directory.rolemanagement
Corpo della richiesta
Il corpo della richiesta contiene i dettagli del role
da creare. Aggiungi un
privilegeName
e un serviceId
per ogni privilegio da concedere con
questo ruolo.
Dati di Classroom
Per creare un ruolo personalizzato che possa accedere ai dati di analisi, è necessario il privilegio EDU_ANALYTICS_DATA_ACCESS
, insieme al set serviceId
impostato su 019c6y1840fzfkt
.
{
roleName: "Education Admin", // customize as needed
roleDescription: "Access to view analytics data", // customize as needed
rolePrivileges: [
{
privilegeName: "EDU_ANALYTICS_DATA_ACCESS",
serviceId: "019c6y1840fzfkt"
}
]
}
Accesso temporaneo al corso
È necessario il privilegio ADMIN_OVERSIGHT_MANAGE_CLASSES
per
creare un ruolo personalizzato che possa accedere temporaneamente alle classi, insieme al
serviceId
impostato su 019c6y1840fzfkt
.
{
roleName: "Education Admin", // customize as needed
roleDescription: "Access to manage classes privilege", // customize as needed
rolePrivileges: [
{
privilegeName: "ADMIN_OVERSIGHT_MANAGE_CLASSES",
serviceId: "019c6y1840fzfkt"
}
]
}
Chiama il metodo privileges.list
per recuperare un elenco di privilegeIds
e
serviceIds
.
Risposta
La risposta contiene la nuova istanza del ruolo.
Dati di 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
}
Accesso temporaneo al corso
{
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
}
Recuperare gli ID unità organizzative
Puoi limitare l'accesso del ruolo di amministratore personalizzato a una o più unità organizzative utilizzando l'ID unità organizzativa. Utilizza l'API OrgUnit per
recuperare orgUnitId
.
Dati di Classroom
Ti consigliamo di selezionare un'unità organizzativa degli studenti e un'unità organizzativa degli insegnanti quando assegni il ruolo di amministratore personalizzato a un utente o a un gruppo specifico. In questo modo, gli utenti designati con il privilegio di amministratore personalizzato possono accedere ai dati a livello di studente e corso per le unità organizzative. Se l'unità organizzativa degli studenti viene omessa, gli utenti designati non avranno accesso ai dati degli studenti. Se l'unità organizzativa dell'insegnante viene omessa, gli utenti designati non avranno accesso ai dati a livello di classe.
Accesso temporaneo al corso
Puoi limitare i privilegi di accesso temporaneo ai corsi consentendo agli utenti con il ruolo di amministratore personalizzato di accedere ai corsi in unità organizzative specifiche. Se limiti l'accesso a un'unità organizzativa, il gruppo a cui è stato assegnato il ruolo amministratore personalizzato può accedere solo ai corsi in cui l'insegnante principale del corso si trova in quell'unità organizzativa.
Assegnare il ruolo amministrativo personalizzato
Per assegnare il ruolo di amministratore personalizzato a un gruppo, utilizza la seguente richiesta POST. Consulta le indicazioni relative ai limiti per l'assegnazione dei ruoli e dei ruoli personalizzati per i limiti di assegnazione dei ruoli.
API Directory roleAssignments.insert
:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roleassignments
Assegnare a un gruppo o a un singolo utente
Se assegni il privilegio a un gruppo, includi groupId
nel campo assignedTo
del corpo della richiesta. groupId
è stato ottenuto nel passaggio Crea gruppi di
sicurezza. Se assegni il privilegio a un singolo utente, includi il suo ID nel campo assignedTo
nel corpo della richiesta. L'ID utente può essere recuperato chiamando users.get
e specificando
l'indirizzo email dell'utente come parametro userKey
o chiamando users.list
.
L'account che effettua la richiesta POST richiede il seguente ambito:
https://www.googleapis.com/auth/admin.directory.rolemanagement
Corpo della richiesta
Il corpo della richiesta contiene i dettagli del RoleAssignment
da creare. Devi
inviare una richiesta per ogni unità organizzativa che vuoi associare
a questo gruppo.
{
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
}
Risposta
La risposta contiene la nuova istanza di 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>"
}
Risorse
Per ulteriori informazioni, visita:
- Panoramica dell'API Directory
- Autenticazione e autorizzazione specifiche dell'API Directory
- Documentazione dell'API REST Directory
- Assistenza per gli sviluppatori di API Admin SDK