Azioni dell'amministratore

Gli amministratori di dominio hanno a disposizione diversi controlli per gestire le funzionalità e le applicazioni a cui gli utenti del proprio dominio possono accedere. Questa pagina descrive queste funzionalità, il loro possibile impatto o utilità per un'integrazione esterna e le richieste API pertinenti.

Gestire l'accesso alle 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 accedervi con il proprio account Google Workspace for Education.

Non è richiesto alcun intervento da parte degli sviluppatori che creano applicazioni per gli utenti di Google Workspace for Education minori di 18 anni. La configurazione delle app di terze parti può essere eseguita solo dagli amministratori nell'interfaccia utente della Console di amministrazione e non può essere eseguita tramite programmazione.

Designare ruoli amministrativi personalizzati per le funzionalità di Classroom

Gli amministratori possono creare ruoli di amministratore personalizzati nella Console di amministrazione per consentire a determinati individui o gruppi con una licenza Education Plus di:

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 spiega come completare i seguenti passaggi per automatizzare la procedura di assegnazione dei ruoli personalizzati:

  1. Crea gruppi di sicurezza per organizzare gli utenti che possono accedere a queste funzionalità.
  2. Aggiungere membri ai gruppi.
  3. Crea un ruolo amministrativo personalizzato selezionando il privilegio corretto.
  4. Recupera gli ID unità organizzative.
  5. Applica il ruolo amministrativo personalizzato ai gruppi appena creati.

Prerequisiti

  1. Leggi le guide rapide per capire come configurare ed eseguire un'applicazione che utilizza le API Google in linguaggi come JavaScript, Python e Java.
  2. Prima di utilizzare una delle API Cloud Identity descritte in questa guida, devi configurare Cloud Identity. Queste API vengono utilizzate per creare gruppi a cui assegnare i privilegi di amministratore.
  3. Leggi la panoramica dell'API Groups e configura l'API Groups se vuoi fornire l'accesso con ruolo personalizzato 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 alla 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 l'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

Dopo aver creato il gruppo, il passaggio successivo consiste nell'aggiungere i 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, potrebbe essere necessario attendere fino a 10 minuti prima che l'appartenenza venga propagata. Inoltre, l'API restituisce un errore per i cicli negli annunci in gruppo. 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 path 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 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 su ruoli (RBAC) per gestire l'accesso alle funzionalità nel tuo dominio Google Workspace. Puoi creare ruoli personalizzati con privilegi per limitare l'accesso amministrativo 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 dei ruoli personalizzati e delle assegnazioni 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

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 privilegeName e serviceId per ogni privilegio che deve essere concesso con questo ruolo.

Dati di Classroom

Il privilegio EDU_ANALYTICS_DATA_ACCESS è necessario per creare un ruolo personalizzato che possa accedere ai dati di analisi, insieme a 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

Il privilegio ADMIN_OVERSIGHT_MANAGE_CLASSES è necessario per creare un ruolo personalizzato che possa accedere temporaneamente ai corsi, insieme a 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 e analisi 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 amministrativo personalizzato a una o più unità organizzative utilizzando l'ID unità organizzativa. Usa l'API OrgUnit per recuperare orgUnitId.

Dati e analisi di Classroom

Ti consigliamo di selezionare un'unità organizzativa studente e un'unità organizzativa insegnante quando assegni il ruolo di amministratore personalizzato a un utente o gruppo specifico. In questo modo, gli utenti designati con il privilegio di amministratore personalizzato possono accedere ai dati a livello di studenti e di corso per le unità organizzative. Se l'unità organizzativa dello studente 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 corso.

Accesso temporaneo al corso

Puoi limitare i privilegi temporanei di accesso ai corsi consentendo agli utenti con il ruolo di amministratore personalizzato di accedere ai corsi di unità organizzative specifiche. Se limiti l'accesso a un'unità organizzativa, il gruppo a cui è stato assegnato il ruolo amministrativo personalizzato può accedere solo ai corsi in cui l'insegnante principale del corso si trova in quell'unità organizzativa.

Assegna il ruolo amministrativo personalizzato

Per assegnare il ruolo amministrativo personalizzato a un gruppo, utilizza la seguente richiesta POST. Per informazioni sui limiti relativi all'assegnazione dei ruoli, consulta le indicazioni relative alle limitazioni dei ruoli e delle assegnazioni dei ruoli personalizzati.

API Directory roleAssignments.insert:

POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roleassignments

Assegna a un gruppo o a un singolo utente

Se assegni il privilegio a un gruppo, includi groupId nel campo assignedTo nel corpo della richiesta. Il valore groupId è stato ottenuto nel passaggio Creare gruppi di sicurezza. Se assegni il privilegio a un singolo utente, includi l'ID utente 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 oppure 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 della RoleAssignment da creare. Devi effettuare una richiesta per ogni unità organizzativa da 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

Puoi trovare ulteriori informazioni qui: