Untergeordnete Seiten
  • Crowd Dokumentation - Überblick über das SSO
Zum Ende der Metadaten springen
Zum Anfang der Metadaten


Crowd bietet über eine Vielzahl von Applikationen hinweg das Single Sign-on (SSO) an. Das heißt Ihre Benutzer können sich in nur einer Applikation einloggen und dann auf alle anderen Applikationen zugreifen, ohne sich bei jeder erneut einloggen zu müssen. Die SSO-Funktionalität ist für Applikationen innerhalb einer Domäne, wie Jira, Confluence und andere, verfügbar. Sie können das SSO sogar für die Applikationen hinter Ihrer Firewall erweitern, indem Sie CrowdID für OpenID und Crowds Google Apps Konnektor verwenden.

Diese Seite gibt Ihnen einen Überblick über Crowds SSO Möglichkeiten, inklusive einigen Links zu den detaillierten Informationen über die Konfiguration von Crowd und den betroffenen Applikationen.


SSO innerhalb einer Domäne

Die Kernfunktion von Crowd unterstützt SSO über mehrere Applikationen hinweg, innerhalb einer Domäne, wie z. B. *.mydomain.com. Crowd benutzt einen Browser-Cookie um das SSO zu verwalten. Da Ihr Browser den Zugriff auf die Cookies der Hosts in der gleichen Domäne einschränkt, müssen alle Ihre Applikationen, die am SSO teilnehmen, in derselben Domäne sein.



Beispiel Nr. 1: Wenn Sie das Single Sign-on (SSO) für *.mydomain.com haben möchten, dann müssen Sie die SSO-Domäne in Crowd als .mydomain.com konfigurieren - inklusive Punkt (".") am Anfang. All Ihre Crowd-verbundenen Applikationen müssen in der selben Domäne sein. Zum Beispiel:

Crowdcrowd.mydomain.com(Haken)
Jirajira.mydomain.com(Haken)
Confluenceconfluence.mydomain.com(Haken)
FishEyefisheye.mydomain.com(Haken)
FishEye in einer anderen Domänefisheye.beispiel.com(Fehler)



