Aprovisionar cuentas de usuario

El aprovisionamiento de identidades (o aprovisionamiento de cuentas) es el proceso de configuración de cuentas y el establecimiento de conexiones entre los tres sistemas y, en algunos casos, la configuración de conexiones entre los usuarios y sus dispositivos.

En un entorno de Android Enterprise, hasta tres sistemas diferentes contienen información de la cuenta:

  • El directorio de usuarios de la organización es la fuente definitiva de información sobre los usuarios.
  • Tú (el proveedor de soluciones de EMM) debes mantener al menos un directorio mínimo de los usuarios de la organización.
  • Google mantiene cierta información sobre las cuentas de Google Play administrado y las Cuentas de Google para proporcionar la administración de apps a través de Google Play.

Un Users recurso representa una cuenta asociada con una empresa. La cuenta puede ser específica de un dispositivo o puede estar asociada con una persona que tiene varios dispositivos (teléfono celular, tablet, etcétera) y usa la cuenta en todos ellos. La cuenta puede proporcionar acceso solo a Google Play administrado o a otros servicios de Google, según cómo configures la empresa de tu cliente:

  • Las cuentas de Google Play administrado proporcionan un medio transparente para que las empresas creen cuentas de usuario o de dispositivo automáticamente a través de su proveedor de soluciones de administración de movilidad empresarial (EMM). Estas cuentas proporcionan acceso solo a Google Play administrado.

  • Las Cuentas de Google son cuentas existentes administradas por Google y requieren sincronización con las fuentes de Cuentas de Google.

Tabla 1: Campos y métodos de la API de Users

 Cuentas de Google Play administradoCuentas administradas por Google
Campo
id
kind
accountIdentifierEs un identificador único que creas y asignas al ID (userId) que muestra Google Play. No uses información de identificación personal (PII).Sin establecer
accountTypedeviceAccount, userAccountuserAccount
displayNameEs el nombre que se muestra en los elementos de la IU, como en Google Play. No uses información de identificación personal.Sin establecer
managementTypeemmManagedgoogleManaged, emmManaged
primaryEmailSin establecerEste campo es la clave principal con la que administras la sincronización de las cuentas de dominio administradas por Google a las cuentas de usuario en tu sistema.
Métodos
delete
generateAuthenticationToken
generateToken
get
getAvailableProductSet
insert
list
revokeToken
setAvailableProductSet
update

Cuentas de Google Play administrado

Existen dos tipos de cuentas de Google Play administrado:

Cuenta de usuario
Proporciona acceso de un solo usuario a Google Play administrado desde todos sus dispositivos. Debes aprovisionar cuentas de usuario para tus usuarios, ya que no tienen las credenciales para agregar cuentas de Google Play administrado por sí mismos.
Para crear una cuenta de usuario, llama a Users.insert. Establece el tipo de cuenta en userType y establece un accountIdentifier, que hace referencia de forma única al usuario dentro de la empresa.
Práctica recomendada: No uses la misma cuenta en más de 10 dispositivos.
Cuenta del dispositivo
Proporciona acceso a Google Play administrado desde un solo dispositivo. Si se emitió un token de autenticación para una cuenta de dispositivo, una nueva solicitud de un token de autenticación para esa cuenta de dispositivo desactiva el token anterior. Cada dispositivo debe tener sus propias licencias separadas para las apps.
Para crear una cuenta de dispositivo, llama a Users.insert y establece el tipo de cuenta en deviceType.

Creas y mantienes una asignación entre las identidades de usuario o dispositivo y las cuentas de Google Play administrado correspondientes, y administras las cuentas durante su ciclo de vida. La organización no necesita ningún control directo sobre estas cuentas de Google Play administrado, ya que las cuentas existen únicamente para la administración de aplicaciones.

Requisitos para consolas y servidores de EMM

Las cuentas de Google Play administrado se crean a pedido, de forma programática, con las APIs de EMM de Google Play y las APIs del framework de Android en los componentes de tu solución de EMM (consola de EMM, servidor de EMM y DPC). Estos componentes interactúan en el tiempo de ejecución para crear una cuenta de usuario y aprovisionar el perfil de trabajo en el dispositivo de destino .

Tu consola o servidor de EMM debe hacer lo siguiente:

  • Proporcionar un mecanismo para crear identificadores de cuenta anónimos únicos (el accountIdentifier campo) para usar en la llamada a Users.insert. Por ejemplo, puedes usar algún valor interno para el usuario ("sanjeev237389") o un número de etiqueta de activo encriptado ("asset#44448"). Evita usar información de identificación personal (PII) para el identificador de la cuenta.

  • Almacenar la asignación entre el userId (que se muestra en la llamada insert) y el accountIdentifier que selecciones.

