Google Apps, AD und SSO


15

Wir sind ein kleiner Shop, in dem Google Apps (Enterprise) für unsere E-Mail-Anforderungen ausgeführt wird. Liebe es. Intern verwenden wir Windows AD (2003). Auch dort gibt es keine Beschwerden.

Ich möchte eine Methode für die einmalige Anmeldung zwischen AD und Google Apps entwickeln, sodass AD der einzige Ort ist, an dem meine Mitarbeiter Kennwörter verwalten (und regelmäßig ändern!) Müssen.

Ich habe in der Vergangenheit die "tfm" von Google durchgesehen, aber ich glaube, ich verstehe es einfach nicht ganz. Hat das jemand gemacht? Wenn ja, wären Sie bereit zu teilen, wie? Geht das ohne großen Aufwand und Aufwand?


Wir machen das, aber ich bin nicht ganz auf dem Laufenden. Sie müssen bis Montag warten, damit ich einen unserer Programmierer fragen kann.
l0c0b0x

@ l0c0b0x: Ich bin ganz Ohr :-)
Chris_K

Lies die Antwort von Zoreache :)
l0c0b0x

Antworten:


9

Mit Google Apps können Sie einige Dinge tun.

Sie können einen SAML- Server einrichten, der mit Ihrem AD-Netzwerk verbunden ist, und dann Google einrichten, um Ihren Google Apps-Zugriff gegenüber dem SAML-Server zu authentifizieren. Wir haben eine PHP-Anwendung namens simpleSAMLphp verwendet, da wir bereits Server für PHP eingerichtet haben und Entwickler mit PHP-Kenntnissen haben. Der Nachteil einer SAML-Lösung ist, dass Sie sich nur über das Web bei Konten anmelden können. Dies bedeutet, dass Sie nicht über imap / pop auf Ihr Postfach zugreifen können und sich nicht mit einem alten XMPP-Client bei Google Talk anmelden können.

Durch die Verwendung von SAML werden nicht automatisch Konten in der Google Apps-Domain erstellt. Möglicherweise benötigen Sie auch ein Tool, mit dem Konten synchronisiert werden, damit Sie das Google Apps-Verzeichnissynchronisierungstool verwenden können. Auf diese Weise können Sie Konten erstellen, die Kennwörter werden jedoch standardmäßig nicht synchronisiert, da die Windows-Kennwort-Hashes nicht umkehrbar sind und Google nichts damit anfangen kann.

Es ist möglich, PasswdHk zu verwenden, um Kennwortänderungen in Ihrem AD abzufangen und das Kennwort dann in einem Format (ungesalzenes sha1) zu speichern, das das Google-Dienstprogramm zur Verzeichnissynchronisierung zum Festlegen der Google Apps-Kennwörter verwenden kann. Dies erhöht jedoch das Sicherheitsrisiko, da Google nur nicht gesalzene MD5- oder SHA1-Kennwort-Hashes über die Provisioning-API akzeptiert. Um eine Synchronisierung mit Google durchzuführen , müssen Sie diese Hashes grundsätzlich speichern. Wenn Sie dies verwenden möchten, ist es sehr wichtig, diese Hashes sicher zu halten.

Hmmph. Sie hatten mich alle auf SAML gespannt, bis auf Imap / Pop. Das würde alle Leute umbringen, die Windows Mobile- und Blackberry-Clients verwenden, nicht wahr? Gibt es clevere Alternativen?

Wenn Sie bereit sind, das Risiko des Speicherns von Kennwort-Hashes zu akzeptieren, können Sie SSO und Verzeichnis synchronisieren, um ein funktionierendes System zu erhalten.

Alternativ könnte jemand ein Intranet-Portal entwickeln, in dem Nutzer in Ihrer Domain ihr Google-Konto initialisieren und das Passwort für das Google-Konto festlegen. Ich hatte überlegt, so etwas zu entwickeln, konnte aber meine Kollegen nicht dazu bringen, zuzustimmen, dass es der richtige Weg war.

Die Grundidee dabei ist, eine Webapp zu erstellen, die

  • Lebt in Ihrem Intranet und authentifiziert sich mit Ihrem Active Directory
  • Verfügt über eine Funktion, die den Benutzernamen und das Kennwort übernimmt, mit denen sich der Benutzer auf der Intranetsite anmeldet, und alle anderen erforderlichen Informationen aus dem AD abruft. Anschließend können Sie mithilfe der Google Provisioning-API das Benutzerkonto hinzufügen / aktualisieren.

Das Tool zu erstellen sollte eigentlich nicht allzu schwierig sein, ich hatte geschätzt, dass es nur 12-16 Stunden Entwicklungszeit benötigt. Der Vorteil dieser Lösung ist, dass sie Ihnen 100% Google Apps-Funktionalität bietet. Der Nachteil ist, dass der Endbenutzer dadurch ein wenig belästigt wird.


Hmmph. Sie hatten mich alle auf SAML gespannt, bis auf Imap / Pop. Das würde alle Leute umbringen, die Windows Mobile- und Blackberry-Clients verwenden, oder? Gibt es clevere Alternativen? Vielleicht beginne ich zu verstehen, warum dies nicht so häufig ist ...
Chris_K

Danke für die Bearbeitung und die zusätzlichen Infos. Ich habe jetzt viel zu überlegen.
Chris_K

3
Google hat ein neues Passwortsynchronisierungsprodukt namens Google Apps Password Sync (GAPS) veröffentlicht , das dies nun verarbeiten sollte.
Zoredache

2

Auch ich würde gerne eine bessere Antwort auf diese Frage sehen.

Ich habe mit Google Apps Directory Sync herumgespielt, um Google-Nutzer von Active Directory-Nutzern zu synchronisieren. Bis zu dem Punkt, an dem ich gelesen habe, dass die LDAP-Implementierung von AD das Kennwort in einem verschlüsselten Binärfeld speichert, auf das das Google-Synchronisierungstool keinen Zugriff hat, sah es gut aus.

Die andere SSO-Lösung von Google scheint das Gegenteil zu bewirken, sodass Google die maßgebliche Quelle für Anmeldeinformationen ist. Das interessiert uns nicht; Was würde in unserem LAN passieren, wenn unser Internetzugang ausfällt?

Derzeit ist meine beste Lösung eine Google Apps-Tabelle mit Benutzernamen und Passwörtern, die wir dann in CSV exportieren und als Massenimport in Google Apps ausführen . Dies behandelt keine Passwortänderungen. Bisher ist das Beste, was wir haben, unseren Nutzern beizubringen, das Google- und das Windows-Passwort in dasselbe neue Passwort zu ändern, wenn die Windows-Passwortrichtlinie eine Änderung erzwingt.


1
Ihr Kommentar zum Google SAML-Dienst ist nicht korrekt (2. Absatz). Mit SAML können Sie die Authentifizierung von einem Dienst in Ihrem lokalen Netzwerk durchführen lassen. Ihre AD ist die maßgebliche Quelle für die Genehmigung. Was Sie tun sollen, ist die Verzeichnissynchronisierung und die SAML-Integration parallel auszuführen, da sie nicht sehr nützlich sind.
Zoredache

Super, danke für die Korrektur. Nach Ihrem Kommentar habe ich nach weiteren Informationen gesucht und diese schöne Übersicht über den SAML-Authentifizierungsablauf gefunden . Code.google.com/apis/apps/sso/… .
Jesper M

2

Hier ist ein Passwortfilter, der den Hash in der Anzeige speichert. http://code.google.com/p/sha1hexfltr/ Die Hashes in der Anzeige werden sicher gespeichert. Kein SSO nötig, keine neuen Server nötig!


1

Hmm, niemand macht das SSO-Ding? Ich gebe zu, ich bin ein bisschen überrascht!

Nur um die Dinge ins Rollen zu bringen: Ich habe PingConnect über andere Kanäle vorschlagen lassen. Hat es jemand benutzt?



0

Einige Produkte wie Oracle Internet Directory + Oracle SSO (und IBM TIM / TAM) ermöglichen das Einbinden in Systeme von Drittanbietern. Dies bedeutet, dass das Produkt für die Synchronisierung mit AD konfiguriert ist und Anmeldeinformationen für jedes andere Produkt speichert, das Sie sich vorstellen. Sie erhalten einen neuen Login-Link, über den die Anmeldeinformationen für das gewünschte System (in diesem Fall Google Apps) festgelegt werden.

Denken Sie daran, es ist ziemlich kompliziert, eine solche Konfiguration zum Laufen zu bringen, und es kann Sie auch etwas Geld kosten, so dass es nicht für jede Organisation geeignet ist.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.