<ahref="http://www.google.com/apps/"class="urlextern"title="http://www.google.com/apps/"rel="nofollow">Les applications Google</a> peuvent utiliser <abbrtitle="Security Assertion Markup Language">SAML</abbr> pour authentifier les utilisateurs, en se comportant comme des fournisseurs de service <abbrtitle="Security Assertion Markup Language">SAML</abbr>, tel qu'expliqué <ahref="http://code.google.com/googleapps/domain/sso/saml_reference_implementation.html"class="urlextern"title="http://code.google.com/googleapps/domain/sso/saml_reference_implementation.html"rel="nofollow">ici</a>.
</p>
<p>
Pour fonctionner avec <abbrtitle="LemonLDAP::NG">LL::NG</abbr> il faut :
</p>
<ul>
<liclass="level1"><divclass="li"> Un <ahref="http://www.google.com/apps/intl/en/business/index.html"class="urlextern"title="http://www.google.com/apps/intl/en/business/index.html"rel="nofollow">compte applicatif Google entreprise</a></div>
</li>
<liclass="level1"><divclass="li"><abbrtitle="LemonLDAP::NG">LL::NG</abbr> configuré comme <ahref="../idpsaml.html"class="wikilink1"title="documentation:2.0:idpsaml">fournisseur d'identité SAML</a></div>
</li>
<liclass="level1"><divclass="li"> Enregistrer les utilisateurs dans Google Apps avec la même adresse mail que celle utilisée dans <abbrtitle="LemonLDAP::NG">LL::NG</abbr> (l'adresse mail sera le NameID échangé entre Google Apps et <abbrtitle="LemonLDAP::NG">LL::NG</abbr>)</div>
<h3class="sectionedit4"id="google_apps_control_panel">Panneua de contrôle Google Apps</h3>
<divclass="level3">
<divclass="noteclassic">Cette section est basée sur la <ahref="http://simplesamlphp.org/docs/1.6/simplesamlphp-googleapps"class="urlextern"title="http://simplesamlphp.org/docs/1.6/simplesamlphp-googleapps"rel="nofollow">documentation SimpleSAMLPHP</a>.
</div>
<p>
Comme administrateur, aller dans le panneau de contrôle Google Apps et cliquer sur les outils avancés click (Advanced tools) :
<liclass="level1"><divclass="li"><strong>Enable Single Sign-On</strong>: sélectionner. Le désélectionner désactive l'authentification <abbrtitle="Security Assertion Markup Language">SAML</abbr> (à utiliser, si votre fournisseur d'identité est hors service).</div>
</li>
<liclass="level1"><divclass="li"><strong>Sign-in page <abbrtitle="Uniform Resource Locator">URL</abbr></strong>: point d'accès <abbrtitle="Authentification unique (Single Sign On)">SSO</abbr> (HTTP-Redirect binding). Exemple : <ahref="http://auth.example.com/saml/singleSignOn"class="urlextern"title="http://auth.example.com/saml/singleSignOn"rel="nofollow">http://auth.example.com/saml/singleSignOn</a></div>
</li>
<liclass="level1"><divclass="li"><strong>Sign-out page <abbrtitle="Uniform Resource Locator">URL</abbr></strong>: il ne s'agit pas du point d'accès de déconnexion globale (SLO) (Google Apps ne le supporte pas), mais de la page de déconnexion. Exemple: <ahref="http://auth.example.com/?logout=1"class="urlextern"title="http://auth.example.com/?logout=1"rel="nofollow">http://auth.example.com/?logout=1</a></div>
</li>
<liclass="level1"><divclass="li"><strong>Change password <abbrtitle="Uniform Resource Locator">URL</abbr></strong>: où les utilisateurs peuvent changer leur mot-de-passe. Exemple: <ahref="http://auth.example.com"class="urlextern"title="http://auth.example.com"rel="nofollow">http://auth.example.com</a></div>
</li>
</ul>
</div><!-- EDIT4 SECTION "Google Apps control panel" [688-1671] -->
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 <code>Télécharger</code>): Ceci télécharge les clefs publique et privée.
</p>
<p>
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é :
Télécharger ensuite le certificat (<code>cert.pem</code>) dans Google Apps.
</p>
<divclass="notetip">On peut aussi utiliser le certificat au lieu de la clef publique dans les métadatas <abbrtitle="Security Assertion Markup Language">SAML</abbr>, voir <ahref="../samlservice.html#security_parameters"class="wikilink1"title="documentation:2.0:samlservice">configuration du service SAML</a>
<h3class="sectionedit6"id="new_service_provider">Nouveau fournisseur de service</h3>
<divclass="level3">
<p>
Il est nécessaire d'avoir configuré <abbrtitle="LemonLDAP::NG">LL::NG</abbr> comme <ahref="../idpsaml.html"class="wikilink1"title="documentation:2.0:idpsaml">fournisseur d'identité SAML</a>,
</p>
<p>
Ajouter ensuite Google Apps comme nouveau fournisseur de service <abbrtitle="Security Assertion Markup Language">SAML</abbr> :
</p>
<ol>
<liclass="level1"><divclass="li"> Dans le manager, cliquer sur fournisseurs de service <abbrtitle="Security Assertion Markup Language">SAML</abbr> puis sur le bouton <code>Nouveau fournisseur de service</code>.</div>
</li>
<liclass="level1"><divclass="li"> Mettre GoogleApps comme nom de fournisseur de service.</div>
</li>
<liclass="level1"><divclass="li"> Mettre <code>Email</code> dans <code>Options</code> » <code>Réponse d'authentification</code> » <code>Format NameID par défaut</code></div>
</li>
<liclass="level1"><divclass="li"> Désactiver toutes les cases dans <code>Options</code> » <code>Signature</code>, excepté <code>Signer les messages <abbrtitle="Authentification unique (Single Sign On)">SSO</abbr></code> qui doit être activée</div>
</li>
<liclass="level1"><divclass="li"> Selectionner <code>Metadata</code>, et déprotéger le champ pour y mettre :</div>
<divclass="noteimportant">Changer <strong>mydomain.org</strong> (dans <code>AssertionConsumerService</code> markup, parameter <code>Location</code>) en votre domaine Google Apps. Adapter également l' "entityID" pour qu'elle corresponde à l'émetteur de l'assertion : google.com/a/mydomain.org
</div>
</div><!-- EDIT6 SECTION "New Service Provider" [2408-3803] -->
Il est possible d'ajouter un lien dans le <ahref="../portalmenu.html#categories_and_applications"class="wikilink1"title="documentation:2.0:portalmenu">menu application</a> pour afficher Google Apps.
</p>
<p>
Certains paramètres doivent être adaptés :
</p>
<ul>
<liclass="level1"><divclass="li"><strong>Address</strong> : indiquer une des <abbrtitle="Uniform Resource Locator">URL</abbr> de Google Apps (chaque application Google Apps produit une <abbrtitle="Uniform Resource Locator">URL</abbr> distincte), par exemple <ahref="http://www.google.com/calendar/hosted/mydomain.org/render"class="urlextern"title="http://www.google.com/calendar/hosted/mydomain.org/render"rel="nofollow">http://www.google.com/calendar/hosted/mydomain.org/render</a></div>
</li>
<liclass="level1"><divclass="li"><strong>Display</strong> : comme Google Apps n'est pas une application protégée, indiquer <code>On</code> pour toujours l'afficher</div>
</li>
</ul>
<divclass="noteimportant">Mettre <strong>mydomain.org</strong> dans le domaine Google Apps
Google Apps ne supporte pas le Single Logout (SLO).
</p>
<p>
Google Apps ne dispose pas de paramètre de configuration pour rediriger les utilisateurs vers une <abbrtitle="Uniform Resource Locator">URL</abbr> spécifique après la déconnexion Google Apps (voir <ahref="#google_apps_control_panel"title="documentation:2.0:applications:googleapps ↵"class="wikilink1">Google Apps control panel</a>).
</p>
<p>
Pour gérer l'autre voie (<abbrtitle="LemonLDAP::NG">LL::NG</abbr> → Google Apps), ajouter une <ahref="../logoutforward.html"class="wikilink1"title="documentation:2.0:logoutforward">règle de redirection après déconnexion</a>: