Dashlane benötigt den SSO-Verbindungsservice, um SSO-Benutzer authentifizieren zu können. Diese SSO-Verbindung muss in einer Umgebung gehostet werden, die von Ihrem Unternehmen kontrolliert wird.
Die meisten Dashlane-Kunden entscheiden sich für den Einsatz einer unserer vorkonfigurierten SSO-Verbindungen in Azure oder AWS.
Dieser Artikel erklärt, wie die SSO-Verbindung auf einem Linux-Rechner eingerichtet wird.
Inhalt
Anforderungen für eine SSO-Verbindung
Linux/Docker
Sie benötigen eine (virtuelle) Machine mit einer Linux-Distribution, die Docker unterstützt.
Netzwerk
Die SSO-Verbindung verwendet TCP/443 für die Kommunikation mit den Dashlane-Servern (*.dashlane.com) und Endbenutzer-Kunden. Für die Kommunikation mit Endbenutzer-Kunden muss die SSO-Verbindung über eine HTTPS-URL (wie z. B. https://ssoconnector.mycompany.com erreichbar sein). Wenn ein Proxy oder Load Balancer verwendet wird, kann die Docker-Instanz, auf der die SSO-Verbindung bereitgestellt wird, einen anderen Port als 443 nutzen. Wenn z. B. ein Load Balancer verwendet wird, um mehrere Instanzen der SSO-Verbindung auszuführen, sollte der Load Balancer auf Port 443 angezeigt werden, während die SSO-Verbindung auf jedem Port angezeigt werden kann (der Standardwert ist 3000). Wenn die SSO-Verbindung direkt zugänglich ist, benötigen Sie das entsprechende SSL-Zertifikat für die Domain.
Konfigurationsdatei
Mit der Konfigurationsdatei, die in der Administrator-Konsole von Dashlane heruntergeladen werden kann, lässt sich die SSO-Verbindung konfigurieren. Zunächst müssen die notwendigen Informationen in die Administrator-Konsole eingetragen werden, sodass die Konfigurationsdatei generiert und dann heruntergeladen werden kann. Dazu gehören:
- Die AML-Metadaten des Identitätsanbieters
- Der Endpunkt der SSO-Verbindung, über den auf die SSO-Verbindung zugegriffen werden kann (z. B. https://ssoconnector.mycompany.com).
- Der SSO-Verbindungsschlüssel, der in der Administrator-Konsole von Dashlane generiert wird; hierbei handelt es sich um einen einzigartigen Schlüssel, durch dessen Verwendung Dashlane eine Zero-Knowledge-Architektur gewährleisten kann. Hinweis: Wenn dieser Schlüssel verloren geht, gehen alle Benutzerdaten verloren. Stellen Sie sicher, dass der Schlüssel an einem sicheren und einprägsamen Ort aufbewahrt wird.
Bereitstellung der SSO-Verbindung auf einer virtuellen Maschine
Zu den Schritten auf hoher Ebene zur Bereitstellung der SSO-Verbindung gehören:
- Bereitstellung einer virtuellen Maschine (VM) mit einer Linux-Distribution, die Docker unterstützt. Installieren Sie Docker gemäß der Installationsanleitung für Docker. In unserem Beispiel haben wir eine Ubuntu-Linux-VM bereitgestellt.
- Hinzufügen eines A-Eintrags zu Ihrem DNS für die SSO-Verbindung (z. B. ssoconnector.mycompany.com).
- Übertragung über die SSO-Konfigurationsdatei (und Durchführung aller notwendigen Änderungen für die SSL-Einrichtung).
- Ausführung eines Docker-Befehls zur Instanziierung des Dienstes.
Konfigurieren Sie eine Ubuntu-Linux-Maschine und installieren Sie Docker
- Einbindung eines SSH in Ihre Linux-Maschine. Dies setzt voraus, dass die Maschine und jede Netzwerkkonfiguration eingehenden Datenverkehr auf Port 22 öffnen.
- Nehmen Sie als Administrator der Maschine eine Installation von Docker vor. In Produktionsumgebungen, die Ubuntu verwenden, können Sie unter Verwendung des Repositorys das hier vorgestellte Installationsverfahren einsetzen. Zum Ausführen von Docker können Sie jeden Linux-Benutzer (oder jedes Dienstkonto)verwenden.
- Konfigurieren Sie Ihren DNS und alle Netzwerkebenen so, dass der Verkehr, der an den Endpunkt Ihrer SSO-Verbindung (https://ssoconnector.mycompany.com) gerichtet ist, angemessen an die VM weitergeleitet wird.
Einrichten der SSO-Verbindung (mit einem Proxy oder Load Balancer)
Bei dieser Art der Einrichtung wird vorausgesetzt, dass die SSL-Verschlüsselung von einem anderen Dienst, z. B. einem Load Balancer, übernommen wird. Sollten weder ein Proxy noch ein Load Balancer vorhanden sein, lesen Sie sich den nächsten Abschnitt durch.
- Übertragen Sie die Konfigurationsdatei Ihrer SSO-Verbindung auf Ihre Linux-Maschine.
- Nehmen Sie eine angemessene Änderung des folgenden Befehls vor und führen Sie ihn durch, um den SSO-Verbindungsdienst zu starten.
- Aktualisieren Sie <PORT USED BY PROXY> mit der Port-Nummer, auf die der Proxy reagiert.
- Aktualisieren Sie <PATH TO CONFIG FILE> mit dem lokalen Pfad zur Konfigurationsdatei der SSO-Verbindung, die Sie zuvor übertragen haben.
docker run -p <PORT USED BY PROXY>:3000 --name dashlane-sso-connector --env-file=<PATH TO CONFIG FILE> --restart=always --privileged=false dashlane/sso-connector:latest
Zum Beispiel:
docker run -p 8080:3000 --name dashlane-sso-connector --env-file=/home/usr/dashlane-sso-config.env --restart=always --privileged=false dashlane/sso-connector:latest
Einstellung Beschreibung Link zur Docker-Dokumentation -p Wird verwendet, um die Ports zu binden, auf die der SSO-Verbindungsdienst reagiert. 3000 ist der Wert des Standardports. Dieser kann zu jedem beliebigen Wert geändert werden. Referenzlink --name Name des Containers Referenzlink --env-file Der lokale Pfad zu der Konfigurationsdatei der SSO-Verbindung, der alle erforderlichen Umgebungsvariablen enthält. Referenzlink --restart=always Der Docker-Container wird neu gestartet, wenn das Gerät versehentlich neu gestartet wird Referenzlink --privileged=false Wird verwendet, um sicherzustellen, dass der privilegierte Zugang der Maschine nicht eingesetzt wird (da er nicht benötigt wird, um die SSO-Verbindung auszuführen). Referenzlink dashlane/sso-connector:latest Das Image, das aus dem offiziellen Docker-Repository mit dem neuesten SSO-Verbindungspaket heruntergeladen wird. Referenzlink
- Wenn die Ausführung des Befehls dazu geführt hat, dass die SSO-Verbindung erfolgreich ausgeführt wird, fahren Sie mit den Anweisungen im Abschnitt „Erfolgreiches Einrichten der SSO-Verbindung“ fort. Ist dies nicht der Fall, befolgen Sie die Anweisungen im unten stehenden Abschnitt „Fehlerbehebung bei der SSO-Verbindung“. Ein erfolgreiches Ergebnis sieht in etwa folgendermaßen aus:
Einrichten der SSO-Verbindung (ohne Proxy oder Load Balancer)
Wenn die SSO-Verbindung zusätzlich das SSL-Zertifikat verwaltet (dies geschieht, wenn kein Proxy oder Load Balancer eingesetzt wird), gehen Sie wie folgt vor:
- Übertragen Sie die Konfigurationsdatei Ihrer SSO-Verbindung auf Ihre Linux-Maschine.
- Kopieren Sie das SSL-Zertifikat und den entsprechenden privaten Schlüssel auf Ihre Linux-Maschine.
- Bearbeiten Sie die Konfigurationsdatei der SSO-Verbindung und fügen Sie unten in der Datei die folgenden beiden Umgebungsvariablen hinzu.
DASHLANE_SSO_SSL_CERTIFICATE=/certificate.crt
DASHLANE_SSO_SSL_PRIVATE_KEY=/private.keyDie Datei sollte in etwa folgendermaßen aussehen:
- Nehmen Sie eine entsprechende Änderung des folgenden Befehls vor und führen Sie ihn durch, um den SSO-Verbindungsdienst zu starten:
- Aktualisieren Sie <PATH TO CONFIG FILE> mit dem lokalen Pfad zur Konfigurationsdatei der SSO-Verbindung, die Sie zuvor übertragen haben.
- Aktualisieren Sie <PATH TO SSL CERTIFICATE> mit dem lokalen Pfad zum SSL-Zertifikat.
- Aktualisieren Sie <PATH TO SSL CERTIFICATE> mit dem lokalen Pfad zum privaten Schlüssel des SSL-Zertifikats.
docker run -p 443:3000 --name dashlane-sso-connector --env-file=<PATH TO CONFIG FILE> -v <PATH TO SSL CERTIFICATE>:/certificate.crt -v
<PATH TO SSL CERTIFICATE PRIVATE KEY>:/private.key --restart=always --privileged=false dashlane/sso-connector:latestZum Beispiel:
docker run -p 443:3000 --name dashlane-sso-connector --env-file=/home/usr/dashlane-sso-config.env -v /home/usr/certificate.crt:/certificate.crt -v /home/usr/private.key:/private.key --restart=always --privileged=false dashlane/sso-connector:latest
Einstellung Beschreibung Link zur Docker-Dokumentation -p Wird verwendet, um die Ports zu binden, auf die der SSO-Verbindungsdienst reagiert. 3000 ist der Wert des Standardports. Dieser kann zu jedem beliebigen Wert geändert werden. Der Wert 443 wird für HTTPS eingesetzt. Referenzlink --name Name des Containers Referenzlink --env-file Der lokale Pfad zu der Konfigurationsdatei der SSO-Verbindung, der alle erforderlichen Umgebungsvariablen enthält. Referenzlink -v Aktiviert einen schreibgeschützten Datenträger für den Container, damit die SSO-Verbindung auf die Dateien zugreifen kann. Referenzlink --restart=always Der Docker-Container wird neu gestartet, wenn das Gerät versehentlich neu gestartet wird Referenzlink --privileged=false Wird verwendet, um sicherzustellen, dass der privilegierte Zugang der Maschine nicht eingesetzt wird (da er nicht benötigt wird, um die SSO-Verbindung auszuführen). Referenzlink dashlane/sso-connector:latest Das Image, das aus dem offiziellen Docker-Repository mit dem neuesten SSO-Verbindungspaket heruntergeladen wird. Referenzlink - Wenn die Ausführung des Befehls dazu geführt hat, dass die SSO-Verbindung erfolgreich ausgeführt wird, fahren Sie mit den Anweisungen im Abschnitt „Erfolgreiches Einrichten der SSO-Verbindung“ fort. Ist dies nicht der Fall, befolgen Sie die Anweisungen im untenstehenden Abschnitt „Fehlerbehebung bei der SSO-Verbindung“. Ein erfolgreiches Ergebnis sieht in etwa folgendermaßen aus:
Wenn Sie in Zukunft das SSL-Zertifikat aktualisieren müssen, befolgen Sie die folgenden Schritte zur Wartung und Aktualisierung der SSO-Verbindung. Stellen Sie sicher, dass Sie das neue SSL-Zertifikat und den privaten Schlüssel verwenden, wenn Sie die Einrichtungsanweisung erneut durchlaufen.
Erfolgreiches Einrichten der SSO-Verbindung
Herunterladen der SAML-Metadaten der SSO-Verbindung
Sobald die SSO-Verbindung erfolgreich ausgeführt wird, können Sie die SAML-Metadaten der SSO-Verbindung herunterladen. Der Link sollte in der Ausgabe angezeigt werden und das folgende Format haben:
https://{SSO connector endpoint}/saml/.
Sie benötigen den Link, um Ihren Identitätsanbieter zu konfigurieren. Navigieren Sie zur Metadaten-URL, um die Metadatendatei herunterzuladen.
Sie können nun zum verbleibenden Teil der Setup-Anleitung für Ihren Identitätsanbieter zurückkehren.
Erweiterte Einstellung: Mehrere Instanzen für hohe Verfügbarkeit und Skalierbarkeit ausführen
Die Architektur der SSO-Verbindung ist ortsunabhängig. Es können mehrere Instanzen initiiert werden, um den Dienst in hohem Maße verfügbar zu machen und, falls erforderlich, seine Kapazität zu erhöhen.
Um weitere Instanzen der SSO-Verbindung auszuführen, müssen Sie das Docker-Image auf einer anderen Maschine bereitstellen und darauf achten, dass der SSO-Verbindungsschlüssel in der Konfigurationsdatei für alle Instanzen derselbe ist.
Der SSO-Verbindungsschlüssel sollte normalerweise nach der ersten Generierung zum Zeitpunkt der Bereitstellung der ersten Instanz der SSO-Verbindung sicher gespeichert worden sein. Ist dies nicht der Fall, können Sie den Schlüssel möglicherweise in der Konfigurationsdatei abrufen, die Sie bei der Einrichtung der ersten Instanz heruntergeladen haben. Falls die erste Konfigurationsdatei ebenfalls nicht verfügbar ist, ist es nicht möglich, weitere Instanzen der SSO-Verbindung zu erstellen.
Wartung und Upgrade der SSO-Verbindung
Wir nehmen kontinuierlich Aktualisierungen der SSO-Verbindung vor. Um sicherzustellen, dass Sie stets die neuesten Updates erhalten, müssen Sie das neueste Image aus dem Docker-Hub abrufen, die laufende Instanz anhalten, sie entfernen, und die Instanz dann erneut ausführen. Wir empfehlen, dies einmal im Monat zu tun.
Um das Docker-Image zu aktualisieren, führen Sie folgenden Befehl aus:
docker pull dashlane/sso-connector
Führen Sie folgenden Befehl aus, um den Container anzuhalten:
docker stop $(docker ps -a --filter "name=dashlane-sso-connector")
Führen Sie folgenden Befehl aus, um den bestehenden Container zu entfernen:
docker rm $(docker ps -a --filter "name=dashlane-sso-connector")
Führen Sie den Container für Ihre Konfiguration erneut aus, indem Sie den Einrichtungsschritten folgen. Dabei wird nun das neueste Image verwendet.
- Einrichten der SSO-Verbindung mit einem Load Balancer oder Proxy
- Einrichten der SSO-Verbindung ohne Load Balancer oder Proxy
Fehlerbehebung bei der SSO-Verbindung
Berechtigung verweigert
Die Berechtigung wurde verweigert, als versucht wurde, unter unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json: dial unix /var/run/docker.sock: connect: permission denied eine Verbindung zum Docker-Daemon-Socket herzustellen.
Sie müssen als Administrator eingestuft werden, um den Docker-Befehl ausführen zu können. Fügen Sie vor dem Befehl sudo ein.
sudo docker <restlicher Befehl>
Container wird verwendet
docker: Error response from daemon: Conflict. Der Container-Name „/dashlane-sso-connector“ wird bereits von dem Container „container_id“ verwendet. Sie müssen diesen Container entfernen (oder umbenennen) um den Namen erneut verwenden zu können.
De Container sollte zunächst angehalten und dann entfernt werden. Sie können folgenden Befehl ausführen, um den Container anzuhalten:
docker stop $(docker ps -a --filter "name=dashlane-sso-connector")
Führen Sie folgenden Befehl aus, um den bestehenden Container zu entfernen:
docker rm $(docker ps -a --filter "name=dashlane-sso-connector")
Fehlercodes
Fehler | Lösung |
INVALID_KEY_UUID | Sobald Sie die SSO-Verbindung erfolgreich ausführen, registrieren wir die ID des SSO-Verbindungsschlüssels. Dieser Fehler wird angezeigt, wenn Sie versuchen, die SSO-Verbindung erneut zu instanziieren und dabei einen SSO-Verbindungsschlüssel verwenden, der nicht mit der registrierten ID übereinstimmt. Bitte stellen Sie sicher, dass derselbe Schlüssel wie zuvor verwendet wird. |