Provisionar contas de usuário

O provisionamento de identidade (ou provisionamento de conta) é o processo de configuração de contas e estabelecimento de conexões entre os três sistemas e, em alguns casos, a configuração de conexões entre usuários e dispositivos.

Em um ambiente do Android Enterprise, até três sistemas diferentes armazenam informações da conta:

  • O diretório de usuários da organização é a fonte definitiva de informações sobre os usuários.
  • Você (o provedor de soluções de EMM) precisa manter pelo menos um diretório mínimo dos usuários da organização.
  • O Google mantém algumas informações sobre contas do Google Play gerenciado e Contas do Google para oferecer gerenciamento de apps pelo Google Play.

Um Users recurso representa uma conta associada a uma empresa. A conta pode ser específica de um dispositivo ou associada a uma pessoa que tem vários dispositivos (celular, tablet etc.) e usa a conta em todos eles. A conta pode fornecer acesso apenas ao Google Play gerenciado ou a outros Serviços do Google, dependendo de como você configura a empresa do cliente:

  • As contas do Google Play gerenciado oferecem um meio transparente para as empresas criarem contas de usuário ou de dispositivo automaticamente pelo provedor de soluções de gerenciamento de mobilidade empresarial (EMM). Essas contas fornecem acesso apenas ao Google Play gerenciado.

  • As Contas do Google são contas gerenciadas pelo Google e exigem sincronização com as fontes da Conta do Google.

Tabela 1: campos e métodos da API Users

 Contas do Google Play gerenciadoContas gerenciadas pelo Google
Campo
ID
kind
accountIdentifierUm identificador exclusivo que você cria e mapeia para o ID (userId) retornado pelo Google Play. Não use informações de identificação pessoal (PII).Não definido
accountTypedeviceAccount, userAccountuserAccount
displayNameO nome que você mostra em itens da interface, como no Google Play. Não use informações de identificação pessoal.Não definido
managementTypeemmManagedgoogleManaged, emmManaged
primaryEmailNão definidoEsse campo é a chave primária pela qual você gerencia a sincronização de contas de domínio gerenciadas pelo Google para contas de usuário no seu sistema.
Métodos
excluir
generateAuthenticationToken
generateToken
get
getAvailableProductSet
insert
list
revokeToken
setAvailableProductSet
update

Contas do Google Play gerenciado

Há dois tipos de contas do Google Play gerenciado:

Conta de usuário
Fornece acesso de um único usuário ao Google Play gerenciado em todos os dispositivos. Você precisa provisionar contas de usuário para seus usuários. Eles não têm as credenciais para adicionar contas do Google Play gerenciado por conta própria.
Para criar uma conta de usuário, chame Users.insert. Defina o tipo de conta como userType e um accountIdentifier, que referencia exclusivamente o usuário na empresa.
Prática recomendada: não use a mesma conta em mais de 10 dispositivos.
Conta de dispositivo
Fornece acesso ao Google Play gerenciado em um único dispositivo. Se um token de autenticação tiver sido emitido para uma conta de dispositivo, uma nova solicitação de token de autenticação para essa conta de dispositivo desativará o token anterior. Cada dispositivo precisa ter licenças separadas para apps.
Para criar uma conta de dispositivo, chame Users.insert e defina o tipo de conta como deviceType.

Você cria e mantém um mapeamento entre as identidades de usuário ou dispositivo e as contas do Google Play gerenciado correspondentes, e gerencia as contas durante o ciclo de vida delas. A organização não precisa de controle direto sobre essas contas do Google Play gerenciado, já que elas existem apenas para gerenciamento de aplicativos.

Requisitos para consoles e servidores de EMM

As contas do Google Play gerenciado são criadas sob demanda, de forma programática, usando as APIs do Google Play EMM e as APIs do framework Android nos componentes da sua solução de EMM (console de EMM, servidor de EMM e DPC). Esses componentes interagem no momento da execução para criar uma conta de usuário e provisionar o perfil de trabalho no dispositivo de destino .

O console ou servidor de EMM precisa:

  • Fornecer um mecanismo para criar identificadores de conta anônimos exclusivos (o accountIdentifier campo) para uso na chamada para Users.insert. Por exemplo, você pode usar algum valor interno para o usuário ("sanjeev237389") ou um número de tag de recurso enigmático ("asset#44448"). Evite usar informações de identificação pessoal (PII) para o identificador da conta.

  • Armazenar o mapeamento entre o userId (retornado da chamada insert) e o accountIdentifier selecionado.

Para requisitos do DPC, consulte Criar um controlador de política de dispositivo.

Criar uma conta de usuário do Google Play gerenciado

  1. Um usuário faz login no DPC usando (normalmente) credenciais corporativas.
  2. O DPC solicita detalhes sobre o usuário no servidor ou console de EMM. Supondo que o usuário seja desconhecido do seu sistema:
    1. Envie uma solicitação de nova conta do Google Play gerenciado chamando Users.insert com valores para new accountIdentifier, displayName, and accountType.
      • Seu sistema precisa criar o accountIdentifier. O identificador da conta precisa ser um valor exclusivo no seu sistema. Não use PII para o identificador da conta.
      • O displayName é mostrado no seletor de contas da Google Play Store e precisa ter algum significado para o usuário (mas não PII sobre ele). Por exemplo, o nome pode incluir o nome da organização ou um nome genérico relacionado ao EMM.
      • Defina o accountType como userAccount ou deviceAccount. Um userAccount pode ser usado em vários dispositivos, enquanto um deviceAccount é específico de um único dispositivo. O accountType especificado pode ser deviceType ou userType.
      • Defina o managementType como emmManaged.
    2. O Google Play processa a solicitação, cria a conta e retorna um userId.
    3. Armazene o mapeamento entre o accountIdentifier e o userId no seu armazenamento de dados.
    4. Chame Users.generateAuthenticationToken com o userId e o enterpriseId. O Google Play retorna um token de autenticação que pode ser usado uma vez e precisa ser usado em alguns minutos.
    5. Encaminhe o token de autenticação com segurança para o DPC.
  3. O DPC provisiona o perfil de trabalho e adiciona a conta ao perfil de trabalho ou dispositivo.
  4. O usuário pode acessar o Google Play gerenciado no perfil de trabalho ou dispositivo.

Contas de administrador

Quando um administrador cria uma empresa com contas do Google Play gerenciado Contas, a Conta do Google usada não pode ser uma conta do Google Workspace. A conta usada se torna proprietária da empresa, e o proprietário pode adicionar mais proprietários e administradores no console do Google Play gerenciado.

Tanto Enterprises.get quanto Enterprises.completeSignup retornam uma lista de endereços de e-mail de administrador associados a uma empresa (somente empresas com contas do Google Play gerenciado).

Gerenciar ciclos de vida da conta

Em uma implantação de contas do Google Play gerenciado, você é responsável pelos ciclos de vida das contas de usuário e de dispositivo, o que significa que você cria, atualiza e exclui essas contas.

Você cria as contas durante o provisionamento de dispositivo, um processo que envolve o app DPC e o console de EMM. Para instruções, consulte o método de contas do Google Play gerenciado.

Para mudar as informações de uma conta, chame Users.update.

Para excluir uma conta, chame Users.delete.

Os administradores não podem excluir contas individuais, mas podem excluir uma empresa com contas do Google Play gerenciado. Quando isso acontece, as contas de dispositivo e de usuário associadas à empresa são excluídas, conforme descrito em Cancelar inscrição, inscrever novamente, excluir.

Expiração da conta

Ocasionalmente, as contas ou os tokens expiram, o que pode acontecer por vários motivos:

  • O token de autenticação que foi recebido para adicionar a conta ao dispositivo expirou.
  • A conta ou empresa foi excluída.
  • Para contas de dispositivo, a conta foi adicionada a um novo dispositivo e, portanto, está desativada no dispositivo antigo.
  • As verificações automáticas de abuso são acionadas.
  • Se um dispositivo ficar off-line por mais de 270 dias, as informações dele poderão ser excluídas devido a um processo de limpeza em lote.

Na maioria dos casos (a menos que o EMM esteja movendo intencionalmente uma conta de dispositivo para um novo dispositivo), a prática recomendada é usar a API Play EMM para solicitar um novo token do servidor de EMM, observar o estado da conta e da empresa e quaisquer erros retornados e, em seguida, tomar a ação apropriada no dispositivo. Por exemplo, renove o token ou, se o erro não puder ser recuperado, redefina ou cancele a inscrição do dispositivo.

Para renovar o token corretamente, faça o seguinte:

  1. Chameusers.generateAuthenticationToken para solicitar um novo token de autenticação para a conta.
  2. Se a chamada for bem-sucedida, remova a conta atual e adicione a nova conta usando a biblioteca de suporte do DPC.
  3. Se a chamada não for bem-sucedida, remova a conta do dispositivo e crie um novo usuário usando users.insert, gere um token de autenticação e adicione a conta ao dispositivo.

A versão 9.0.00 do Google Play Services notifica o DPC de que a conta expirou usando a ação de transmissão:

  1. Quando a conta do Google Play gerenciado é invalidada em um dispositivo, o DPC recebe uma transmissão com a seguinte ação:

    com.google.android.gms.auth.ACCOUNT_REAUTH_REQUIRED

    A intent de transmissão contém um Parcelable extra com o nome account, que é o Account objeto da conta invalidada.

  2. O DPC verifica Account#name com o servidor de EMM para identificar a conta invalidada.

  3. O DPC solicita novas credenciais ou uma nova conta, seguindo o mesmo fluxo usado para provisionar o dispositivo inicialmente.


Contas do Google

Para organizações que usam Contas do Google, as contas de usuário em uma solução de EMM espelham as contas de usuário associadas a outro Serviço do Google (por exemplo, o Google Workspace). Essas contas são googleManaged (Tabela 1) porque os serviços de back-end do Google são a fonte de criação e informações sobre a conta.

Como um EMM, você pode fornecer mecanismos no console para facilitar a criação e a sincronização contínua de contas de usuário mantidas no seu sistema com as fontes de contas de domínio do Google usando ferramentas como o Google Cloud Directory Sync (GCDS) e a API Directory do SDK Admin do Google. para uma visão geral de várias abordagens. O modelo de identidade de domínio gerenciado pelo Google exige que a conta de usuário exista no contexto da sua solução (console de EMM, servidor de EMM, talvez em um armazenamento de dados) antes de poder ser provisionada em qualquer um dos dispositivos do usuário no contexto de um perfil de trabalho.

Durante o provisionamento de identidade, o domínio gerenciado pelo Google da organização é preenchido com contas de usuário. Em alguns casos, as identidades on-line atuais dos usuários (por exemplo, as contas do Microsoft Exchange) são sincronizadas com as Contas do Google.

Após a sincronização inicial, mas antes que os apps sejam distribuídos ao dispositivo de um usuário, ele precisa ativar a Conta do Google, conforme descrito em Ativar contas em dispositivos. Essa ativação permite que o dispositivo acesse o Google Play gerenciado.

Sincronizar contas de clientes

Em uma implantação de Contas do Google, a organização pode usar a ferramenta GCDS para sincronizar os dados no domínio do Google Workspace com os dados no diretório LDAP. Como alternativa, você pode usar o GCDS em nome da organização, se ela conceder acesso.

A ferramenta GCDS chama a API Google Directory e sincroniza nomes de usuário, mas não senhas.

Se a organização usa o Microsoft Active Directory e quer manter as senhas do Google Workspace dos usuários sincronizadas com as senhas do Active Directory, consulte Preparar-se para usar o Password Sync.

Para instruções do GCDS para administradores, consulte Autorizar sua Conta do Google.

API Google Directory

Em uma implantação de Contas do Google, você pode usar a API Google Directory para sincronizar diretórios ativos, senhas ou ambos:

  • Usar a API Directory para sincronização somente de diretório. Se você tiver acesso somente leitura ao domínio gerenciado do Google da organização, poderá usar a API Google Directory para receber informações da Conta do Google, como nomes de usuário (mas não senhas) do Google. Como não é possível gravar dados nas Contas do Google dos usuários, a organização é totalmente responsável pelos ciclos de vida da conta.

    Os cenários de autenticação de SSO baseado em SAML e o cenário 1 descrevem essa situação de forma mais completa.

    Para informações sobre como usar a API Directory dessa forma, consulte Recuperar todos os usuários da conta em a documentação da API Directory.

  • Usar a API Directory para sincronização de diretório e senha opcional. Se você tiver acesso de leitura e gravação ao domínio gerenciado do Google da organização, poderá usar a API Google Directory para receber nomes de usuário, senhas e outras informações da Conta do Google. Você pode atualizar essas informações e sincronizá-las com seu próprio banco de dados, e pode ter responsabilidade total ou parcial pelos ciclos de vida da conta, dependendo da solução que você está oferecendo ao cliente.

    O cenário 2 descreve essa situação de forma mais completa.

    Para mais informações sobre como usar a API Directory para gerenciar informações da conta de usuário, consulte o guia do desenvolvedor da API Directory: contas de usuário.

Cenários de Contas do Google

Alguns cenários típicos de provisionamento de identidade de Contas do Google são descritos abaixo.

Cenário 1: o cliente é responsável pelos ciclos de vida da conta

Usar a API Directory (com acesso somente leitura) e o GCDS

Nesse cenário, o cliente cria e mantém Contas do Google para os usuários.

Você recebe informações da conta de usuário do diretório LDAP da organização e as correlaciona com os dados da Conta do Google que você recebe do Google pela API Google Directory.

A organização é totalmente responsável pelos ciclos de vida da conta. Por exemplo, quando uma nova Conta do Google é criada, a organização adiciona o usuário ao diretório LDAP. Na próxima vez que você sincronizar seu banco de dados com o diretório LDAP, seu banco de dados receberá informações sobre esse novo usuário.

Nesse caso:

  • Você tem acesso somente leitura às Contas do Google.
  • Seu banco de dados adquire nomes de Contas do Google, mas não nomes de usuário ou senhas do LDAP.
  • Você usa a API Google Directory para receber informações básicas da conta dos usuários do cliente. (As informações disponíveis para você são as informações não graváveis retornadas por uma Users.get solicitação). Você usa essas informações para verificar se as Contas do Google dos usuários existem para que eles possam se autenticar nos dispositivos.
  • Seu cliente usa a ferramenta GCDS para fazer uma sincronização unidirecional para preencher as Contas do Google dos usuários. (A organização provavelmente também usa o GCDS para a própria sincronização contínua após a conclusão do provisionamento de identidade.) Opcionalmente, a organização também pode usar a ferramenta GSPS para sincronizar não apenas nomes de usuário, mas também senhas.

Cenário 2: o EMM é responsável pelos ciclos de vida da conta

Como usar a API Directory com acesso de leitura e gravação

Nesse cenário, você processa a criação de Contas do Google em nome do cliente e é responsável pelos ciclos de vida da conta dos usuários.

Por exemplo, quando as informações do usuário mudam no diretório LDAP da organização, você é responsável por atualizar a Conta do Google do usuário. O GCDS não é usado nesse cenário.

Nesse caso:

  • Você tem acesso de leitura e gravação às Contas do Google.
  • Seu banco de dados adquire nomes de Contas do Google e nomes de usuário do LDAP (e, opcionalmente, hashes de senha).
  • Você usa a API Google Directory em nome do cliente para ler e gravar informações da conta dos usuários da organização. (As informações disponíveis para você são as informações não graváveis retornadas por uma Users.get solicitação). Você usa essas informações para verificar se as Contas do Google dos usuários existem para que eles possam se autenticar nos dispositivos.
  • A ferramenta GCDS não é usada.

Cenários de autenticação de SSO baseado em SAML

Em uma implantação de Contas do Google, você ou seu cliente podem usar a Linguagem de marcação para autorização de segurança (SAML) com um provedor de identidade (IdP) para autenticar a Conta do Google associada a cada usuário. Você usa os nomes das Contas do Google como verificação de que as Contas do Google dos usuários existem, o que é necessário para a autenticação do usuário quando ele faz login nos dispositivos. Por exemplo, o SAML pode ser usado no cenário 2. Para detalhes sobre como configurar isso, consulte Sobre o SSO.

Ativar contas em dispositivos

Para que os apps sejam distribuídos a um dispositivo do usuário pelo Google Play gerenciado, o usuário precisa fazer login no dispositivo durante o provisionamento do dispositivo: