API de Directory: Unidades organizativas

Administrar unidades organizativas

El árbol organizativo de una cuenta de Google Workspace está compuesto por unidades organizativas que te permiten administrar los usuarios en una estructura lógica y jerárquica. Esta funcionalidad es similar a la que se encuentra en la pestaña "Organizaciones y usuarios" de la Consola del administrador. La jerarquía de la unidad organizativa del cliente está limitada a 35 niveles de profundidad. Si desea obtener más información, consulte el Centro de ayuda para administradores.

  • Cada cuenta de Google Workspace tiene un solo árbol organizativo. Cuando se configura inicialmente esta cuenta, tiene una unidad organizativa a nivel de la cuenta. Es la organización asociada con el dominio principal. Para obtener más información sobre el dominio principal, consulta Información sobre los límites de la API.
  • El nombre de ruta de una unidad organizativa es único. Es posible que el nombre de la unidad organizativa no sea único dentro de la jerarquía de la organización, pero su nombre es único entre las unidades organizativas del mismo nivel. Además, el nombre de una unidad organizativa no distingue mayúsculas de minúsculas.
  • Una unidad organizativa hereda políticas de la jerarquía organizativa. Cualquier unidad organizativa puede bloquear esta cadena de herencia parental anulando la política heredada. La unidad organizativa más cercana determina la prioridad de una política sobre otra. Esto significa que las políticas de una unidad organizativa inferior pueden tener prioridad sobre las políticas de las unidades parentales superiores. El parámetro de configuración blockInheritance permite bloquear la configuración de la herencia para una unidad organizativa y su suborganización. blockInheritance dejó de estar disponible. Ya no se admite configurarlo como verdadero y puede tener consecuencias no deseadas. Para obtener más información sobre la herencia y los usuarios en una estructura de organización, consulta el Centro de ayuda para la administración.
  • Una unidad organizativa se puede mover hacia arriba o hacia abajo en un árbol jerárquico. Además, los usuarios asociados de la organización se pueden mover de forma individual o por lotes cuando se completa una organización nueva o se traslada un subconjunto de usuarios de una unidad organizativa a otra.
  • Los datos que se mantienen en las propiedades de las unidades organizativas pueden cambiar constantemente. Cuando realizas una solicitud, se garantiza que las propiedades que se muestran para una entidad sean coherentes en el momento en que se recuperó la entidad.Es decir, no verás actualizaciones "parciales". Si una operación de recuperación muestra más de una entidad, no hay garantía de coherencia entre entidades, sobre todo cuando la paginación de una respuesta abarca varias páginas.

Crea una unidad organizativa

Para crear una unidad organizativa, usa la siguiente solicitud de POST y, luego, incluye la autorización que se describe en Autoriza solicitudes.

Si eres un administrador que crea una unidad organizativa, usa my_customer.

POST https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits

Si eres revendedor y creas una unidad organizativa para un cliente de reventa, usa customerId. Para recuperar el customerId, usa la operación Recupera un usuario.

POST https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits

Si deseas comprender la estructura organizativa de tu cuenta, consulta el Centro de ayuda para administradores. Para ver las propiedades de solicitud y respuesta, consulta la Referencia de la API.

Solicitud JSON

El siguiente ejemplo de revendedor de JSON muestra un cuerpo de solicitud de muestra que crea la unidad organizativa sales_support. name y parentOrgUnitPath son obligatorios:

POST https://admin.googleapis.com/admin/directory/v1/customer/C03az79cb/orgunits
{
    "name": "sales_support",
    "description": "The sales support team",
    "parentOrgUnitPath": "/corp/support",
    "blockInheritance": false
}

Respuesta JSON

Una respuesta correcta muestra un código de estado HTTP 201. Junto con el código de estado, la respuesta muestra las propiedades del nuevo grupo:

{
    "kind": "directory#orgUnit",
    "name": "sales_support",
    "description": "The sales support team",
    "orgUnitPath": "/corp/support/sales_support",
    "parentOrgUnitPath": "/corp/support",
    "blockInheritance": false
  }

Actualiza una unidad organizativa

Para actualizar una unidad organizativa, usa la siguiente solicitud de PUT y, luego, incluye la autorización que se describe en Autoriza solicitudes. Para obtener información sobre las propiedades de solicitud y respuesta, consulta la Referencia de la API:

Si eres administrador y estás actualizando una unidad organizativa, usa my_customer.

 PUT https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/orgUnitPath

Si eres revendedor y actualizas una unidad organizativa para un cliente de reventa, usa customerId. Para obtener el customerId, usa la operación Recuperar un usuario.

PUT https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath

Solicitud JSON

En el siguiente ejemplo, se actualizó la descripción de la unidad organizativa:

PUT https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/corp/support/sales_support
{
    "description": "The BEST sales support team"
}

Notas sobre una solicitud de actualización:

  • Solo debes enviar la información actualizada en tu solicitud. No es necesario que ingreses todas las propiedades del grupo en la solicitud.
  • Si un usuario no estaba asignado a una unidad organizativa específica cuando se creó la cuenta de usuario, la cuenta se encuentra en la unidad organizativa de nivel superior.
  • Para mover una unidad organizativa a otra parte de la estructura organizativa de tu cuenta, configura la propiedad parentOrgUnitPath en la solicitud. Es importante tener en cuenta que mover una unidad organizativa puede cambiar los servicios y la configuración de los usuarios de esa unidad.

Respuesta JSON

Una respuesta correcta muestra un código de estado HTTP 201. Junto con el código de estado, la respuesta muestra las propiedades de la unidad organizativa actualizada.

{
    "kind": "directory#orgUnit",
    "name": "sales_support",
    "description": "The BEST sales support team",
    "orgUnitPath": "/corp/support/sales_support",
    "parentOrgUnitPath": "/corp/support",
    "blockInheritance": false
}

Si un usuario no estaba asignado a una unidad organizativa específica cuando se creó la cuenta de usuario, la cuenta se encuentra en la unidad organizativa de nivel superior. La unidad organizativa de un usuario determina a qué servicios de Google Workspace tiene acceso. Si el usuario se traslada a una organización nueva, su acceso cambiará. Si quieres obtener más información sobre las estructuras organizativas, consulta el Centro de ayuda para administradores. Si necesitas más información para mover un usuario a otra organización, consulta Actualiza un usuario.

Recupera una unidad organizativa

Para recuperar una unidad organizativa, usa la siguiente solicitud de GET y, además, incluye la autorización que se describe en Autoriza solicitudes. La cadena de consulta orgUnitPath es la ruta completa para esta unidad organizativa. Para obtener información sobre las propiedades de solicitud y respuesta, consulta la Referencia de la API:

Si eres un administrador que recupera una unidad organizativa, usa my_customer.

GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/orgUnitPath

Si eres revendedor y recuperas una unidad organizativa de un cliente de reventa, usa la customerId. Para obtener el customerId, usa la operación Recuperar un usuario.

GET https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath

Respuesta JSON

En el siguiente ejemplo, se recupera la unidad organizativa de “ventas de primera línea”. Observa la codificación HTTP “frontline+sales” en el URI de la solicitud:

GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/corp/sales/frontline+sales

Una respuesta correcta muestra un código de estado HTTP 200. Junto con el código de estado, la respuesta muestra la configuración de la unidad organizativa:

{
    "kind": "directory#orgUnit",
    "name": "frontline sales",
    "description": "The frontline sales team",
    "orgUnitPath": "/corp/sales/frontline sales",
    "parentOrgUnitPath": "/corp/sales",
    "blockInheritance": false
}

Recupera unidades organizativas

Para recuperar todas las unidades organizativas secundarias en una unidad organizativa, las unidades secundarias inmediatas de una unidad organizativa o todas las unidades organizativas secundarias más la unidad organizativa especificada, usa la siguiente solicitud de GET y, además, incluye la autorización descrita en Solicitudes de autorización. Para conocer las propiedades de solicitud y respuesta, consulta la Referencia de la API.

Si eres un administrador de cuentas que recupera todas las unidades organizativas secundarias, usa my_customer. Para facilitar la lectura, en este ejemplo, se usa una línea que muestra lo siguiente:

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 eres revendedor y recuperas unidades organizativas de un cliente de reventa, usa el customerId. Para obtener el customerId, usa la operación Recuperar un usuario:

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 cadena de consulta get muestra all unidades organizativas secundarias en orgUnitPath, el children inmediato de orgUnitPath o todas las subunidades organizativas y la orgUnitPath especificada para all_including_parent. El valor predeterminado es type=children.

Respuesta JSON

Por ejemplo, esta solicitud muestra todas las unidades organizativas que comienzan en la unidad organizativa /corp:

GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits?orgUnitPath=/corp&type=all

Una respuesta correcta muestra un código de estado HTTP 200. Junto con el código de estado, la respuesta muestra las unidades organizativas de la cuenta:

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

Cómo borrar una unidad organizativa

Para borrar una unidad organizativa, usa la siguiente solicitud de DELETE y, luego, incluye la autorización que se describe en Autoriza solicitudes. Para recuperar el customerId, usa la operación Recupera un usuario. Para obtener información sobre las propiedades de solicitud y respuesta, consulta la Referencia de la API:

Si eres administrador de cuenta y borras una unidad organizativa, usa my_customer.

DELETE https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/orgUnitPath

Si eres revendedor y borras una unidad organizativa para un cliente de reventa, usa la customerId. Para obtener el customerId, usa la operación Recuperar un usuario.

DELETE https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath
Por ejemplo, la solicitud DELETE de este administrador del revendedor borra la unidad organizativa “backend_tests”:
DELETE https://admin.googleapis.com/admin/directory/v1/customer/C03az79cb/orgunits/corp/sales/backend_tests

Una respuesta correcta muestra un código de estado HTTP 200.

Solo puedes borrar unidades organizativas que no tengan unidades organizativas secundarias ni usuarios asignados a ellas. Debes reasignar los usuarios a otras unidades organizativas y quitar las unidades organizativas secundarias antes de borrarlas.