Google Apps, AD e SSO

15

Somos uma pequena loja que executa o Google Apps (Enterprise) para atender às nossas necessidades de e-mail. Adoro. Internamente, estamos usando o Windows AD (2003). Não há queixas também.

Eu gostaria de ter algum método de SSO entre o AD e o Google Apps, de modo que o AD seja o único lugar que meus pais precisam gerenciar (e periodicamente MUDAR!) Senhas.

Eu olhei os "tfm" do google no passado, mas acho que não entendi direito. Alguém faz isso? Se sim, você gostaria de compartilhar como? Isso pode ser feito sem uma enorme quantidade de complexidade e despesa?

Chris_K
fonte
Estamos fazendo isso, mas não estou totalmente preparado para o processo todo. Você terá que esperar até segunda-feira para que eu possa perguntar a um de nossos programadores.
L0c0b0x 23/08/09
@ l0c0b0x: Eu sou todo ouvidos :-)
Chris_K
Leia a resposta de Zoreache :)
l0c0b0x

Respostas:

9

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.

Zoredache
fonte
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á? Talvez eu esteja começando a ver por que isso é não é tão comum ...
Chris_K
Obrigado pela edição e pelas informações adicionais. Eu tenho muito o que refletir agora.
Chris_K
3
O Google lançou um novo produto de sincronização de senhas chamado Google Apps Password Sync (GAPS), que agora deve lidar com isso.
Zoredache
2

Eu também adoraria ver uma resposta melhor para essa.

Brinquei com o Google Apps Directory Sync para sincronizar usuários do Google com usuários do Active Directory. Parecia incrível, até o ponto em que li que a implementação LDAP do AD mantém a senha em um campo binário criptografado, que a ferramenta Sync do Google não pode acessar.

A outra solução de SSO do Google parece virar a mesa, de modo que o Google é a fonte autorizada de credenciais. Não estamos interessados ​​nisso; o que aconteceria em nossa LAN se nosso acesso à Internet estivesse inoperante?

No momento, minha melhor solução é uma planilha do Google Apps com nomes de usuário e senhas, que exportamos para CSV e importamos em massa para o Google Apps . Isso não lida com alterações de senha. Até agora, o melhor que temos é educar nossos usuários para alterar a senha do Google e do Windows para a mesma nova senha quando a política de senha do Windows forçar uma alteração.

Jesper M
fonte
1
Seu comentário sobre o serviço SAML do Google não é exato (segundo parágrafo). O SAML permite que você tenha um serviço em sua rede local para fazer a autenticação. Seu AD seria a fonte autorizada de autorização. O que você deve fazer é executar a sincronização de diretório e a integração SAML em paralelo, elas não são muito úteis separadamente.
Zoredache
Ótimo, obrigado pela correção. Após o seu comentário, pesquisei um pouco mais e encontrei esta boa visão geral do código de fluxo de autenticação SAML.google.com/apis/apps/sso/… .
Jesper M
2

Aqui está um filtro de senha que armazena o hash no anúncio. http://code.google.com/p/sha1hexfltr/ Salva com segurança os hashes no anúncio. Nenhum SSO necessário, nenhum novo servidor necessário!


fonte
1

Hmm, ninguém faz o SSO? Confesso que estou um pouco surpreso!

Só para começar: eu tive o PingConnect sugerido por outros canais. Alguém usou?

Chris_K
fonte
0

Alguns produtos, como o Oracle Internet Directory + Oracle SSO (e IBM TIM / TAM), permitem conectar sistemas de terceiros. Isso significa que o produto está configurado para sincronizar com o AD e armazena credenciais para todos os outros produtos que você imaginar. Você recebe um novo link de login que semeia as credenciais para o sistema desejado (neste caso - Google Apps), e é isso.

Lembre-se de que é bastante complicado instalar e configurar essa configuração e também pode custar-lhe algum dinheiro, por isso não se adequa a todas as organizações.

Moshe
fonte
0

Parece que existe o Google Apps Password Sync (GAPS) para sincronizar senhas a serem usadas em combinação com a sincronização do diretório ativo. Mas ainda não o usei.

Alex KeySmith
fonte