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.