Beispiel Nr. 2: Wenn Sie die Untersützung des Single Sign-ons (SSO) für mydomain.com/* haben wollen, dann müssen Sie die SSO-Domain in Crowd als mydomain.com konfigurieren. Alle Ihre Crowd-verbundenen Applikationen müssen sich in der gleichen Domäne befinden. Zum Beispiel:

Crowdmydomain.com/crowd(Haken)
Jiramydomain.com/jira(Haken)
Confluencemydomain.com/confluence(Haken)
FishEyemydomain.com/fisheye(Haken)
FishEye in einer anderen Domänebeispiel.com/fisheye(Haken)

Weitere Informationen über den Vergleich der Hostnamen-Strings finden Sie unter RFC 2965 (auf den Seiten 2 und 3).

Sie können die SSO-Domäne über Crowds Administrationskonsole konfigurieren, wie in dieser Dokumentation beschrieben ist.



Wie es funktioniert

Das Diagramm unten gibt Ihnen einen konzeptionellen Überblick darüber wie die HTTP-Anfragen durch einen SSO-Filter gehen und direkt durch die Business Logic der Applikation gehen, um eine Antwort zu erstellen. (Klicken Sie auf das Diagramm, um es zu vergrößern.)

Das Diagramm zeigt nur den "happy path" (optimalen Weg), und setzt voraus, dass:

  • Der Benutzer sich bereits in der Applikation eingeloggt hat, die für die Teilnahme am SSO konfiguriert wurde. Wenn der Benutzer sich bereits in einer Applikation eingeloggt, dann muss er sich nicht mehr beim Zugriff auf eine weitere Applikation, in der selben Domäne, einloggen.
  • Die Anfrage alle Authentifizierungs- und Autorisierungsprüfungen passieren.

Das Diagramm veranschaulicht die folgenden Schritte:

  • Schritt 1: Die HTTP-Anfrage mit einem SSO-Cookie.
    • Der Benutzer hat sich bereits in eine Applikation eingeloggt, die Teil der SSO-Umgebung ist.
    • Der Benutzer greift auf eine neue Applikation, innerhalb der SSO-Umgebung, zu oder führt andere Aktionen auf der Webseite aus.
    • Der Browser erstellt eine HTTP-Anfrage, bündelt alle Cookies für die Domäne und sendet die Anfragen zu der Web-Applikation. Darin inkludiert ist das SSO-Cookie, denn der Benutzer hat sich bereits eingeloggt.
    • Die Anfrage wird vom SSO-Filter im Security-Framework der Applikation abgefangen. Dieser Filter kann von Atlassian Seraph, Spring Security, einem anderen Framework oder von einem benutzerdefinierten Code bereitgestellt werden.
    • (Wenn der Benutzer sich nicht eingeloggt hat, leitet der Filter den Benutzer an dieser Stelle zur Login-Seite weiter. Aber wir gehen davon aus, dass sich der Benutzer bereits eingeloggt hat.)
    • Der Crowd Authenticator findet den SSO-Cookie, extrahiert den SSO-Token und leitet den Token zu Crowd weiter. Der Crowd Authenticator ist für das Security Framework ein Plugin (Atlassian Seraph, Spring Security und andere).
  • Schritt 2: Validierung des SSO-Tokens.
    • Crowd validiert den Sitzungs-Token. Wenn eine andere Applikation in derselben Domäne den Benutzer bereits authentifiziert hat, wird Crowd die vorhandene Authentifizierung validieren.
    • Wenn Die Sitzung abgelaufen ist, leitet Crowd den Benutzer zur Login-Seite weiter.
    • Crowd überprüft, ob der Benutzer dazu autorisiert ist auf die Applikation zuzugreifen.
    • Wenn der Benutzer nicht die erforderlichen Rechte besitzt, dann leitet Crowd den Benutzer zur Login-Seite weiter.
    • Sobald die Validierung erfolgreich war, leitet Crowd den validierten Token zurück zum SSO-Filter der Applikation.
      (Info) Wenn die Sitzung immer noch gültig ist, muss der Benutzer sich nicht erneut einloggen, selbst wenn er auf eine andere Applikation zugreift. Die Authentifizierung und Autorisierung wird für den Benutzer transparent sein.
  • Schritt 3: Verarbeitung der HTTP-Anfrage.
    • Der SSO-Filter der Applikation leitet die Anfrage zum Business Logic Handler weiter. (In einer Java-Applikation ist das das Servlet.)
    • Der Business Logic Handler verarbeitet die Anfragen und erstellt die Antwort.
  • Schritt 4: Die HTTP-Antwort.
    • Die Applikation sendet die Antwort zurück an den Browser.

(Info) Hier ist ein Überblick über die Servlet-Filter von Oracle und ein nützliches Tutorial von O'Reilly.



Der SSO-Filter wird entweder durch ein Security-Framework oder einen benutzerdefinierten Code zur Verfügung gestellt:

Security-Framework oder benutzerdefinierter CodeKommentare
Framework: Atlassian SeraphDie meisten Atlassian-Applikationen benutzen Seraph. Die Crowd Dokumentation erklärt Ihnen wie Sie SSO in Confluence, Jira, Bamboo, etc. integrieren. Wenn Sie Crowd in eine benutzerdefinierte Applikation integrieren, dann müssen Sie entscheiden, ob Sie Seraph als Ihr Security-Framework verwenden.
Framework: Spring Security

Sie haben vielleicht eine Applikation, die das Spring Security-Framework verwendet und die Sie mit Crowd verbinden. Die Crowd Dokumentation erklärt Ihnen wie Sie das SSO in eine Spring Security-basierende Applikation integrieren.

Gut zu wissen: Crowd benutzt das Spring Security-Framework und so tut es auch die Crowd "Demo" Applikation.

Framework: Acegi Security (veraltet)

Sie haben vielleicht eine Web-Applikation, die das Acegi Security-Framework benutzt und die Sie nun mit Crowd verbinden möchten. Die englische Crowd Dokumentation erklärt Ihnen wie Sie das SSO in eine Acegi-basierende Applikation integrieren.

Beachten Sie, dass Acegi Security eine ältere Version von Spring Security ist.

Benutzerdefinierte Authentifizierung für Atlassian FishEye und CrucibleCrowd bietet eine benutzerdefinierte Integration für FishEye und/oder Crucible, inklusive SSO. Lesen Sie dazu die Crowd Dokumentation.
Crowd API für Ihre benutzerdefinierte Applikation

Wenn Sie Crowd in Ihre eigene Web-Applikation integrieren, dann können Sie die Crowd API für die Implementierung des SSOs verwenden.

  • Wir empfehlen Ihnen für eine langfristige Kompatibilität die Verwendung der Crowd REST API.
  • Wenn Sie eine Java-Applikation haben, können Sie die Java Integrations-Libraries benutzen, die mit Crowd kommen, aber beachten Sie bitte, dass sie sich zwischen den Releases möglicherweise ändern.
  • Es gibt eine Vielzahl von Drittanbieter Sprachbindungen und Applikations-Konnektoren, die von Crowd-Benutzern entwickelt wurden. Sie finden sie in Atlassians Marketplace.



Crowd für das SSO konfigurieren

Unten sind die Konfigurationseinstellungen, die sich auf das SSO auswirken:

KurzbeschreibungWeitere Informationen
Legen Sie Ihre SSO-Domäne fest.Legen Sie die Domäne in Crowds Administrationskonsole fest, wie in der Dokumentation beschrieben.
Optional: Konfigurieren Sie vertrauenswürdige Proxy-Server.Konfigurieren Sie Crowd dahingehend, dass es der IP-Adresse eines Proxys vertraut, wenn Sie Applikationen hinter einem oder mehreren Proxy-Servern betreiben. Lesen Sie die Dokumentation.
Optional: Erzwingen Sie eine sichere Verbindung, wie SSL, für alle SSO-Anfragen.

Sie können definieren, dass das "secure" Flag des SSO-Cookies gesetzt ist, wie in der Dokumentation beschrieben.

(Warnung) Unsichere Verbindungen werden zurückgewiesen, inklusive der Crowd Administrationskonsole, wenn nicht via SSL zugegriffen wird.



Konfigurieren Sie die Applikationen für das SSO

Wenn Sie Crowd in eine Applikation integrieren, müssen Sie die Applikation für die Benutzung von Crowd als zentralisiertes Authentifizierungs-Repository konfigurieren. Bei den meisten, aber nicht allen, Applikationen können Sie außerdem noch das SSO konfigurieren. Dies ist für jede Applikation im Detail beschrieben:


Problembehandlung beim SSO

Lesen Sie die Seite über die Problembehandlung beim SSO mit Crowd.


SSO hinter der Firewall

Crowd erlaubt Ihnen das SSO für Applikationen hinter der Firewall zu erweitern, indem Sie CrowdID und Crowds Google Apps Konnektor benutzen.


CrowdID als OpenID-Anbieter verwenden

Crowd erlaubt es Ihnen einen OpenID-Anbieter zu hosten, genannt CrowdID, sodass Ihre Benutzer einen einzelnen Authentifizierungspunkt für alle OpenID-freigeschaltete Webseiten haben. Lesen Sie dazu die CrowdID Administrationsanleitung und die CrowdID Benutzeranleitung.

OpenID ist ein offenes, kostenloses Protokoll, welches einem Benutzer erlaubt einen einzelnen Identifier zu haben, mit dem er sich an allen OpenID-freigeschalteten Webseiten einloggen kann. Die Webseite wird mit einem bestimmten OpenID-Anbieter kommunizieren (in diesem Fall mit Ihrem CrowdID Server), wenn die Zugangsdaten eines Benutzers verifiziert werden sollen. Wenn Ihr Team zum Beispiel das CRM-Tool Highrize von 37signals in Kombination mit Crowds OpenID-Anbieter verwendet, bedeutet das, dass Sie das SSO zwischen Highrize und den Applikationen hinter Ihrer Firewall für Ihr ganzes Team herstellen können.


SSO mit Google Apps verwenden

Crowd bietet das SSO für Google Apps mit dem Google Apps Konnektor an, der mit Ihrer Crowd-Installation kommt. Das bedeutet, dass sich Ihre Benutzer einmalig einloggen und dann zwischen den Google Apps und anderen Applikationen, wie Jira, Confluence, etc. bewegen können.




Crowd Dokumentation Übersicht:



Crowd Doku

  • Keine Stichwörter