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 potentiel 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.
Attribuer 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 certaines personnes ou certains groupes disposant d'une licence Education Plus à :
Consultez les données analytiques Classroom pour comprendre des données telles que l'avancement des devoirs, les tendances des notes et l'adoption de Classroom.
Accédez temporairement aux cours dans Classroom sans désigner de co-enseignant permanent.
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 :
- Créez des groupes de sécurité pour organiser les utilisateurs qui peuvent accéder à ces fonctionnalités.
- Ajoutez des membres aux groupes.
- Créez un rôle d'administrateur personnalisé en sélectionnant le droit approprié.
- Récupérez les ID des unités organisationnelles.
- Appliquez le rôle d'administrateur personnalisé aux groupes que vous venez de créer.
Prérequis
- Consultez les guides de démarrage rapide pour comprendre comment configurer et exécuter une application à l'aide des API Google dans des langages tels que JavaScript, Python et Java.
- 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.
- Consultez la présentation de l'API Groups et configurez l'API Groups si vous souhaitez fournir un accès personnalisé à un rôle à un groupe d'utilisateurs plutôt qu'à un utilisateur individuel.
Créer des groupes de sécurité
Créez un groupe de sécurité avec la méthode groups.create
. Un groupe peut être défini comme groupe de sécurité lorsque le libellé de sécurité est inclus dans le champ labels
de la requête. Pour en savoir plus sur la création de groupes de sécurité et les limites associées, 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 qui effectue cette demande 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
). Trouver votre numéro 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éé, vous devez y ajouter des membres. Un membre d'un 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, la propagation de l'appartenance peut prendre jusqu'à 10 minutes. De plus, 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 pour 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 d'accès groupKey
correspond à l'adresse e-mail du groupe du nouveau membre ou à l'ID unique du groupe.
Le compte qui envoie la requête POST doit disposer de 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 les détails de 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"
}
Cette demande doit être effectuée pour chaque utilisateur que vous souhaitez ajouter en tant que membre. Vous pouvez regrouper ces requêtes pour réduire le nombre de connexions HTTP que votre client doit effectuer.
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 avec des droits d'accès pour limiter l'accès des administrateurs de manière plus spécifique 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 pour la méthode roles.insert
de l'API Directory :
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roles
Le customerId
est le même que celui utilisé à l'étape 1 de ce guide.
Le compte qui effectue la requête POST nécessite le champ d'application suivant :
https://www.googleapis.com/auth/admin.directory.rolemanagement
Corps de la requête
Le corps de la requête contient les détails de l'role
à créer. Ajoutez un privilegeName
et un serviceId
pour chaque autorisation à accorder 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 paramètre 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é permettant d'accéder temporairement aux cours, avec le paramètre 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 de 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 des unités organisationnelles
Vous pouvez limiter l'accès du rôle d'administrateur personnalisé à une ou plusieurs unités organisationnelles à l'aide de l'ID d'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 disposant de ce droit 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 des élèves est omise, les utilisateurs désignés n'auront pas accès aux données des élèves. Si l'unité organisationnelle des enseignants est omise, les utilisateurs désignés n'auront pas accès aux données au niveau des cours.
Accès temporaire aux cours
Vous pouvez limiter les droits d'accès temporaire aux cours en autorisant les utilisateurs disposant du rôle d'administrateur personnalisé à accéder aux cours dans des unités organisationnelles spécifiques. Si vous limitez l'accès à une unité organisationnelle, le groupe auquel le rôle d'administrateur personnalisé est attribué ne peut accéder qu'aux cours dont l'enseignant principal fait partie de cette unité organisationnelle.
Attribuer le rôle d'administrateur personnalisé
Pour attribuer le rôle d'administrateur personnalisé à un groupe, utilisez la requête POST suivante. Consultez les conseils sur les limites d'attribution de rôle et de rôle personnalisé.
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 le 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 droit d'accès à un utilisateur individuel, incluez son ID dans le champ assignedTo
du corps de la requête. L'ID de l'utilisateur peut être récupéré en appelant users.get
et en spécifiant l'adresse e-mail de l'utilisateur comme paramètre userKey
, ou en appelant users.list
.
Le compte qui effectue la requête POST nécessite le champ d'application suivant :
https://www.googleapis.com/auth/admin.directory.rolemanagement
Corps de la requête
Le corps de la requête contient les détails de 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, consultez :
- Présentation de l'API Directory
- Authentification et autorisation spécifiques à l'API Directory
- Documentation de l'API Directory REST
- Assistance aux développeurs pour l'API SDK Admin