Para conocer los requisitos de tu DPC, consulta Cómo crear un controlador de política de dispositivo.

Crea una cuenta de usuario de Google Play administrado

  1. Un usuario accede a tu DPC con credenciales corporativas (por lo general).
  2. El DPC solicita detalles sobre el usuario al servidor o la consola de EMM. Si el usuario es desconocido para tu sistema, haz lo siguiente:
    1. Envía una solicitud para una nueva cuenta de Google Play administrado llamando a Users.insert con valores para nuevos accountIdentifier, displayName y accountType.
      • Tu sistema debe crear el accountIdentifier. El identificador de la cuenta debe ser un valor único en todo el sistema. No uses PII para el identificador de la cuenta.
      • El displayName se muestra en el selector de cuentas de Google Play Store y debe tener algún significado para el usuario (pero no PII sobre el usuario). Por ejemplo, el nombre podría incluir el nombre de la organización o un nombre genérico relacionado con el EMM.
      • Establece el accountType en userAccount o deviceAccount. Se puede usar un userAccount en varios dispositivos, mientras que un deviceAccount es específico de un solo dispositivo. El accountType especificado puede ser deviceType o userType.
      • Establece el managementType en emmManaged.
    2. Google Play procesa la solicitud, crea la cuenta y muestra un userId.
    3. Almacena la asignación entre el accountIdentifier y el userId en tu almacén de datos.
    4. Llama a Users.generateAuthenticationToken con el userId y el enterpriseId. Google Play muestra un token de autenticación que se puede usar una vez y que se debe usar en unos minutos.
    5. Reenvía de forma segura el token de autenticación a tu DPC.
  3. El DPC aprovisiona el perfil de trabajo y agrega la cuenta al perfil de trabajo o al dispositivo.
  4. El usuario puede acceder a Google Play administrado dentro del perfil de trabajo o del dispositivo.

Cuentas de administrador

Cuando un administrador crea una empresa con Google Play administrado Cuentas, la Cuenta de Google que usa no puede ser una cuenta de Google Workspace. La cuenta que usa se convierte en propietario de la empresa, y el propietario puede agregar más propietarios y administradores en la consola de Google Play administrado.

Tanto Enterprises.get y Enterprises.completeSignup muestran una lista de direcciones de correo electrónico de administrador que están asociadas con una empresa (solo empresas con cuentas de Google Play administrado).

Administra los ciclos de vida de las cuentas

En una implementación de cuentas de Google Play administrado, eres responsable de los ciclos de vida de las cuentas de usuario y de dispositivo, lo que significa que creas, actualizas y borras estas cuentas.

Creas las cuentas durante el aprovisionamiento del dispositivo, un proceso que involucra tu app de DPC y tu consola de EMM. Para obtener instrucciones, consulta el método de cuentas de Google Play administrado.

Para cambiar la información de una cuenta, llama a Users.update.

Para borrar una cuenta, llama a Users.delete.

Los administradores no pueden borrar cuentas individuales, pero pueden borrar una empresa con cuentas de Google Play administrado. Cuando lo hacen, las cuentas de dispositivo y de usuario asociadas con la empresa se borran con el tiempo, como se describe en Anular el registro, volver a registrar y borrar.

Vencimiento de la cuenta

En ocasiones, las cuentas o sus tokens vencen, lo que puede ocurrir por varios motivos:

  • Venció el token de autenticación que se obtuvo para agregar la cuenta al dispositivo.
  • Se borró la cuenta o la empresa.
  • En el caso de las cuentas de dispositivo, la cuenta se agregó a un dispositivo nuevo y, por lo tanto, está inhabilitada en el dispositivo anterior.
  • Se activan las verificaciones automáticas de abuso.
  • Si un dispositivo está sin conexión durante más de 270 días, es posible que se borre su información debido a un proceso de limpieza por lotes.

En la mayoría de los casos (a menos que el EMM mueva intencionalmente una cuenta de dispositivo a un dispositivo nuevo), la práctica recomendada es usar la API de EMM de Play para solicitar un token nuevo del servidor de EMM, observar el estado de la cuenta y la empresa, y cualquier error que se muestre, y, luego, tomar las medidas adecuadas en el dispositivo. Por ejemplo, renueva el token o, si el error no se puede recuperar, restablece o anula el registro del dispositivo.

