Crea una vinculación empresarial

Para inscribir una organización nueva a través de la consola de EMM, debes crear una vinculación empresarial. Un recurso Enterprises representa la vinculación entre un EMM y una organización. Usas una instancia de esta para invocar operaciones en nombre de la organización.

La API de EMM de Play proporciona tres formas de crear una instancia de vinculación empresarial:

  • Registro de dominio administrado de Google: Este método se puede usar en lugar de los otros dos. Las organizaciones con un dominio de Google administrado existente y una organización que recién comienzan a trabajar con Google usarán la misma IU de registro. El recorrido que realicen a través de la IU variará según su situación y sus necesidades. La organización no necesita obtener un token de EMM por adelantado.

  • Registro de cuentas de Google Play administradas: Una organización quiere usar cuentas de Google Play administradas. Puedes integrar la IU de registro de Android de Google en tu consola de EMM y brindar a las organizaciones una forma rápida de crear una instancia de vinculación empresarial que las vincule a tu EMM. De esta manera, se habilitan las cuentas de Google Play administradas para los usuarios y los dispositivos. A veces, este enfoque se denomina iniciado por EMM en la documentación de la API. Este método dejó de estar disponible y se reemplazó por el método de registro de dominios de Google administrado anterior.

  • Inscripción a dominio administrado de Google: Una organización ya tiene un dominio administrado de Google. Los administradores de TI completan varias tareas manuales, como verificar la propiedad del dominio con Google, obtener un token de EMM y crear una cuenta de servicio empresarial. A veces, este enfoque se denomina iniciado por Google en la documentación de la API.

Puedes admitir cualquiera de los dos enfoques en tu consola de EMM con el recurso Enterprises. En la tabla 1, se muestran los campos y las operaciones relevantes de este recurso para vincular organizaciones a EMM.

Tabla 1: APIs de Enterprise y procesos de vinculación alternativos

 Cuentas de Google Play administradas para empresasDominio administrado de Google Descripción
Campo
id Es el identificador único de la organización que se obtiene de las llamadas enroll y completeSignup.
kind Identifica el tipo de recurso con un valor de cadena fijo, establecerandroidenterprise#enterpriseenterprise.
name Organización asociada con el objeto enterprise.
primaryDomainSin establecer Debido a que las empresas de cuentas de Google Play administradas no están vinculadas al modelo de dominio de Google, este campo es relevante solo para los dominios de Google administrados.
administradorNo establecidoEl administrador de TI que se registra en Android mediante el proceso de registro iniciado por EMM se convierte en el administrador (propietario) de la vinculación empresarial. Con Google Play Console administrado, el administrador de TI puede invitar a otros usuarios de la organización a participar en tareas administrativas. Consulta el Centro de ayuda de Google Play administrado.
administrador[].correo Sin establecer
Métodos
completeSignup Dados un completionToken y un enterpriseToken, muestra un recurso Enterprise en el cuerpo de la respuesta.
generateSignupUrl Dado un callbackUrl, muestra una URL y un completionToken.
enroll Inscribe al emisor con el EMM cuyo token se envía con la solicitud.
getServiceAccount Muestra una cuenta de servicio y credenciales.
setAccount Configura la cuenta que se usará para autenticarse en la API como empresa.
unenroll Los EMM pueden dividir la vinculación a cualquier tipo de empresa mediante la baja. Se debe invocar con las credenciales de EMM para el MSA, no con las credenciales de ESA.

Registro de cuentas de Google Play administradas

Este método de registro dejó de estar disponible. En su lugar, utiliza el método de registro de dominio de Google administrado.

Registro de dominios de Google administrados

Puedes integrar el proceso de registro en tu consola de EMM:

Registro de administrador de cuentas de Google Play administrado
Figura 1: Flujo de trabajo de registro en dominios de Google administrados

Un administrador de TI inicia el proceso de creación de una empresa. Para hacer esto, el administrador de TI hace lo siguiente:

  1. Acceder a tu consola de EMM
  2. Hace clic o selecciona Configurar Android (por ejemplo) y se redirecciona a una IU de registro alojada en Google.
  3. Proporciona detalles sobre la empresa en la IU de registro.
  4. Se redirecciona a tu consola de EMM.

La dirección de correo electrónico del administrador de TI ahora está vinculada a una Cuenta de Google, que es una cuenta de administrador para un dominio de Google administrado.

Práctica recomendada: Sigue los lineamientos de seguridad de Google para mantener segura la cuenta de administrador.

Requisitos previos

Para administradores de TI

  • Acceso a tu consola de EMM y los permisos necesarios para realizar la selección adecuada en tu consola (por ejemplo, Administrar Android, como una opción del menú)

  • Una dirección de correo electrónico laboral Debe ser parte de un dominio perteneciente a la organización, no de un dominio compartido como Gmail.com

Para tu consola de EMM

Para implementar el flujo de registro administrado de Google Doomain, la consola de EMM debe poder hacer lo siguiente:

  • Usa tus credenciales de MSA cuando invoques llamadas en las APIs de EMM de Play. Tu MSA se usa para invocar muchas de las operaciones en nombre de un administrador de TI hasta que se configure la cuenta de servicio empresarial (ESA) de la organización.

  • Controla el redireccionamiento a través de una URL segura a un sitio externo proporcionado por Google para iniciar el flujo de registro y completar el proceso de inscripción.

  • Debe poder configurarse con credenciales de ESA después de la inscripción. Debido a que la consola de EMM se puede usar para crear muchas empresas dentro del sitio de cualquier organización, necesitarás una forma de asociar cada enterpriseId con su propia cuenta de servicio y credenciales. Considera crear cuentas de servicio para la organización mediante una llamada a Enterprises.getServiceAccount y el control de la administración de claves con las APIs de Serviceaccountkeys. Para obtener más detalles, consulta Crea cuentas de servicio empresariales de manera programática.

El proceso de registro de Android requiere que proporciones un servicio seguro (HTTPS) para que tu consola lo use durante el tiempo de ejecución. La URL de este servicio seguro puede ser una URL local y puede incluir una sesión o cualquier otra información de identificación única, siempre que tenga el formato correcto para que el sistema pueda analizarla. Por ejemplo:

https://localhost:8080/enrollmentcomplete?session=12345

Proceso de inscripción

El proceso de registro está diseñado para llevar menos de 5 minutos. En los siguientes pasos, se supone que el servidor que aloja el callbackUrl está en funcionamiento. En estos pasos, también se supone que tu consola incluye un componente de IU, como una selección de menú con la opción Administrar Android, que inicia el proceso de registro cuando un administrador de TI autenticado selecciona esa opción.

Proceso de 12 pasos para inscribir una empresa de Cuentas de Google Play administradas
Figura 2: Proceso de 12 pasos para crear una vinculación a un dominio administrado de Google
  1. Un administrador de TI inicia una solicitud de inscripción en la consola de EMM.

  2. Llama a Enterprises.generateSignupUrl con callbackURL como único parámetro. Ejemplo:

    https://localhost:8080/enrollcomplete?session=12345

  3. La respuesta contendrá una URL de registro (válida durante 30 minutos) y un token de finalización. Extrae y guarda el token de finalización.

    Práctica recomendada: Asocia el token de finalización con el administrador de TI que inició el registro.

  4. Extrae el url de la respuesta generateSignupURL.

  5. Redireccionar a la URL extraída en el paso 4.

  6. El administrador de TI sigue el flujo de configuración en la IU de registro para crear una vinculación empresarial:

    1. El administrador de TI ingresa detalles sobre sí mismo y su organización, y establece una contraseña si aún no tiene una Cuenta de Google.

    2. El administrador de TI verá el nombre de EMM y este confirmará que la organización se vinculará con este EMM.

    3. El administrador de TI acepta las Condiciones del Servicio de Google.

  7. La IU de registro genera una URL de devolución de llamada basada en la URL especificada en el paso 2.

  8. La IU de registro redirecciona al administrador de TI a la URL de devolución de llamada. Extrae y guarda el token empresarial en la URL. Ejemplo:

    https://localhost:8080/enrollcomplete?session=12345&enterpriseToken=5h3jCC903lop1

  9. Llama a Enterprises.completeSignup y pasa completionToken (paso 3) y enterpriseToken (paso 8).

  10. La llamada muestra una instancia de Enterprises en el cuerpo de la respuesta. Almacena el id, el name y el correo electrónico del administrador (si están presentes) para usarlos en el futuro.

  11. Crea una cuenta de servicio empresarial (ESA). Las credenciales de ESA adoptan la forma de una dirección de correo electrónico y una clave privada. Existen dos formas de crear un ESA:

    • Práctica recomendada: Crea el ESA de manera programática con la API de EMM de Play.
    • Muestra una página que indique al administrador de TI que cree una ESA en la Consola de APIs de Google. Consulta Crea una cuenta de servicio para obtener información más detallada (indica al administrador que seleccione Proyecto > Editor como su función y que marque la casilla de descarga de la clave privada). Después de que el administrador de TI cree una ESA, configura la consola con las credenciales de clave privada del ESA.
  12. Con tus credenciales de MSA, llama a setAccount para configurar el ESA de esta organización.

