Gérer les unités organisationnelles
L'arborescence d'un compte Google Workspace est composée d'unités organisationnelles qui vous permettent de gérer vos utilisateurs selon une structure logique et hiérarchique. Cette fonctionnalité est semblable à celle de l'onglet "Organisations et utilisateurs" de la console d'administration. La hiérarchie des unités organisationnelles du client est limitée à 35 niveaux de profondeur. Pour en savoir plus, consultez le Centre d'aide Administrateur.
- Un compte Google Workspace ne peut comporter qu'une seule arborescence organisationnelle. Lorsque ce compte est configuré initialement, il possède une unité organisationnelle au niveau du compte. Il s'agit de l'organisation associée au domaine principal. Pour en savoir plus sur le domaine principal, consultez l'article À propos des limites d'API.
- Le nom de chemin d'accès d'une unité organisationnelle est unique. Le nom de l'unité organisationnelle peut être unique dans la hiérarchie de l'organisation, mais son nom est unique parmi ses unités organisationnelles sœurs. De plus, le nom d'une unité organisationnelle n'est pas sensible à la casse.
- Une unité organisationnelle hérite des règles de la hiérarchie organisationnelle. N'importe quelle unité organisationnelle peut bloquer cette chaîne d'héritage parental en remplaçant la règle héritée. La priorité d'une règle sur une autre est déterminée par l'unité organisationnelle la plus proche.
Autrement dit, les règles d'une unité organisationnelle inférieure peuvent prévaloir sur celles des unités parentales de niveau supérieur.
Le paramètre
blockInheritance
permet d'hériter des paramètres de blocage pour une unité organisationnelle et ses sous-organisations. Abandon deblockInheritance
. La définir sur "true" n'est plus acceptée et peut avoir des conséquences inattendues. Pour plus d'informations sur l'héritage et les utilisateurs dans une structure organisationnelle, consultez le Centre d'aide pour l'administration. - Une unité organisationnelle peut être déplacée vers le haut ou vers le bas d'une arborescence hiérarchique. De plus, les utilisateurs associés à l'organisation peuvent être déplacés individuellement ou de façon groupée lors de l'ajout de membres à une nouvelle organisation ou du déplacement d'un sous-ensemble d'utilisateurs d'une unité organisationnelle à une autre.
- Les données conservées dans les propriétés des unités organisationnelles peuvent changer en permanence. Lorsque vous effectuez une requête, les propriétés renvoyées pour une entité sont sûres d'être cohérentes au moment de la récupération de l'entité.En d'autres termes, vous ne verrez pas de mises à jour "partielles". Si une opération de récupération renvoie plusieurs entités, il n'y a aucune garantie de cohérence entre les entités.Cela est particulièrement vrai lorsqu'une réponse couvre plusieurs pages dans la pagination.
Créer une unité organisationnelle
Pour créer une unité organisationnelle, utilisez la requête POST
suivante et incluez l'autorisation décrite dans la section Autoriser les requêtes.
Si vous êtes administrateur et que vous créez une unité organisationnelle, utilisez my_customer
.
POST https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits
Si vous créez une unité organisationnelle pour un client indirect en tant que revendeur, utilisez customerId
. Pour récupérer customerId
, utilisez l'opération Récupérer un utilisateur.
POST https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits
Pour comprendre la structure organisationnelle de votre compte, consultez le Centre d'aide Administrateur. Pour en savoir plus sur les propriétés des requêtes et des réponses, consultez la documentation de référence de l'API.
Requête JSON
Dans l'exemple suivant de revendeur JSON, le corps de la requête crée l'unité organisationnelle sales_support. Les champs name
et parentOrgUnitPath
sont obligatoires:
POST https://admin.googleapis.com/admin/directory/v1/customer/C03az79cb/orgunits
{ "name": "sales_support", "description": "The sales support team", "parentOrgUnitPath": "/corp/support", "blockInheritance": false }
Réponse JSON
Les appels réussis renvoient un code d'état HTTP 201. Avec le code d'état, la réponse renvoie les propriétés du nouveau groupe:
{ "kind": "directory#orgUnit", "name": "sales_support", "description": "The sales support team", "orgUnitPath": "/corp/support/sales_support", "parentOrgUnitPath": "/corp/support", "blockInheritance": false }
Mettre à jour une unité organisationnelle
Pour mettre à jour une unité organisationnelle, utilisez la requête PUT
suivante et incluez l'autorisation décrite dans la section Autoriser les requêtes. Pour en savoir plus sur les propriétés des requêtes et des réponses, consultez la documentation de référence de l'API:
Si vous êtes administrateur de la mise à jour d'une unité organisationnelle, utilisez my_customer
.
PUT https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/orgUnitPath
Si vous êtes un revendeur mettant à jour une unité organisationnelle pour un client indirect, utilisez customerId
. Pour obtenir le customerId
, utilisez l'opération Récupérer un utilisateur.
PUT https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath
Requête JSON
Dans l'exemple ci-dessous, la description de l'unité organisationnelle a été modifiée:
PUT https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/corp/support/sales_support
{ "description": "The BEST sales support team" }
Remarques concernant une demande de mise à jour:
- Il vous suffit d'envoyer les informations mises à jour dans votre demande. Il n'est pas nécessaire de saisir toutes les propriétés du groupe dans la demande.
- Si aucun utilisateur n'a été affecté à une unité organisationnelle spécifique lors de sa création, le compte se trouve dans l'unité organisationnelle racine.
- Vous pouvez déplacer une unité organisationnelle vers une autre partie de la structure organisationnelle de votre compte en définissant la propriété
parentOrgUnitPath
dans la demande. Il est important de noter que le déplacement d'une unité organisationnelle peut modifier les services et les paramètres des utilisateurs concernés.
Réponse JSON
Les appels réussis renvoient un code d'état HTTP 201. Avec le code d'état, la réponse renvoie les propriétés de l'unité organisationnelle mise à jour.
{ "kind": "directory#orgUnit", "name": "sales_support", "description": "The BEST sales support team", "orgUnitPath": "/corp/support/sales_support", "parentOrgUnitPath": "/corp/support", "blockInheritance": false }
Si aucun utilisateur n'a été affecté à une unité organisationnelle spécifique lors de sa création, le compte se trouve dans l'unité organisationnelle racine. L'unité organisationnelle d'un utilisateur détermine les services Google Workspace auxquels il a accès. Si l'utilisateur est déplacé vers une nouvelle organisation, ses droits d'accès sont modifiés. Pour en savoir plus sur les structures organisationnelles, consultez le Centre d'aide pour les administrateurs. Pour en savoir plus sur le déplacement d'un compte utilisateur vers une autre organisation, consultez Mettre à jour un compte utilisateur.
Récupérer une unité organisationnelle
Pour récupérer une unité organisationnelle, utilisez la requêteGET
suivante et incluez l'autorisation décrite dans la section Autoriser les requêtes. La chaîne de requête orgUnitPath
correspond au chemin d'accès complet de cette unité organisationnelle. Pour en savoir plus sur les propriétés des requêtes et des réponses, consultez la documentation de référence de l'API:
Si vous êtes administrateur et que vous récupérez une unité organisationnelle, utilisez my_customer
.
GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/orgUnitPath
Si, en tant que revendeur, vous récupérez une unité organisationnelle pour un client indirect, utilisez customerId
. Pour obtenir le customerId
, utilisez l'opération Récupérer un utilisateur.
GET https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath
Réponse JSON
Dans l'exemple ci-dessous, l'unité organisationnelle "Ventes de première ligne" est récupérée. Notez l'encodage HTTP "frontline+sales" dans l'URI de la requête:
GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/corp/sales/frontline+sales
Les appels réussis renvoient un code d'état HTTP 200. Avec le code d'état, la réponse renvoie les paramètres de l'unité organisationnelle :
{ "kind": "directory#orgUnit", "name": "frontline sales", "description": "The frontline sales team", "orgUnitPath": "/corp/sales/frontline sales", "parentOrgUnitPath": "/corp/sales", "blockInheritance": false }
Récupérer des unités organisationnelles
Pour récupérer toutes les sous-unités organisationnelles d'une unité organisationnelle, ses sous-unités organisationnelles immédiates, ou toutes les sous-unités organisationnelles et l'unité organisationnelle spécifiée, utilisez la requête GET
suivante et incluez l'autorisation décrite dans la section Autoriser les requêtes. Pour en savoir plus sur les propriétés des requêtes et des réponses, consultez la documentation de référence de l'API.
Si vous êtes administrateur de compte et que vous récupérez toutes les sous-unités organisationnelles, utilisez my_customer
. Pour une meilleure lisibilité, cet exemple utilise des retours à la ligne:
GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer /orgunits?orgUnitPath=full org unit path&type=all or children or all_including_parent
Si vous êtes un revendeur et que vous récupérez des unités organisationnelles pour un client indirect, utilisez customerId
. Pour obtenir le customerId
, utilisez l'opération Récupérer un utilisateur:
GET https://admin.googleapis.com/admin/directory/v1/customer/customerId /orgunits?orgUnitPath=full org unit path&type=all or children or all_including_parent
La chaîne de requête get
renvoie all
sous-unité organisationnelle sous orgUnitPath
, la children
immédiate de orgUnitPath
, ou toutes les sous-unités organisationnelles et le orgUnitPath
spécifié pour all_including_parent
. La valeur par défaut est type=children
.
Réponse JSON
Par exemple, cette requête renvoie toutes les unités organisationnelles à partir de l'unité organisationnelle /corp
:
GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits?orgUnitPath=/corp&type=all
Les appels réussis renvoient un code d'état HTTP 200. Avec le code d'état, la réponse renvoie les unités organisationnelles du compte:
{ "kind": "directory#orgUnits", "organizationUnits": [ { "kind": "directory#orgUnit", "name": "sales", "description": "The corporate sales team", "orgUnitPath": "/corp/sales", "parentOrgUnitPath": "/corp", "blockInheritance": false }, { "kind": "directory#orgUnit", "name": "frontline sales", "description": "The frontline sales team", "orgUnitPath": "/corp/sales/frontline sales", "parentOrgUnitPath": "/corp/sales", "blockInheritance": false }, { "kind": "directory#orgUnit", "name": "support", "description": "The corporate support team", "orgUnitPath": "/corp/support", "parentOrgUnitPath": "/corp", "blockInheritance": false }, { "kind": "directory#orgUnit", "name": "sales_support", "description": "The BEST support team", "orgUnitPath": "/corp/support/sales_support", "parentOrgUnitPath": "/corp/support", "blockInheritance": false } ] }
Supprimer une unité organisationnelle
Pour supprimer une unité organisationnelle, utilisez la requête DELETE
suivante et incluez l'autorisation décrite dans la section Autoriser les requêtes. Pour récupérer customerId
, utilisez l'opération Récupérer un utilisateur. Pour en savoir plus sur les propriétés des requêtes et des réponses, consultez la documentation de référence de l'API:
Si vous êtes administrateur de compte et que vous supprimez une unité organisationnelle, utilisez my_customer
.
DELETE https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/orgUnitPath
Si vous êtes un revendeur et que vous supprimez une unité organisationnelle pour un client indirect, utilisez customerId
. Pour obtenir le customerId
, utilisez l'opération Récupérer un utilisateur.
DELETE https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPathPar exemple, la requête
DELETE
de cet administrateur revendeur supprime l'unité organisationnelle "backend_tests" :
DELETE https://admin.googleapis.com/admin/directory/v1/customer/C03az79cb/orgunits/corp/sales/backend_tests
Les appels réussis renvoient un code d'état HTTP 200.
Vous ne pouvez supprimer que des unités organisationnelles qui ne sont associées à aucune unité organisationnelle enfant, ni à aucun utilisateur. Vous devez réaffecter les utilisateurs à d'autres unités organisationnelles et supprimer toutes les unités organisationnelles enfants avant de procéder à la suppression.