Ich habe eine .net-Anwendung, die mit meinem lokalen ADFS-Server (verbunden mit unserem Unternehmens-AD-Server) verbunden ist, und alles funktioniert einwandfrei. Meine Frage ist, ob mein ADFS eine vertrauenswürdige Verbindung zu zusätzlichen SSO-Diensten im Internet wie Azure AD, AWS, Google-Login, Facebook, Twitter, OpenID usw. herstellen kann, damit meine Anwendung Ansprüche aus mehreren anderen vertrauenswürdigen Quellen als meinen verwenden kann Verzeichnis aktivieren?
8
Antworten:
Ich habe das getan. In unserem Modell haben wir drei Benutzergruppen:
Interne Benutzer, die sich über Active Directory (Kerberos oder NTLM) bei der lokalen AD FS-Instanz authentifizieren. In diesem Satz wird der AD FS-Server als IdP ausgeführt.
Externe Benutzer, die sich über Active Directory (Kerberos oder NTLM) bei ihrer eigenen AD FS-Instanz und -Domäne authentifizieren. In diesem Satz verfügt der AD FS-Server über eine Anspruchsanbieter-Vertrauensstellung, die für den ausstellenden AD FS-Server konfiguriert ist. Unser AD FS-Server fungiert als SP-STS, indem er an anderer Stelle ausgestellte Ansprüche transformiert und validiert und ein vertrauenswürdiges Token erneut an unsere Anwendung ausgibt. Der IdP ist der AD FS-Server der anderen Domäne, auf dem unser AD FS-Server als vertrauende Partei konfiguriert ist.
Externe Benutzer ohne Unternehmensanmeldung. Diese Benutzer authentifizieren sich bei Small .Net STS, das auf unserem AD FS-Server als Claims Provider Trust konfiguriert ist. (Wir haben auch erwogen - und es war technisch unkompliziert -, Azure Active Directory B2C für diese Rolle zu verwenden, aber andere Bedenken haben dies verhindert.)
Token werden ausgestellt als:
Um es für unsere Kunden transparent zu machen, verwenden wir IP-Bereiche, um (über Nginx) zu erkennen und zum entsprechenden AD FS des Unternehmens umzuleiten - und verlassen uns ansonsten auf die Standard-AD FS-HRD-Seite.
quelle
Es scheint tatsächlich möglich zu sein, vertrauende Parteien zu verketten. Dieser Typ hat eine Reihe von Posts darüber geschrieben, hier ist einer. Sie können ADFS als "Hub" für die Authentifizierung Ihrer App verwenden und die Anforderung an den Dienst zurückketten, in dem sich die Identität des Benutzers tatsächlich befindet.
https://cloudidentityblog.com/2013/06/17/why-use-aad-as-idp-via-ad-fs-rp/
Ich habe das nicht selbst gemacht, daher bin ich mir nicht sicher, wie viel Arbeit das ist und was die Fallstricke sein könnten. Ich bin sicher, Sie könnten auf Probleme stoßen, wenn ein Benutzer in mehr als einem IdP lebt.
Vergessen Sie nicht, dass Sie nichts daran hindert, Ihre .NET-Anwendung zu schreiben, um mehrere SSO-Anbieter nativ nutzen zu können.
quelle
Ja, kann es.
Jeder dieser externen IDPs wird als Anspruchsanbieter in ADFS hinzugefügt, und auf der IDP-Seite wird ADFS als vertrauende Partei hinzugefügt.
Wenn Sie sich authentifizieren, zeigt ADFS einen Home Realm Discovery-Bildschirm an, in dem alle IDPs aufgelistet sind.
Sie wählen dann aus, welche Sie verwenden möchten.
quelle