Actions des administrateurs

Les administrateurs de domaine disposent de plusieurs commandes pour gérer les fonctionnalités et les applications auxquelles les utilisateurs de leur domaine peuvent accéder. Cette page décrit ces fonctionnalités, leur impact ou leur utilité pour une intégration externe, ainsi que les requêtes API pertinentes.

Gérer l'accès aux applications tierces pour les utilisateurs de moins de 18 ans

Les administrateurs doivent configurer les applications tierces dans la console d'administration Google pour les utilisateurs de moins de 18 ans. Si un administrateur n'a pas configuré une application, les utilisateurs de moins de 18 ans ne pourront pas y accéder avec leur compte Google Workspace for Education.

Aucune action n'est requise de la part des développeurs qui créent des applications pour les utilisateurs Google Workspace for Education de moins de 18 ans. La configuration des applications tierces ne peut être effectuée que par les administrateurs dans l'interface utilisateur de la console d'administration. Elle ne peut pas être effectuée de manière programmatique.

Désigner des rôles d'administrateur personnalisés pour les fonctionnalités Classroom

Les administrateurs peuvent créer des rôles d'administrateur personnalisés dans la console d'administration pour autoriser certains utilisateurs ou groupes disposant d'une licence Education Plus à:

Ce guide explique comment configurer ces fonctionnalités dans votre domaine à l'aide des API Google.

Automatiser le processus d'attribution de rôles personnalisés

Ce guide vous explique comment effectuer les étapes suivantes pour automatiser le processus d'attribution de rôles personnalisés:

  1. Créez des groupes de sécurité pour organiser les utilisateurs autorisés à accéder à ces fonctionnalités.
  2. Ajoutez des membres aux groupes.
  3. Créez un rôle d'administrateur personnalisé en sélectionnant le droit approprié.
  4. Récupérez les ID des unités organisationnelles.
  5. Appliquez le rôle d'administrateur personnalisé aux groupes nouvellement créés.

Prérequis

  1. Consultez les guides de démarrage rapide pour découvrir comment configurer et exécuter une application à l'aide des API Google dans des langages tels que JavaScript, Python et Java.
  2. Avant d'utiliser l'une des API Cloud Identity décrites dans ce guide, vous devez configurer Cloud Identity. Ces API permettent de créer des groupes pour attribuer des droits d'administrateur.
  3. Consultez la présentation de l'API Groups et configurez l'API Groups si vous souhaitez accorder un accès à un rôle personnalisé à un groupe d'utilisateurs plutôt qu'à un utilisateur individuel.

Créer des groupes de sécurité

Créez un groupe de sécurité à l'aide de la méthode groups.create. Un groupe peut être défini comme un groupe de sécurité lorsque le libellé de sécurité est inclus dans le champ labels de la requête. Pour en savoir plus et connaître les limites de la création de groupes de sécurité, consultez le guide Créer des groupes de sécurité.

POST https://cloudidentity.googleapis.com/v1/groups

Vous pouvez également inclure le paramètre de requête InitialGroupConfig pour initialiser le propriétaire du groupe:

POST https://cloudidentity.googleapis.com/v1/groups&initialGroupConfig={initialGroupConfig}

Le compte à l'origine de cette requête nécessite l'un des champs d'application suivants:

  • https://www.googleapis.com/auth/cloud-identity.groups
  • https://www.googleapis.com/auth/cloud-identity
  • https://www.googleapis.com/auth/cloud-platform

Corps de la requête

Le corps de la requête contient des informations sur le groupe à créer. customerId doit commencer par "C" (par exemple, C046psxkn). Trouvez votre ID client.

{
   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": ""
   }
}

Réponse

La réponse contient une nouvelle instance de la ressource 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": ""
      }
   }
}

Ajouter des membres au groupe

Une fois le groupe créé, l'étape suivante consiste à y ajouter des membres. Un membre de groupe peut être un utilisateur ou un autre groupe de sécurité. Si vous ajoutez un groupe en tant que membre d'un autre groupe, l'appartenance peut prendre jusqu'à 10 minutes à se propager. En outre, l'API renvoie une erreur pour les cycles dans les appartenances aux groupes. Par exemple, si group1 est membre de group2, group2 ne peut pas être membre de group1.

Pour ajouter un membre à un groupe, utilisez la requête POST suivante à la méthode members.insert de l'API Directory:

POST https://admin.googleapis.com/admin/directory/v1/groups/{groupKey}/members

Le paramètre de chemin groupKey correspond à l'adresse e-mail du groupe du nouveau membre ou à son ID unique.

Le compte qui envoie la requête POST nécessite l'un des champs d'application suivants:

  • 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

Corps de la requête

Le corps de la requête contient des informations sur l'member à créer.

{
   email: "person_one@example.com",
   role: "MEMBER", // can be `MEMBER`, `OWNER`, `MANAGER`
}

Réponse

La réponse contient la nouvelle instance du membre.

{
   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"
}

Vous devez envoyer cette requête pour chaque utilisateur que vous souhaitez ajouter en tant que membre. Vous pouvez traiter par lot ces requêtes pour réduire le nombre de connexions HTTP que votre client doit établir.

Créer un rôle d'administrateur personnalisé privilégié

L'API Directory vous permet d'utiliser le contrôle des accès basé sur les rôles (RBAC) pour gérer l'accès aux fonctionnalités de votre domaine Google Workspace. Vous pouvez créer des rôles personnalisés disposant de droits pour limiter l'accès des administrateurs plus précisément que les rôles prédéfinis fournis avec Google Workspace. Vous pouvez attribuer des rôles à des utilisateurs ou à des groupes de sécurité. Pour en savoir plus sur les limites de la création de rôles, consultez les limites des rôles personnalisés et de l'attribution de rôles.

Pour créer un rôle, utilisez la requête POST suivante à la méthode roles.insert de l'API Directory:

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

customerId est identique à celui utilisé à l'étape 1 de ce guide.

Le compte qui envoie la requête POST doit disposer de l'étendue suivante:

  • https://www.googleapis.com/auth/admin.directory.rolemanagement

Corps de la requête

Le corps de la requête contient des informations sur l'role à créer. Ajoutez un privilegeName et un serviceId pour chaque privilège qui doit être accordé avec ce rôle.

Données analytiques Classroom

Le privilège EDU_ANALYTICS_DATA_ACCESS est requis pour créer un rôle personnalisé pouvant accéder aux données analytiques, ainsi que le serviceId défini sur 019c6y1840fzfkt.

{
  roleName: "Education Admin", // customize as needed
  roleDescription: "Access to view analytics data", // customize as needed
  rolePrivileges: [
     {
        privilegeName: "EDU_ANALYTICS_DATA_ACCESS",
        serviceId: "019c6y1840fzfkt"
     }
  ]
}

Accès temporaire aux cours

Le privilège ADMIN_OVERSIGHT_MANAGE_CLASSES est requis pour créer un rôle personnalisé pouvant accéder temporairement aux cours, ainsi que le serviceId défini sur 019c6y1840fzfkt.

{
  roleName: "Education Admin", // customize as needed
  roleDescription: "Access to manage classes privilege", // customize as needed
  rolePrivileges: [
     {
        privilegeName: "ADMIN_OVERSIGHT_MANAGE_CLASSES",
        serviceId: "019c6y1840fzfkt"
     }
  ]
}

Appelez la méthode privileges.list pour récupérer une liste de privilegeIds et serviceIds.

Réponse

La réponse contient la nouvelle instance du rôle.

Données analytiques 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
}

Accès temporaire aux cours

{
  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
}

Récupérer les ID d'unité organisationnelle

Vous pouvez limiter l'accès du rôle d'administrateur personnalisé à une ou plusieurs unités organisationnelles à l'aide de l'ID de l'unité organisationnelle. Utilisez l'API OrgUnit pour récupérer le orgUnitId.

Données analytiques Classroom

Nous vous recommandons de sélectionner une unité organisationnelle pour les élèves et une unité organisationnelle pour les enseignants lorsque vous attribuez le rôle d'administrateur personnalisé à un utilisateur ou à un groupe spécifique. Les utilisateurs désignés avec l'autorisation d'administrateur personnalisé peuvent ainsi accéder aux données au niveau des élèves et des cours pour les unités organisationnelles. Si l'unité organisationnelle de l'élève est omise, les utilisateurs désignés n'auront pas accès aux données de l'élève. Si l'unité organisationnelle de l'enseignant est omise, les utilisateurs désignés n'auront pas accès aux données au niveau de la classe.

Accès temporaire aux cours

Vous pouvez limiter les droits d'accès temporaires aux cours en autorisant les utilisateurs disposant du rôle d'administrateur personnalisé à accéder aux cours d'unités organisationnelles spécifiques. Si vous limitez l'accès à une unité organisationnelle, le groupe auquel vous avez attribué le rôle d'administrateur personnalisé ne peut accéder qu'aux cours dont l'enseignant principal fait partie de cette unité.

Attribuer le rôle d'administrateur personnalisé

Pour attribuer le rôle d'administrateur personnalisé à un groupe, utilisez la requête POST suivante. Pour connaître les limites d'attribution de rôle, consultez les limites concernant les rôles personnalisés et l'attribution de rôles.

API Directory roleAssignments.insert:

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

Attribuer à un groupe ou à un utilisateur individuel

Si vous attribuez le privilège à un groupe, incluez groupId dans le champ assignedTo du corps de la requête. Le groupId a été obtenu à l'étape Créer des groupes de sécurité. Si vous attribuez le privilège à un utilisateur individuel, incluez son ID dans le champ assignedTo du corps de la requête. Vous pouvez récupérer l'ID de l'utilisateur en appelant users.get et en spécifiant son adresse e-mail comme paramètre userKey, ou en appelant users.list.

Le compte qui envoie la requête POST doit disposer de l'étendue suivante:

  • https://www.googleapis.com/auth/admin.directory.rolemanagement

Corps de la requête

Le corps de la requête contient des informations sur l'RoleAssignment à créer. Vous devez envoyer une demande par unité organisationnelle que vous souhaitez associer à ce groupe.

{
   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
}

Réponse

La réponse contient la nouvelle instance de 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>"
}

Ressources

Pour en savoir plus: