Há algumas coisas que você pode fazer com o Google Apps.
Você pode configurar um servidor SAML conectado à sua rede do AD e, em seguida, configurar o Google para autenticar seu acesso ao Google Apps no servidor SAML. Nós usamos um aplicativo php chamado simpleSAMLphp porque já temos servidores configurados para rodar PHP e temos desenvolvedores com habilidades em php. A desvantagem de usar uma solução SAML sozinha é que você só pode fazer login em contas pela web. Isso significa que você não pode acessar sua caixa de correio através do imap / pop e não pode fazer login no Google Talk com nenhum cliente XMPP antigo.
O uso do SAML não cria contas automaticamente no domínio do Google Apps. Você provavelmente também precisará de uma ferramenta que sincronize as contas para que você possa usar a ferramenta de sincronização de diretórios do Google Apps . Isso permitirá que você crie contas, mas ainda não sincronizará as senhas por padrão, porque os hashes de senha do Windows não são reversíveis e o Google não pode fazer nada com eles.
É possível usar algo como PasswdHk para interceptar alterações de senha no seu AD e depois armazenar a senha em um formato (sha1 sem sal) que o utilitário de sincronização de diretórios do Google possa usar para definir as senhas do Google Apps. Mas isso adiciona um pouco de risco à segurança, já que o Google aceita apenas hashes de senha md5 ou sha1 sem sal por meio da API de provisionamento e, para sincronizar com o Google, basicamente é necessário armazenar esses hashes. Se você quiser usar isso, é muito importante manter esses hashes seguros.
Hmmph. Você me deixou empolgado com o SAML até um pouco sobre o imap / pop. Isso mataria todo mundo usando clientes Windows Mobile e Blackberry, não? Alguma alternativa inteligente lá?
Se você estiver disposto a aceitar o risco de armazenar os hashes de senha, poderá combinar o SSO e a sincronização do diretório para obter um sistema operacional.
Como alternativa, alguém poderia desenvolver um portal da Intranet onde os usuários do seu domínio iriam inicializar a conta do Google e definir a senha da conta do Google. Eu tinha pensado em desenvolver algo assim, mas não consegui que meus colegas de trabalho concordassem que esse era o caminho a seguir.
A idéia básica é essa, crie um aplicativo da web que
- Vive na sua intranet e autentica no seu diretório ativo
- Possui uma função que usa o nome de usuário e a senha que o usuário usou para fazer login no site da intranet e obter outras informações necessárias do AD e, em seguida, use a API de provisionamento do Google para adicionar / atualizar a conta dos usuários.
Construir a ferramenta realmente não deve ser muito difícil, eu tinha calculado hackear algo básico que levaria apenas 12 a 16 horas de tempo de desenvolvimento. A vantagem desta solução é que ela oferece 100% de funcionalidade do Google Apps, mas o inconveniente é que incomoda um pouco o usuário final.