La API de Admin Settings permite a los administradores de dominios de Google Workspace recuperar y cambiar la configuración de sus dominios en forma de feeds de la API de datos de Google.
Esta configuración de dominio incluye muchas de las funciones disponibles en la Consola del administrador de Google Workspace. Algunos ejemplos de usos de esta API incluyen la creación de un panel de control personalizado o la integración de dominios de Google Workspace en un entorno heredado existente.
La API de Admin Settings implementa el protocolo de la API de datos de Google. La API de datos de Google cumple con el modelo de publicación y edición del protocolo de publicación de Atom (AtomPub). Las solicitudes HTTP de AtomPub usan el enfoque de diseño de transferencia de conjunto representacional (RESTful) para los servicios web. Para obtener más información, consulta la Guía para desarrolladores de datos de Google.
Público
Este documento está dirigido a desarrolladores que desean escribir aplicaciones cliente que puedan modificar y recuperar información sobre los dominios de Google Workspace. Se proporcionan ejemplos de las interacciones básicas de la API de Admin Settings con XML y HTTP sin procesar.
En este documento, se asume que comprendes las ideas generales detrás del protocolo de la API de Google Data y que conoces la Consola del administrador de Google Workspace. Si desea obtener más información sobre la Consola del administrador, consulte Cómo usar la Consola del administrador.
Comenzar
Cómo crear una cuenta
La API de Admin Settings está habilitada para las cuentas de Google Workspace. Regístrate para obtener una cuenta de Google Workspace para realizar pruebas. El servicio de Configuración del administrador usa Cuentas de Google. Por lo tanto, si ya tienes una cuenta en un dominio de Google Workspace, no necesitas hacer nada más.
Acerca de los tipos de feeds de la API de Admin Settings
La API de Admin Settings te permite administrar estas categorías de configuración de dominio:
- Configuración de inicio de sesión único
El inicio de sesión único (SSO) basado en SAML permite que los usuarios utilicen el mismo acceso y la misma contraseña para los servicios alojados en Google Workspace y para los demás servicios que alojes en tu organización. Específicamente, cuando se usa el SSO, una aplicación web alojada, como Google Workspace, redirecciona a los usuarios al proveedor de identidad de tu organización para autenticarlos cuando acceden. Para obtener información detallada, consulta Explicación del SSO basado en SAML para Google Workspace.
Configurar el SSO implica ingresar la información necesaria para que el servicio de Google Workspace se comunique con el proveedor de identidad que almacena los datos de tus usuarios. información de acceso y la configuración de los vínculos a los que se debe enviar a los usuarios para acceder, salir y cambiar sus contraseñas. La API de Admin Settings te permite actualizar y recuperar esta configuración de manera programática. Google usa la clave pública generada para verificar esta solicitud de SSO con tu proveedor de identidad y que la respuesta de SAML de clave privada no se haya modificado durante la transmisión de la red.
Para obtener un breve resumen específico de la API sobre el uso de la configuración de SSO, obtén tu certificado de clave pública de tu proveedor de identidad, registra la clave pública con Google y establece la configuración de consultas de SSO basada en SAML. Para ver los mensajes de error, consulta Solución de problemas de SSO:- Genera tus claves: con tu proveedor de identidad, genera un conjunto de claves públicas y privadas mediante los algoritmos DSA o RSA. La clave pública está en un certificado con formato X.509. Para obtener más información sobre las claves de firma de inicio de sesión único basadas en SAML, consulta Genera claves y certificados para el servicio de inicio de sesión único de Google Workspace.
- Regístrate con Google: Usa la configuración de inicio de sesión único de la API de Admin Settings para registrar tu certificado de clave pública con Google.
- Establece la configuración de SSO: Usa la configuración de inicio de sesión único de la API de Admin Settings para establecer la configuración que se utiliza para comunicarse con los servidores del proveedor de identidad del dominio.
- Configuración de puerta de enlace y enrutamiento
Este feed permite que los administradores de los dominios controlen el enrutamiento del correo electrónico de sus dominios.
Las operaciones de enrutamiento de correo electrónico permiten que los administradores especifiquen la configuración de enrutamiento de correo electrónico a nivel del dominio. Esta función es similar a la de enrutamiento de correo electrónico de la configuración de Gmail de la Consola del administrador. Para obtener más información, consulta Enrutamiento del correo electrónico y configuración de entrega dual de la función de enrutamiento de correo electrónico.
Ejemplo de una solicitud y respuesta en formato XML de la API de Admin Settings
En este documento, se proporcionan ejemplos de código de solicitudes y respuestas básicas a la API de Admin Settings con XML y HTTP sin procesar. En este ejemplo de idioma predeterminado del dominio, se muestra la sintaxis completa de XML y HTTP para el cuerpo de una entrada de solicitud y respuesta, que es común a cada operación:
Para cambiar la configuración de puerta de enlace de correo electrónico saliente del dominio, envía un HTTP PUT
a la URL del feed de la puerta de enlace:
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/email/gateway
El idioma predeterminado del dominio PUT
que solicita AtomPub entry
XML es el siguiente:
<atom:entry xmlns:atom='http://www.w3.org/2005/Atom'
xmlns:apps='http://schemas.google.com/apps/2006'>
<apps:property name='smartHost' value='smtp.out.domain.com' />
<apps:property name='smtpMode' value='SMTP' />
</atom:entry>
Excepto por las propiedades y los valores específicos de la operación, los elementos atom:property
representan un solo par clave-valor que contiene información sobre una propiedad que deseas recuperar o actualizar. Estos son comunes a todos los cuerpos de las solicitudes a la API de Admin Settings.
El elemento entry
de respuesta de idioma predeterminado del dominio muestra las propiedades smartHost
y smtpMode
junto con la sintaxis XML común para todos los cuerpos de respuesta de la API de Admin Settings:
<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
<id>https://apps-apis.google.com/a/feeds/domain/2.0/domainName/email/gateway</id>
<updated>2008-12-17T23:59:23.887Z</updated>
<link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/domain/
2.0/domainName/email/gateway'/>
<link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/domain/
2.0/domainName/email/gateway'/>
<apps:property name='smartHost' value='smtp.out.domain.com' />
<apps:property name='smtpMode' value='SMTP' />
</entry>
Administrar la configuración de inicio de sesión único
La función de inicio de sesión único (SSO) de Google Workspace permite que los usuarios accedan a varios servicios y que solo tengan que ingresar una información de acceso y una contraseña una vez. El proveedor de identidad del dominio almacena esta contraseña, no Google Workspace. Para obtener más información, consulte la página de SSO del Centro de ayuda. En las siguientes secciones, se muestra el formato XML que se usa para la configuración de inicio de sesión único.
Cómo recuperar la configuración de inicio de sesión único
Para recuperar la configuración del inicio de sesión único, envía un GET
HTTP a la URL del feed general de SSO y, luego, incluye un encabezado Authorization
como se describe en Autenticación en el servicio de configuración del administrador. Para mensajes de error, consulta Solución de problemas de SSO:
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/general
Esta operación no tiene parámetros en el cuerpo de la solicitud.
Si la respuesta es correcta, se mostrará un código de estado HTTP 200 OK
, junto con un feed de AtomPub con la configuración de SSO del dominio.
El XML de respuesta GET muestra las propiedades samlSignonUri
, samlLogoutUri
, changePasswordUri
, enableSSO
, ssoWhitelist
y useDomainSpecificIssuer
:
<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
<apps:property name='samlSignonUri' value='http://www.example.com/sso/signon'/>
...
<apps:property name='samlLogoutUri' value='http://www.example.com/sso/logout'/>
<apps:property name='changePasswordUri' value='http://www.example.com/sso/changepassword'/>
<apps:property name='enableSSO' value='true'/>
<apps:property name='ssoWhitelist' value='CIDR formatted IP address'/>
<apps:property name='useDomainSpecificIssuer' value='false'/>
</entry>
Las propiedades incluyen lo siguiente:
- samlSignonUri
- La URL del proveedor de identidad a la que Google Workspace envía la solicitud de SAML para la autenticación del usuario
- samlLogoutUri
- La dirección a la que se enviará a los usuarios cuando salgan de la aplicación web.
- changePasswordUri
- La dirección a la que se enviará a los usuarios cuando quieran cambiar la contraseña de SSO para la aplicación web.
- enableSSO
- Habilita el SSO basado en SAML para este dominio. Si ya estableciste la configuración de SSO y, luego, estableciste
enableSSO
enenableSSO=false
, se seguirá guardando la configuración que ingresaste antes. - ssoWhitelist
- ssoWhitelist es una dirección IP de máscara de red en formato de enrutamiento entre dominios sin clases (CIDR). ssoWhitelist determina qué usuarios acceden con SSO y cuáles acceden con la página de autenticación de cuentas de Google Workspace. Si no se especifican máscaras, todos los usuarios accederán con SSO. Para obtener más información, consulta Cómo funcionan las máscaras de red.
- useDomainSpecificIssuer
- Se puede usar una entidad emisora específica de un dominio en la solicitud de SAML al proveedor de identidad. Aunque no es necesaria para la mayoría de las implementaciones de SSO, esta función es útil en empresas grandes que usan un único proveedor de identidad para autenticar toda una organización con varios subdominios. Otorgar a la entidad emisora específica del dominio determina qué subdominio se asociará con la solicitud. Para obtener más información, consulta ¿Cómo funciona el elemento Emisor en la solicitud de SAML?
Si tu solicitud falla por algún motivo, se mostrará un código de estado diferente. Para obtener más información sobre los códigos de estado de la API de datos de Google, consulta Códigos de estado de HTTP.
Actualización de la configuración de inicio de sesión único
Para actualizar la configuración de SSO de un dominio, primero debes recuperar la configuración de SSO con la operación Recuperar la configuración de inicio de sesión único, modificarla y, luego, enviar una solicitud PUT
a la URL del feed de SSO. Asegúrate de que el valor <id>
en tu entrada actualizada coincida exactamente con el <id>
de la entrada existente. Incluye un encabezado Authorization
como se describe en Autenticación en el servicio de la API de Admin Settings. Para los mensajes de error, consulta Solución de problemas de SSO.
Cuando actualices la configuración del inicio de sesión único, envía una solicitud HTTP PUT a la URL del feed general de SSO:
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/general
El cuerpo XML de la solicitud PUT
es el siguiente:
<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
<apps:property name='enableSSO' value='false' />
<apps:property name='samlSignonUri' value='http://www.example.com/sso/signon' />
<apps:property name='samlLogoutUri' value='http://www.example.com/sso/logout' />
<apps:property name='changePasswordUri' value='http://www.example.com/sso/changepassword' />
<apps:property name='ssoWhitelist' value='127.0.0.1/32' />
<apps:property name='useDomainSpecificIssuer' value='false'/>
</atom:entry>
Si la respuesta es correcta, se mostrará un código de estado HTTP 200 OK
, junto con un feed de AtomPub con la configuración de SSO.
El XML de respuesta PUT
es el siguiente:
<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
...
<apps:property name='samlSignonUri' value='http://www.example.com/sso/signon'/>
<apps:property name='samlLogoutUri' value='http://www.example.com/sso/logout'/>
<apps:property name='changePasswordUri' value='http://www.example.com/sso/changepassword'/>
<apps:property name='enableSSO' value='false'/>
<apps:property name='ssoWhitelist' value='127.0.0.1/32'/>
<apps:property name='useDomainSpecificIssuer' value='false'/>
</entry>
Si tu solicitud falla por algún motivo, se mostrará un código de estado diferente. Para obtener más información sobre los códigos de estado de la API de datos de Google, consulta Códigos de estado de HTTP.
No se permiten cambios en la configuración del inicio de sesión único cuando el cliente objetivo habilita la aprobación de varias partes para acciones sensibles. Las solicitudes fallarán con errorCode="1811"
y reason="LegacyInboundSsoChangeNotAllowedWithMultiPartyApproval"
.
Recuperar la clave de firma de inicio de sesión único
Para recuperar la clave de firma de inicio de sesión único, envía una GET
HTTP a la URL del feed de claves de firma de SSO y, luego, incluye un encabezado Authorization
como se describe en Autenticación en el servicio de configuración del administrador. Para mensajes de error, consulta Solución de problemas de SSO:
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/signingkey
Esta operación no tiene parámetros en el cuerpo de la solicitud.
Si la respuesta es correcta, se mostrará un código de estado HTTP 200 OK
, junto con un feed de AtomPub con la clave de firma.
El XML de respuesta GET
muestra la propiedad signingKey
:
<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
...
<apps:property name='signingKey' value='yourBase64EncodedPublicKey'/>
</entry>
Si tu solicitud falla por algún motivo, se mostrará un código de estado diferente. Para obtener más información sobre los códigos de estado de la API de datos de Google, consulta Códigos de estado de HTTP.
Cómo actualizar la clave de firma de inicio de sesión único
Para actualizar la clave de firma de SSO de un dominio, primero recupera la clave de firma mediante la operación Cómo recuperar la clave de firma de inicio de sesión único, modifícala y, luego, envía una solicitud PUT
a la URL del feed de claves de firma de SSO. Asegúrate de que el valor <id>
en tu entrada actualizada coincida exactamente con el <id>
de la entrada existente. Para obtener más información sobre las claves de firma de inicio de sesión único basadas en SAML, consulta Genera claves y certificados para el servicio de inicio de sesión único de Google Workspace.
Cuando actualices la clave de firma de inicio de sesión único, envía un código PUT
HTTP a la URL del feed de claves de firma de SSO:
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/signingkey
El XML de la solicitud PUT
es el siguiente:
<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps="http://schemas.google.com/apps/2006">
<apps:property name='signingKey' value='yourBase64EncodedPublicKey'/>
</atom:entry>
No se permiten cambios en la configuración del inicio de sesión único cuando el cliente objetivo habilita la aprobación de varias partes para acciones sensibles. Las solicitudes fallarán con errorCode="1811"
y reason="LegacyInboundSsoChangeNotAllowedWithMultiPartyApproval"
.
Administración de la puerta de enlace y el enrutamiento de correo electrónico
La sección de la puerta de enlace de correo electrónico saliente muestra cómo la API de Admin Settings admite el enrutamiento de correos electrónicos salientes de los usuarios de tu dominio. En la sección de enrutamiento de correo electrónico, se muestra cómo enrutar mensajes a otro servidor de correo electrónico.
Recuperando la configuración de puerta de enlace de correo electrónico saliente
Para recuperar la configuración de puerta de enlace de correo electrónico saliente, envía un GET
HTTP a la URL del feed de puerta de enlace y, además, incluye un encabezado Authorization
como se describe en Autenticación en el servicio de configuración del administrador:
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/email/gateway
Esta operación no tiene parámetros en el cuerpo de la solicitud.
Una respuesta correcta devuelve un código de estado HTTP 200 OK, junto con un feed de AtomPub con la información de estado de la puerta de enlace de correo electrónico.
La respuesta GET
muestra las propiedades smartHost
y smtpMode
. Para obtener más información sobre estas propiedades, consulta Actualiza la configuración de la puerta de enlace de correo electrónico saliente.
Un ejemplo de una respuesta posible es:
<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
...
<apps:property name='smartHost' value='smtpout.domain.com'/>
<apps:property name='smtpMode' value='SMTP'/>
</entry>
Si tu solicitud falla por algún motivo, se mostrará un código de estado diferente. Para obtener más información sobre los códigos de estado de la API de datos de Google, consulta Códigos de estado de HTTP.
Actualizando la configuración de la puerta de enlace de correo electrónico saliente
Para actualizar la configuración de puerta de enlace de correo electrónico saliente de un dominio, envía una solicitud PUT
HTTP a la URL del feed de la puerta de enlace:
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/email/gateway
El XML de la solicitud PUT
es el siguiente:
<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps="http://schemas.google.com/apps/2006">
<apps:property name='smartHost' value='smtp.out.domain.com' />
<apps:property name='smtpMode' value='SMTP' />
</atom:entry>
Las propiedades de la solicitud son las siguientes:
- smartHost
- Es la dirección IP o el nombre de host del servidor SMTP. Google Workspace enruta los correos electrónicos salientes a este servidor.
- smtpMode
- El valor predeterminado es SMTP. Otro valor, SMTP_TLS, protege una conexión con TLS cuando se entrega el mensaje.
Si la respuesta es correcta, se mostrará un código de estado HTTP 200 OK
, junto con el feed de AtomPub con el estado de la configuración de la puerta de enlace de correo electrónico.
Si tu solicitud falla por algún motivo, se mostrará un código de estado diferente. Para obtener más información sobre los códigos de estado de la API de datos de Google, consulta Códigos de estado de HTTP.
Administrar la configuración de enrutamiento de correo electrónico
Primero, crea una solicitud XML:
<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps="http://schemas.google.com/apps/2006">
<apps:property name='routeDestination' value='route-smtp.domain.com'/>
<apps:property name='routeRewriteTo' value='true'/>
<apps:property name='routeEnabled' value='true'/>
<apps:property name='bounceNotifications' value='true'/>
<apps:property name='accountHandling' value='can be either allAccounts | provisionedAccounts | unknownAccounts'/>
</atom:entry>
Las propiedades de la solicitud son las siguientes:
- routeDestination
- Este destino es el nombre de host o la dirección IP del servidor de correo SMTP en el que se enruta el correo electrónico. El nombre de host o la dirección IP deben resolverse para Google. Para obtener más detalles sobre cómo resolver los nombres de host del correo electrónico, consulta Prueba piloto de Google Workspace con enrutamiento de correo electrónico.
- routeRewriteTo
- Si es verdadero, el campo
to:
del sobre SMTP del mensaje se cambia al nombre de host de destino (nombre de host de usuario@destino) y el mensaje se entrega a esta dirección de usuario en el servidor de correo de destino. Si esfalse
, el correo electrónico se entrega a la dirección de correo electrónicoto:
del mensaje original (usuario@nombre de host original) en el servidor de correo de destino. Esto es similar a la opción "Cambiar el sobre SMTP" de la Consola del administrador del lugar. Para obtener más información, consulta Configuración de dominio para el enrutamiento de correo electrónico. - routeEnabled
- Si es
true
, la función de enrutamiento de correo electrónico está habilitada. Si esfalse
, la funcionalidad está inhabilitada. - bounceNotifications
- Si es
true
, Google Workspace está habilitado para enviar notificaciones de rebote al remitente cuando falla una entrega. - accountHandling
Este parámetro de configuración determina cómo afecta el enrutamiento de correo electrónico a los distintos tipos de usuarios del dominio:
allAccounts
-- Enviar todos los correos electrónicos a este destino.provisionedAccounts
: Envía correos electrónicos a este destino si el usuario existe en Google Workspace.unknownAccounts
: Envía correos electrónicos a este destino si el usuario no existe en Google Workspace. Esto es similar al mensaje “Correo electrónico de entrega para” de la Consola del administrador del lugar. Si deseas obtener más información sobre los requisitos previos y cómo usar el enrutamiento de correo electrónico, consulta Configuración del dominio para el enrutamiento de correo electrónico. ~ Para publicar esta solicitud, envía unPOST
HTTP a la URL del feed de enrutamiento de correo electrónico y, además, incluye un encabezadoAuthorization
como se describe en Autenticación en el servicio de Configuración del administrador:
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/emailrouting
Si la respuesta es correcta, se mostrará un código de estado HTTP 200 OK
, junto con un feed de AtomPub con la información del archivo.
Si tu solicitud falla por algún motivo, se mostrará un código de estado diferente. Para obtener más información sobre los códigos de estado de la API de datos de Google, consulta Códigos de estado de HTTP.
Desactivación de extremos el 31 de octubre de 2018
Como parte de este anuncio, dimos de baja los siguientes extremos. Se desactivaron el 31 de octubre de 2018 y ya no están disponibles.
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/general/defaultLanguage
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/general/organizationName
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/general/currentNumberOfUsers
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/general/maximumNumberOfUsers
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/supportPIN
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/customerPIN
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/adminSecondaryEmail
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/edition
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/creationTime
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/countryCode
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/appearance/customLogo
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/verification/mx