Google Apps, AD y SSO

15

Somos una pequeña tienda que ejecuta Google Apps (Enterprise) para nuestras necesidades de correo electrónico. Quiéralo. Internamente, estamos utilizando Windows AD (2003). No hay quejas allí tampoco.

Me gustaría obtener algún método de inicio de sesión único (SSO) entre AD y Google Apps, de modo que AD sea el único lugar donde mis amigos tengan que administrar (¡y CAMBIAR periódicamente!) Las contraseñas.

He revisado los "tfm" de google en el pasado, pero supongo que no lo entiendo. ¿Alguien hace esto? Si es así, ¿estaría dispuesto a compartir cómo? ¿Se puede hacer sin una gran cantidad de complejidad y gastos?

Chris_K
fuente
Estamos haciendo esto, pero no estoy del todo en el proceso. Tendrás que esperar hasta el lunes para poder preguntarle a uno de nuestros programadores.
l0c0b0x
@ l0c0b0x: Soy todo oídos :-)
Chris_K
Lea la respuesta de Zoreache :)
l0c0b0x

Respuestas:

9

Hay un par de cosas que puedes hacer con Google Apps.

Puede configurar un servidor SAML conectado a su red AD y luego configurar Google para autenticar su acceso a Google Apps contra el servidor SAML. Hemos utilizado una aplicación php llamada simpleSAMLphp porque ya tenemos servidores configurados para ejecutar PHP y tenemos desarrolladores con habilidades php. El inconveniente de usar solo una solución SAML es que solo puede iniciar sesión en cuentas a través de la web. Esto significa que no puede acceder a su buzón a través de imap / pop, y no puede iniciar sesión en Google talk con ningún cliente XMPP antiguo.

El uso de SAML no crea automáticamente cuentas en el dominio de Google Apps. Probablemente también necesitará una herramienta que sincronice las cuentas para poder usar la herramienta de sincronización del Directorio de Google Apps . Esto le permitirá crear cuentas, pero aún así no sincronizará las contraseñas de forma predeterminada porque los hashes de contraseña de Windows no son reversibles y Google no puede hacer nada con ellos.

Es posible usar algo como PasswdHk para interceptar los cambios de contraseña en su AD y luego almacenar la contraseña en un formato (sha1 sin sal) que la utilidad de sincronización de directorios de Google puede usar para configurar las contraseñas de Google Apps. Pero esto agrega un poco de riesgo de seguridad ya que Google solo aceptará hash de contraseña md5 o sha1 sin sal a través de su API de aprovisionamiento , y para sincronizar con Google, básicamente debe almacenar estos hashes. Si va a usar esto, es muy importante mantener estos hash seguros.

Hmmph Me tenía todo entusiasmado con SAML hasta el momento sobre imap / pop. Eso mataría a todas las personas que usan Windows Mobile y clientes Blackberry, ¿no? ¿Alguna alternativa inteligente allí?

Si está dispuesto a aceptar el riesgo de almacenar los valores hash de la contraseña, puede combinar el SSO y la sincronización de directorios para obtener un sistema que funcione.

Como alternativa, alguien podría desarrollar un portal de Intranet donde los usuarios de su dominio irían a inicializar su cuenta de Google y establecer la contraseña para la cuenta de Google. Había considerado desarrollar algo como esto, pero no pude lograr que mis compañeros de trabajo estuvieran de acuerdo en que ese era el camino a seguir.

La idea básica es esta, construir una aplicación web que

  • Vive en su intranet y se autentica en su directorio activo
  • Tiene una función que tomará el nombre de usuario y la contraseña que el usuario usó para iniciar sesión en el sitio de la intranet y obtendrá cualquier otra información que necesite del AD, y luego usará la API de aprovisionamiento de Google para agregar / actualizar la cuenta de los usuarios.

Construir la herramienta realmente no debería ser demasiado difícil, calculé que cortaría algo básico que solo tomaría 12-16 horas de tiempo de desarrollo. La ventaja de esta solución es que le brinda una funcionalidad del 100% de Google Apps, la desventaja es que incomoda un poco al usuario final.

Zoredache
fuente
Hmmph Me tenía todo entusiasmado con SAML hasta el momento sobre imap / pop. Eso mataría a todas las personas que usan Windows Mobile y clientes Blackberry, ¿no? ¿Alguna alternativa inteligente allí? Tal vez estoy empezando a ver por qué esto no es tan común ...
Chris_K
Gracias por la edición y la información adicional. Tengo mucho que reflexionar ahora.
Chris_K
3
Google lanzó un nuevo producto de sincronización de contraseña llamado Google Apps Password Sync (GAPS) que ahora debería manejar esto.
Zoredache
2

A mí también me encantaría ver una mejor respuesta a esta.

Jugué con Google Apps Directory Sync para sincronizar a los usuarios de Google con los usuarios de Active Directory. Se veía bien, hasta el punto en que leí que la implementación LDAP de AD mantiene la contraseña en un campo binario encriptado, al que la herramienta de sincronización de Google no puede acceder.

La otra solución SSO de Google parece cambiar las tornas, por lo que Google es la fuente autorizada de credenciales. No nos interesa eso; ¿Qué pasaría en nuestra LAN si nuestro acceso a Internet no funciona?

Así que en este momento mi mejor solución es una hoja de cálculo de Google Apps con nombres de usuario y contraseñas, que luego exportamos a CSV e importamos en masa a Google Apps . Esto no maneja los cambios de contraseña. Hasta ahora, lo mejor que tenemos es educar a nuestros usuarios para que cambien las contraseñas de Google y Windows a la misma contraseña nueva cuando la política de contraseñas de Windows fuerza un cambio.

Jesper M
fuente
1
Su comentario sobre el servicio SAML de Google no es exacto (segundo párrafo). SAML le permite tener un servicio en su red local para realizar la autenticación. Su anuncio sería la fuente autorizada para la autorización. Lo que se supone que debes hacer es ejecutar la sincronización de directorios y la integración de SAML en paralelo, no son muy útiles por separado.
Zoredache
Genial, gracias por la corrección. Después de su comentario, busqué un poco más y encontré esta buena descripción del código de flujo de autenticación SAML.google.com/apis/apps/sso/… .
Jesper M
2

Aquí hay un filtro de contraseña que almacena el hash en el anuncio. http://code.google.com/p/sha1hexfltr/ Guarda de forma segura los hashes en el anuncio. ¡No se necesita SSO, no se necesitan nuevos servidores!


fuente
1

Hmm, ¿nadie hace lo de SSO? ¡Confieso que estoy un poco sorprendido!

Solo para poner las cosas en marcha: me han sugerido PingConnect a través de otros canales. Alguien lo usó?

Chris_K
fuente
0

Algunos productos como Oracle Internet Directory + Oracle SSO (e IBM TIM / TAM) permiten la conexión a sistemas de terceros. Esto significa que el producto está configurado para sincronizarse con AD, y almacena credenciales para cualquier otro producto que pueda imaginar. Obtiene un nuevo enlace de inicio de sesión que siembra las credenciales en el sistema que desea (en este caso, Google Apps), y eso es todo.

Tenga en cuenta que es bastante complicado poner en marcha una configuración de este tipo, y también puede costarle algo de dinero, por lo que no se adapta a todas las organizaciones.

Moshe
fuente