Les applications Google peuvent utiliser SAML pour authentifier les utilisateurs, en se comportant comme des fournisseurs de service SAML, tel qu'expliqué ici.
Pour fonctionner avec LL::NG il faut :
Comme administrateur, aller dans le panneau de contrôle Google Apps et cliquer sur les outils avancés click (Advanced tools) :
Ensuite sélectionner Set up single sign-on (SSO)
:
Puis configurer tous les paramètres SAML :
Pour le certificate, vous pouvez le construire en signant la clef privée enregistrée dans le Manager. Selectionner la clef, et l'exporter (bouton Télécharger
): Ceci télécharge les clefs publique et privée.
Garder la clef privée dans un fichier, par exemple lemonldap-ng-priv.key, et utiliser openssl pour générer un certificat auto-signé :
openssl req -new -key lemonldap-ng-priv.key -out cert.csr openssl x509 -req -days 3650 -in cert.csr -signkey lemonldap-ng-priv.key -out cert.pem
Télécharger ensuite le certificat (cert.pem
) dans Google Apps.
Il est nécessaire d'avoir configuré LL::NG comme fournisseur d'identité SAML,
Ajouter ensuite Google Apps comme nouveau fournisseur de service SAML :
Nouveau fournisseur de service
.Email
dans Options
» Réponse d'authentification
» Format NameID par défaut
Options
» Signature
, excepté Signer les messages SSO
qui doit être activéeMetadata
, et déprotéger le champ pour y mettre :<md:EntityDescriptor entityID="google.com" xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"> <SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://www.google.com/a/mydomain.org/acs" index="1" /> <NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat> </SPSSODescriptor> </md:EntityDescriptor>
AssertionConsumerService
markup, parameter Location
) en votre domaine Google Apps. Adapter également l' "entityID" pour qu'elle corresponde à l'émetteur de l'assertion : google.com/a/mydomain.org
Il est possible d'ajouter un lien dans le menu application pour afficher Google Apps.
Certains paramètres doivent être adaptés :
On
pour toujours l'afficherGoogle Apps ne supporte pas le Single Logout (SLO).
Google Apps ne dispose pas de paramètre de configuration pour rediriger les utilisateurs vers une URL spécifique après la déconnexion Google Apps (voir Google Apps control panel).
Pour gérer l'autre voie (LL::NG → Google Apps), ajouter une règle de redirection après déconnexion:
GoogleApps => http://www.google.com/calendar/hosted/mydomain.org/logout