Para renovar correctamente el token, debes hacer lo siguiente:

  1. Llama a users.generateAuthenticationToken para solicitar un nuevo token de autenticación para la cuenta.
  2. Si la llamada se realiza correctamente, quita la cuenta existente y agrega la cuenta nueva con la biblioteca de compatibilidad de DPC.
  3. Si la llamada no se realiza correctamente, quita la cuenta del dispositivo y crea un usuario nuevo con users.insert, genera un token de autenticación y agrega la cuenta al dispositivo.

La versión 9.0.00 de los Servicios de Google Play notifica a tu DPC que la cuenta venció con la acción de transmisión:

  1. Cuando se invalida la cuenta de Google Play administrado en un dispositivo, el DPC recibe una transmisión con la siguiente acción:

    com.google.android.gms.auth.ACCOUNT_REAUTH_REQUIRED

    El intent de transmisión contiene un extra Parcelable con el nombre account, que es el Account objeto de la cuenta invalidada.

  2. El DPC verifica Account#name con el servidor de EMM para identificar la cuenta invalidada.

  3. El DPC solicita credenciales nuevas o una cuenta nueva, siguiendo el mismo flujo que se usó para aprovisionar el dispositivo inicialmente.


Cuentas de Google

En el caso de las organizaciones que usan Cuentas de Google, las cuentas de usuario en la solución de un EMM reflejan las cuentas de usuario existentes asociadas con otro servicio de Google (por ejemplo, Google Workspace). Estas cuentas son googleManaged (Tabla 1) porque los servicios de backend de Google son la fuente de la creación y la información sobre la cuenta.

Como EMM, puedes proporcionar mecanismos en tu consola para facilitar la creación y la sincronización continua de las cuentas de usuario que se encuentran en tu sistema con sus fuentes de cuentas de dominio de Google mediante herramientas como Google Cloud Directory Sync (GCDS) y la API de Directory del SDK de administrador de Google. para obtener una descripción general de varios enfoques. El modelo de identidad de dominio administrado por Google requiere que la cuenta de usuario exista en el contexto de tu solución (consola de EMM, servidor de EMM, tal vez en un almacén de datos) antes de que se pueda aprovisionar en cualquiera de los dispositivos del usuario en el contexto de un perfil de trabajo.

Durante el aprovisionamiento de identidades, el dominio administrado por Google de la organización se propaga con cuentas de usuario. En algunos casos, las identidades en línea existentes de los usuarios (por ejemplo, sus cuentas de Microsoft Exchange) se sincronizan con sus Cuentas de Google.

Después de la sincronización inicial, pero antes de que las apps se distribuyan al dispositivo de un usuario, este debe activar su Cuenta de Google, como se describe en Activa cuentas en dispositivos. Esta activación permite que el dispositivo acceda a Google Play administrado.

Sincroniza cuentas de clientes

En una implementación de Cuentas de Google, la organización puede usar la herramienta GCDS para sincronizar los datos de su dominio de Google Workspace con los datos de su directorio LDAP. Como alternativa, puedes usar GCDS para hacerlo en nombre de la organización, si esta te da acceso.

La herramienta GCDS llama a la API de Google Directory y sincroniza los nombres de usuario, pero no las contraseñas.

Si la organización usa Microsoft Active Directory y quiere mantener sincronizadas las contraseñas de Google Workspace de los usuarios con sus contraseñas de Active Directory, consulta Prepárate para usar la Sincronización de contraseñas.

Para obtener instrucciones de GCDS para administradores, consulta Autoriza tu Cuenta de Google.

API de Google Directory

En una implementación de Cuentas de Google, puedes usar la API de Google Directory para sincronizar directorios activos, contraseñas o ambos:

  • Usa la API de Directory para la sincronización solo de directorios. Si tienes acceso de solo lectura al dominio de Google administrado de la organización, puedes usar la API de Google Directory para obtener información de la Cuenta de Google, como nombres de usuario (pero no contraseñas) de Google. Como no puedes escribir datos en las Cuentas de Google de los usuarios, la organización es completamente responsable de los ciclos de vida de las cuentas.

    En la Situación 1 y las situaciones de autenticación de SSO basada en SAML se describe esta situación con más detalle.

    Para obtener información sobre cómo usar la API de Directory de esta manera, consulta Recupera todos los usuarios de la cuenta en la documentación de la API de Directory.

  • Usa la API de Directory para la sincronización de directorios y contraseñas opcionales. Si tienes acceso de lectura y escritura al dominio de Google administrado de la organización, puedes usar la API de Google Directory para obtener nombres de usuario, contraseñas y otra información de la Cuenta de Google. Puedes actualizar esta información y sincronizarla con tu propia base de datos, y es posible que tengas responsabilidad total o parcial de los ciclos de vida de las cuentas, según la solución que le ofrezcas a tu cliente.

    En la Situación 2 se describe esta situación con más detalle.

    Para obtener más información sobre el uso de la API de Directory para administrar la información de las cuentas de usuario, consulta la guía para desarrolladores de la API de Directory: Cuentas de usuario.

Situaciones de Cuentas de Google

A continuación, se describen algunas situaciones típicas de aprovisionamiento de identidades de Cuentas de Google.

Situación 1: El cliente es responsable de los ciclos de vida de las cuentas

Uso de la API de Directory (con acceso de solo lectura) y GCDS

En esta situación, tu cliente crea y mantiene Cuentas de Google para sus usuarios.

Obtienes información de la cuenta de usuario del directorio LDAP de la organización y la correlacionas con los datos de la Cuenta de Google que obtienes de Google a través de la API de Google Directory.

La organización es completamente responsable de los ciclos de vida de las cuentas. Por ejemplo, cuando se crea una Cuenta de Google nueva, la organización agrega el usuario a su directorio LDAP. La próxima vez que sincronices tu base de datos con el directorio LDAP, tu base de datos recibirá información sobre este usuario nuevo.

En este caso, ocurre lo siguiente:

  • Tienes acceso de solo lectura a las Cuentas de Google.
  • Tu base de datos adquiere nombres de Cuentas de Google, pero no nombres de usuario ni contraseñas de LDAP.
  • Usas la API de Google Directory para obtener información básica de la cuenta de los usuarios de tu cliente. (La información disponible para ti es la información no grabable que muestra una Users.get solicitud). Usas esta información para verificar que existan las Cuentas de Google de los usuarios para que puedan autenticarse en sus dispositivos.
  • Tu cliente usa la herramienta GCDS para realizar una sincronización unidireccional para propagar las Cuentas de Google de los usuarios. (Es probable que la organización también use GCDS para su propia sincronización continua después de que se complete el aprovisionamiento de identidades). De manera opcional, la organización también puede usar la GSPS para sincronizar no solo los nombres de usuario, sino también las contraseñas.

Situación 2: El EMM es responsable de los ciclos de vida de las cuentas

Uso de la API de Directory con acceso de lectura y escritura

En esta situación, tú te encargas del proceso de creación de Cuentas de Google en nombre de tu cliente y eres responsable de los ciclos de vida de las cuentas de los usuarios.

Por ejemplo, cuando cambia la información del usuario en el directorio LDAP de la organización, eres responsable de actualizar la Cuenta de Google del usuario. En esta situación, no se usa GCDS.

En este caso, ocurre lo siguiente:

  • Tienes acceso de lectura y escritura a las Cuentas de Google.
  • Tu base de datos adquiere nombres de Cuentas de Google y nombres de usuario de LDAP (y, de manera opcional, hashes de contraseñas).
  • Usas la API de Google Directory en nombre de tu cliente para leer y escribir información de la cuenta de los usuarios de la organización. (La información disponible para ti es la información no grabable que muestra una Users.get solicitud). Usas esta información para verificar que existan las Cuentas de Google de los usuarios para que puedan autenticarse en sus dispositivos.
  • No se usa la herramienta GCDS.

Situaciones de autenticación de SSO basada en SAML

En una implementación de Cuentas de Google, tú o tu cliente pueden usar el lenguaje de marcado para confirmaciones de seguridad (SAML) con un proveedor de identidad (IdP) para autenticar la Cuenta de Google asociada con cada usuario. Usas los nombres de Cuentas de Google como verificación de que existen las Cuentas de Google de los usuarios, lo que es necesario para la autenticación de usuarios cuando acceden a sus dispositivos. Por ejemplo, se podría usar SAML en la Situación 2. Para obtener detalles sobre cómo configurar esto, consulta Acerca del SSO.

Activa cuentas en dispositivos

Para que las apps se distribuyan a un dispositivo de usuario a través de Google Play administrado, el usuario debe acceder al dispositivo durante el aprovisionamiento del dispositivo:

  • En el aprovisionamiento de dispositivos de Google Play administrado, tu DPC guía al usuario para que acceda con las credenciales aceptadas por tu consola de EMM , por lo general, credenciales de correo electrónico corporativas.
  • En una implementación de Cuentas de Google, tu DPC guía al usuario para que ingrese sus credenciales de acceso a la Cuenta de Google. Por lo general, estas credenciales coinciden con las que los usuarios usan para acceder a su dominio corporativo cuando se sincronizan con GCDS o GSPS, o cuando una organización usa un IdP para la autenticación. Esto activa la Cuenta de Google del usuario, genera un ID de dispositivo único y vincula la identidad de la Cuenta de Google del usuario y el ID de dispositivo de su dispositivo.