Se completó el proceso de inscripción

  • El nuevo dominio administrado de Google está vinculado a tu EMM.
  • La Cuenta de Google del administrador de TI se configura como un administrador del dominio y puede acceder a https://play.google.com/work para administrar las apps de la organización.
  • Tu consola de EMM puede usar la ESA para administrar los datos de la organización a través de la API de EMM de Google Play.

Crea ESA de manera programática

Si deseas simplificar la administración de claves para ESA, usa la API de EMM de Google Play a fin de generar cuentas de servicio para organizaciones en lugar de la consola de Google Cloud. Cuentas de servicio generadas a través de la API de EMM de Play:

  • No se pueden ver en ningún proyecto de Cloud Console que te pertenezca a ti o a la organización; deben administrarse de manera programática.
  • Se borran cuando das de baja la organización.

Para generar una cuenta de servicio de manera programática, haz lo siguiente:

  1. Llama a Enterprises.getServiceAccount con enterpriseId (consulta el paso 10 en el Proceso de inscripción) y especifica el tipo de clave (keyType) que deseas (googleCredentials, pkcs12). El sistema muestra un nombre de cuenta de servicio y una clave privada para la cuenta de servicio (en los mismos formatos que muestra la Consola de API de Google).

  2. Llama a Enterprises.setAccount y configura la cuenta de servicio para la organización.

Práctica recomendada: Solicita al administrador de TI que cambie las credenciales de ESA. Para hacerlo en tu consola de EMM, usa el ESA existente para llamar a setAccount.

Administrar las claves de la cuenta de servcio

Google crea con transparencia las cuentas de servicio que muestra Enterprises.getServiceAccount. Como EMM, no tienes acceso a estas cuentas. Sin embargo, puedes integrar la API de Serviceaccountkeys en tu consola para permitir que las organizaciones administren sus propias ESA y claves generadas de manera programática.

La API de Serviceaccountkeys permite que una organización inserte, borre y enumere las credenciales activas de sus cuentas de servicio. Estas APIs deben invocarse mientras estén autorizadas como el ESA que se configuró para la organización, y esa ESA debe haberse generado desde getServiceAccount. En otras palabras, después de que una organización llama a Enterprises.setAccount (con la cuenta de servicio que generó Enterprises.getServiceAccount), solo esa organización está autorizada para invocar llamadas en la API de Serviceaccountkeys a fin de administrar la cuenta.

Tabla 2. API de Serviceaccountkeys

Campos
idUn identificador de string único opaco para la ServiceAccountKey que asigna el servidor.
kindIdentifica el recurso con la string fija androidenterprise#serviceAccountKey.
tipoEs el formato de archivo de los datos de la clave generados. Valores aceptables:
  • googleCredentials
  • pkcs12
datosEs una cadena que comprende el cuerpo del archivo de credenciales privadas. Se propaga al momento de la creación. Google no lo almacena.
Métodos
borrarQuita y, luego, invalida las credenciales especificadas para la cuenta de servicio (especificadas con enterpriseId y keyId).
insertGenerar credenciales nuevas para la cuenta de servicio asociada con la empresa
listEnumera todas las credenciales activas para la cuenta de servicio asociada con la empresa. Muestra solo el ID y el tipo de clave.

Notificaciones

Puedes obtener notificaciones de ESA generadas de manera programática llamando a Enterprises.pullNotificationSet. Consulta Configura notificaciones de EMM para obtener más información.

Inscripción en un dominio de Google administrado

Para administrar dispositivos que pertenecen a un dominio administrado de Google, debes establecer una conexión (conocida como una vinculación) entre tu consola de EMM, la organización y Google.

Requisitos previos

La organización debe tener un dominio de Google administrado, un token de inscripción de EMM y una cuenta de servicio empresarial (ESA). Las instrucciones para los administradores de TI sobre cómo obtener estos detalles están disponibles en el Centro de ayuda de Android Enterprise.

Dominio de Google administrado

Si el administrador de TI de la organización reclamó un dominio administrado cuando se registró en Google Workspace, puede habilitar la administración de Android desde la Consola del administrador de Google. Si la organización no tiene un dominio de Google administrado, su administrador de TI debe realizar un proceso de registro web único con Google.

Token de EMM

Los administradores de TI pueden obtener un token de EMM desde la Consola del administrador de Google (en Dispositivos > Dispositivos móviles y extremos > Configuración > Integraciones de terceros).

ESA

El administrador de TI de tu organización puede crear el ESA, por lo general, a través de la consola de Google Cloud en un proyecto asociado con la consola de EMM. Las ESA tienen un nombre, un ID y una clave que autentica la cuenta para las acciones que se realizan en su nombre. El ID tiene un formato similar al de una dirección de correo electrónico, y el nombre de la cuenta de servicio precede al símbolo @ y el nombre del proyecto a continuación, junto con la información de los servicios de Google (por ejemplo, some-orgs-esa@myemmconsole313302.iam.gserviceaccount.com).

Proceso de inscripción

  1. Un administrador de TI obtiene un token de EMM de la Consola del administrador de Google.
  2. El administrador de TI comparte el token de EMM contigo, lo que te autoriza a administrar Android en su dominio.
  3. A través de tu consola de EMM, usa el token de EMM para llamar a Enterprises.enroll. Esto vincula la solución de Android de la organización a su dominio de Google.
    • El método enroll muestra un enterpriseId único, que puedes recuperar más tarde (solo para dominios administrados de Google) mediante el método list.
    • De manera opcional, puedes almacenar información sobre la vinculación (enterpriseId, primaryDomain) en un almacén de datos a fin de evitar realizar llamadas a la API para obtener estos detalles. En una situación de Cuentas de Google, el primaryDomain de la organización es la clave única que identifica a la organización ante EMM y Google.
  4. Para realizar llamadas específicas de la organización a la API de EMM de Google Play, sigue estos pasos:
    • Puedes crear una ESA en nombre de la organización o un administrador la crea y, luego, la comparte contigo.
    • A través de tu consola de EMM, llama a setAccount con enterpriseId y la dirección de correo electrónico de la ESA. Esto permite que la ESA se autentique en la API como empresa.

Ejemplo

A continuación, se muestra un ejemplo en el que se inscribe una organización, según un primaryDomainName, serviceAccountEmail y authenticationToken:

    public void bind(String primaryDomainName, String serviceAccountEmail,
        String authenticationToken) throws IOException {

      Enterprise enterprise = new Enterprise();
      enterprise.setPrimaryDomain(primaryDomainName);

      Enterprise result = androidEnterprise.enterprises()
          .enroll(authenticationToken, enterprise)
          .execute();

      EnterpriseAccount enterpriseAccount = new EnterpriseAccount();
      enterpriseAccount.setAccountEmail(serviceAccountEmail);
      androidEnterprise.enterprises()
          .setAccount(result.getId(), enterpriseAccount)
          .execute();
    }

En este ejemplo, se usa la biblioteca cliente para Java y la clase de servicio AndroidEnterprise del paquete com.google.api.services.androidenterprise.model. El procedimiento que se muestra en la muestra se puede resumir en estos pasos:

  1. Crea un objeto AndroidEnterprise nuevo con los parámetros proporcionados por bind, una clase de modelo que contiene el nombre de dominio principal, la dirección de correo electrónico de la cuenta de servicio y el token de inscripción de EMM.
  2. Especifica el nombre de dominio principal del objeto empresarial recién creado.
  3. Llama al método de inscripción y proporciona el objeto empresarial y el token de inscripción.
  4. Crea un objeto de EnterpriseAccount nuevo con el ID de ESA del cliente (serviceAccountEmail).
  5. Para configurar la cuenta, proporciona los campos enterpriseId (que se muestran en el paso 3) y enterpriseAccount.

De manera opcional, puedes almacenar información sobre la vinculación (enterpriseId, primaryDomain) en un almacén de datos a fin de evitar realizar llamadas a la API para obtener estos detalles. En una situación de Cuentas de Google, el primaryDomain de la organización es la clave única que identifica a la organización ante EMM y Google.

Configura una implementación local

Si una organización requiere que sus datos permanezcan en el sitio y sean inaccesibles para ti, debes asegurarte de que tus servidores nunca vean un conjunto activo de credenciales para la ESA. Para ello, genera y almacena un conjunto de credenciales de ESA en el sitio:

  1. Completa el flujo de inscripción:
    1. Como se muestra en el paso 11, usa tu MSA para llamar a getServiceAccount. Esto genera credenciales de ESA.
    2. Como se muestra en el paso 12, usa setAccount en el ESA para establecerlo como el ESA de esta organización.
  2. Pasa la ESA al servidor local de la organización.
  3. Sigue estos pasos en el servidor local:
    1. Llama a Serviceaccountkeys.insert a fin de crear una clave nueva para la ESA. Esta clave privada no se almacena en los servidores de Google y solo se muestra una vez, cuando se crea la cuenta. No es accesible de ninguna otra manera.
    2. Usa las nuevas credenciales de ESA para llamar a Serviceaccountkeys.list. Esto muestra las credenciales de la cuenta de servicio activa.
    3. Llama a Serviceaccountkeys.delete para borrar todas las credenciales, excepto las de ESA que se acaban de crear de forma local.
    4. (Opcional) Llama a Serviceaccountkeys.list para verificar que las credenciales que se usan de manera local en este momento sean las únicas credenciales válidas para la cuenta de servicio.

Ahora, el servidor local es el único servidor con las credenciales de ESA. Solo una ESA generada a través de getServiceAccount puede acceder a ServiceAccountKeys; tu MSA no tiene permiso para llamarla.

Práctica recomendada: No almacenes las credenciales de tu cuenta de servicio principal (MSA) de manera local. Usa un ESA independiente para cada implementación local.

Cómo dar de baja, volver a inscribir o borrar una vinculación empresarial

Dar de baja

Para desvincular una organización de tu solución de EMM, usa unenroll. Una vinculación empresarial no se borra cuando se da de baja la inscripción, pero sus usuarios administrados de EMM y todos sus datos relacionados se borran después de 30 días. A continuación, se muestra un ejemplo de implementación:

    public void unbind(String enterpriseId) throws IOException {
      androidEnterprise.enterprises().unenroll(enterpriseId).execute();
    }

Práctica recomendada: Si tienes un almacén de datos para el nombre de la organización y las asignaciones de ID de vinculación empresariales, borra la información del almacén de datos después de llamar a unenroll.

Volver a inscribirme

Un administrador de TI puede volver a inscribir una empresa con su enterpriseId existente. Para ello, accede con una cuenta de nivel de propietario y sigue el proceso de inscripción.

El flujo de reinscripción es transparente desde tu perspectiva: no hay forma de determinar si el token empresarial que se muestra en la URL de redireccionamiento (paso 8) es de una organización nueva o una que se inscribió con otro EMM.

Si una organización se inscribió anteriormente con tu solución de EMM, es posible que puedas reconocer el ID de vinculación empresarial. Puedes restablecer los usuarios administrados por EMM y los datos relacionados si un administrador de TI reinscriba una organización no más de 30 días después de que se le dio de baja. Si una organización se inscribió anteriormente con un EMM diferente, no podrás acceder a los IDs de los usuarios administrados por EMM que creó el otro EMM. Esto se debe a que estos IDs de usuario son específicos de EMM.

Borrar

Un administrador de TI puede borrar su organización de Google Play administrado. En un plazo de 24 horas, el administrador, los usuarios finales y tú no pueden acceder a los datos, las cuentas, las asignaciones de licencias y otros recursos de la organización. Como resultado, tus llamadas a la API mostrarán un código de estado de respuesta HTTP 404 Not Found para el parámetro enterpriseId. Para manejar este error en tu consola de EMM, solicita al administrador de TI la confirmación antes de quitar cualquier asociación con la organización.