Freigeben über


Einzelne Sign-On (Erstellen Real-World Cloud-Apps mit Azure)

von Rick Anderson, Tom Dykstra

Download Fix It Project oder E-Book herunterladen

Das E-Book Building Real World Cloud Apps with Azure basiert auf einer Präsentation, die von Scott Guthrie entwickelt wurde. Es werden 13 Muster und Methoden erläutert, die Ihnen helfen können, Web-Apps für die Cloud erfolgreich zu entwickeln. Informationen zum E-Book finden Sie im ersten Kapitel.

Bei der Entwicklung einer Cloud-App gibt es viele Sicherheitsprobleme zu beachten, aber in dieser Reihe konzentrieren wir uns auf ein einziges: einmaliges Anmelden. Eine Frage, die häufig gestellt wird, lautet: "Ich baue in erster Linie Apps für die Mitarbeiter meines Unternehmens; Wie kann ich diese Apps in der Cloud hosten und ihnen trotzdem ermöglichen, dasselbe Sicherheitsmodell zu verwenden, das meine Mitarbeiter kennen und in der lokalen Umgebung verwenden, wenn sie Apps ausführen, die in der Firewall gehostet werden?" Eine der Möglichkeiten, wie wir dieses Szenario aktivieren, heißt Azure Active Directory (Azure AD). Azure AD ermöglicht es Ihnen, Branchen-Apps (Enterprise Line-of-Business, LOB) über das Internet verfügbar zu machen, und ermöglicht es Ihnen, diese Apps auch Geschäftspartnern zur Verfügung zu stellen.

Einführung in Azure AD

Azure AD stellt Active Directory in der Cloud bereit. Zu den wichtigsten Features gehören:

  • Es ist in lokales Active Directory integriert.
  • Es ermöglicht das einmalige Anmelden bei Ihren Apps.
  • Es unterstützt offene Standards wie SAML, WS-Fed und OAuth 2.0.
  • Sie unterstützt die Enterprise Graph-REST-API.

Angenommen, Sie verfügen über eine lokale Windows Server Active Directory Umgebung, die Sie verwenden, um Mitarbeitern die Anmeldung bei Intranet-Apps zu ermöglichen:

Diese Abbildung zeigt eine ovale Struktur mit mehreren Geräten und zwei Dreieckstürmen, die eine Linie und Pfeile zwischen jedem Gerät und seiner Quelle kreuzen, um zu zeigen, wie sich die einzelnen Geräte verbinden.

Azure AD ermöglicht Ihnen die Erstellung eines Verzeichnisses in der Cloud. Es ist ein kostenloses Feature und einfach einzurichten.

Es kann völlig unabhängig von Ihrem lokales Active Directory sein. Sie können jeden, den Sie möchten, in ihn aufnehmen und in Internet-Apps authentifizieren.

Microsoft Azure Active Directory

Oder Sie können es in Ihr lokales AD integrieren.

AD- und WAAD-Integration

Jetzt können sich alle Mitarbeiter, die sich lokal authentifizieren können, auch über das Internet authentifizieren – ohne dass Sie eine Firewall öffnen oder neue Server in Ihrem Rechenzentrum bereitstellen müssen. Sie können weiterhin die gesamte vorhandene Active Directory-Umgebung nutzen, die Sie heute kennen und verwenden, um Ihren internen Apps einmaliges Anmelden zu ermöglichen.

Sobald Sie diese Verbindung zwischen AD und Azure AD hergestellt haben, können Sie Auch Ihre Web-Apps und Ihre mobilen Geräte aktivieren, um Ihre Mitarbeiter in der Cloud zu authentifizieren, und Sie können Drittanbieter-Apps wie Office 365, SalesForce.com oder Google-Apps aktivieren, die Anmeldeinformationen Ihrer Mitarbeiter zu akzeptieren. Wenn Sie Office 365 verwenden, sind Sie bereits mit Azure AD eingerichtet, da Office 365 Azure AD für die Authentifizierung und Autorisierung verwendet.

Drittanbieter-Apps

Das Schöne an diesem Ansatz ist, dass Sie jedes Mal, wenn Ihr organization einen Benutzer hinzufügt oder löscht oder ein Benutzer ein Kennwort ändert, denselben Prozess verwenden, den Sie heute in Ihrer lokalen Umgebung verwenden. Alle Ihre lokalen AD-Änderungen werden automatisch an die Cloudumgebung weitergegeben.

Wenn Ihr Unternehmen Office 365 verwendet oder zu Office 365 wechselt, ist die gute Nachricht, dass Sie Azure AD automatisch eingerichtet haben, da Office 365 Azure AD für die Authentifizierung verwendet. So können Sie in Ihren eigenen Apps ganz einfach dieselbe Authentifizierung verwenden, die Office 365 verwendet.

Einrichten eines Azure AD-Mandanten

Ein Azure AD-Verzeichnis wird als Azure AD-Mandant bezeichnet, und das Einrichten eines Mandanten ist ziemlich einfach. Wir zeigen Ihnen, wie dies im Azure-Verwaltungsportal geschieht, um die Konzepte zu veranschaulichen, aber natürlich können Sie dies wie bei den anderen Portalfunktionen auch mithilfe eines Skripts oder einer Verwaltungs-API tun.

Klicken Sie im Verwaltungsportal auf die Registerkarte Active Directory.

WAAD im Portal

Sie verfügen automatisch über einen Azure AD-Mandanten für Ihr Azure-Konto, und Sie können unten auf der Seite auf die Schaltfläche Hinzufügen klicken, um zusätzliche Verzeichnisse zu erstellen. Sie können z. B. eine für eine Testumgebung und eine für die Produktion verwenden. Überlegen Sie sorgfältig, wie Sie ein neues Verzeichnis nennen. Wenn Sie Ihren Namen für das Verzeichnis verwenden und dann Ihren Namen erneut für einen der Benutzer verwenden, kann dies verwirrend sein.

Hinzufügen von Verzeichnissen

Das Portal bietet vollständige Unterstützung für das Erstellen, Löschen und Verwalten von Benutzern in dieser Umgebung. Um beispielsweise einen Benutzer hinzuzufügen, wechseln Sie zur Registerkarte Benutzer , und klicken Sie auf die Schaltfläche Benutzer hinzufügen .

Schaltfläche

Dialogfeld

Sie können einen neuen Benutzer erstellen, der nur in diesem Verzeichnis vorhanden ist, oder Sie können ein Microsoft-Konto als Benutzer in diesem Verzeichnis registrieren oder einen Benutzer aus einem anderen Azure AD-Verzeichnis als Benutzer in diesem Verzeichnis registrieren. (In einem echten Verzeichnis ist die Standarddomäne ContosoTest.onmicrosoft.com. Sie können auch eine Domäne Ihrer Wahl verwenden, z. B. contoso.com.)

Benutzertypen

Dialogfeld

Sie können den Benutzer einer Rolle zuweisen.

Benutzerprofil

Und das Konto wird mit einem temporären Kennwort erstellt.

Temporäres Kennwort

Die Benutzer, die Sie auf diese Weise erstellen, können sich mit diesem Cloudverzeichnis sofort bei Ihren Web-Apps anmelden.

Für das einmalige Anmelden in Unternehmen eignet sich jedoch die Registerkarte Verzeichnisintegration :

Registerkarte

Wenn Sie die Verzeichnisintegration aktivieren, können Sie dieses Cloudverzeichnis mit Ihrem vorhandenen lokales Active Directory synchronisieren, den Sie bereits in Ihrem organization verwenden. Dann werden alle in Ihrem Verzeichnis gespeicherten Benutzer in diesem Cloudverzeichnis angezeigt. Ihre Cloud-Apps können jetzt alle Ihre Mitarbeiter mit ihren vorhandenen Active Directory-Anmeldeinformationen authentifizieren. Und all dies ist kostenlos – sowohl das Synchronisierungstool als auch Azure AD selbst.

Das Tool ist ein Assistent, der einfach zu bedienen ist, wie Sie an diesen Screenshots sehen können. Dies sind keine vollständigen Anweisungen, nur ein Beispiel, das Ihnen den grundlegenden Prozess zeigt. Ausführlichere Informationen zur Vorgehensweise finden Sie unter den Links im Abschnitt Ressourcen am Ende des Kapitels.

Konfigurations-Assistent für das WAAD-Synchronisierungstool – Image 1

Klicken Sie auf Weiter, und geben Sie dann Ihre Azure Active Directory-Anmeldeinformationen ein.

Konfigurations-Assistent für das WAAD-Synchronisierungstool – Image 2

Klicken Sie auf Weiter, und geben Sie dann Ihre lokalen AD-Anmeldeinformationen ein.

Konfigurations-Assistent für das WAAD-Synchronisierungstool – Image 3

Klicken Sie auf Weiter, und geben Sie dann an, ob Sie einen Hash Ihrer AD-Kennwörter in der Cloud speichern möchten.

Konfigurations-Assistent für das WAAD-Synchronisierungstool – Image 4

Der Kennworthash, den Sie in der Cloud speichern können, ist ein unidirektionales Hash; Tatsächliche Kennwörter werden nie in Azure AD gespeichert. Wenn Sie sich gegen das Speichern von Hashes in der Cloud entscheiden, müssen Sie Active Directory-Verbunddienste (AD FS) (AD FS) verwenden. Es gibt auch andere Faktoren, die bei der Auswahl, ob AD FS verwendet werden soll oder nicht, zu berücksichtigen sind. Die Ad FS-Option erfordert einige zusätzliche Konfigurationsschritte.

Wenn Sie Hashes in der Cloud speichern möchten, sind Sie fertig, und das Tool beginnt mit der Synchronisierung von Verzeichnissen, wenn Sie auf Weiter klicken.

Konfigurations-Assistent für das WAAD-Synchronisierungstool – Image 5

Und in wenigen Minuten sind Sie fertig.

Konfigurations-Assistent für das WAAD-Synchronisierungstool– Image 6

Sie müssen dies nur auf einem Domänencontroller im organization ausführen, unter Windows 2003 oder höher. Und kein Neustart erforderlich. Wenn Sie fertig sind, befinden sich alle Ihre Benutzer in der Cloud, und Sie können das einmalige Anmelden über jede Web- oder mobile Anwendung mithilfe von SAML, OAuth oder WS-Fed durchführen.

Manchmal werden wir gefragt, wie sicher dies ist – verwendet Microsoft es für seine eigenen vertraulichen Geschäftsdaten? Und die Antwort ist ja, wir tun es. Wenn Sie beispielsweise zur internen Microsoft SharePoint-Website unter https://microsoft.sharepoint.com/wechseln, werden Sie aufgefordert, sich anzumelden.

Office 365-Anmeldung

Microsoft hat AD FS aktiviert. Wenn Sie also eine Microsoft-ID eingeben, werden Sie zu einer AD FS-Anmeldeseite umgeleitet.

AD FS-Anmeldung

Nach der Eingabe von Anmeldeinformationen, die in einem internen Microsoft AD-Konto gespeichert sind, haben Sie Zugriff auf diese interne Anwendung.

MS SharePoint-Website

Wir verwenden einen AD-Anmeldeserver vor allem, weil wir ADFS bereits eingerichtet hatten, bevor Azure AD verfügbar wurde, aber der Anmeldeprozess durchläuft ein Azure AD-Verzeichnis in der Cloud. Wir stellen unsere wichtigen Dokumente, Die Quellcodeverwaltung, Leistungsverwaltungsdateien, Verkaufsberichte und vieles mehr in der Cloud ab und verwenden genau die gleiche Lösung, um sie zu schützen.

Erstellen einer ASP.NET-App, die Azure AD für einmaliges Anmelden verwendet

Visual Studio macht es sehr einfach, eine App zu erstellen, die Azure AD für das einmalige Anmelden verwendet, wie Sie anhand einiger Screenshots sehen können.

Wenn Sie eine neue ASP.NET-Anwendung erstellen, entweder MVC oder Web Forms, ist die Standardauthentifizierungsmethode ASP.NET Identity. Um dies in Azure AD zu ändern, klicken Sie auf die Schaltfläche Authentifizierung ändern .

Authentifizierung ändern

Wählen Sie Organisationskonten aus, geben Sie Ihren Domänennamen ein, und wählen Sie dann Single Sign-On aus.

Dialogfeld

Sie können der App auch lese- oder schreibberechtigungen für Verzeichnisdaten erteilen. In diesem Fall kann die Azure Graph-REST-API verwendet werden, um die Telefonnummer der Benutzer nachzuschlagen, herauszufinden, ob sie sich im Büro befinden, wann sie sich zuletzt angemeldet haben usw.

Das ist alles, was Sie tun müssen: Visual Studio fragt nach den Anmeldeinformationen für einen Administrator für Ihren Azure AD-Mandanten und konfiguriert dann sowohl Ihr Projekt als auch Ihren Azure AD-Mandanten für die neue Anwendung.

Wenn Sie das Projekt ausführen, wird eine Anmeldeseite angezeigt, und Sie können sich mit den Anmeldeinformationen eines Benutzers in Ihrem Azure AD-Verzeichnis anmelden.

Anmeldung für das Organisationskonto

Angemeldet

Wenn Sie die App in Azure bereitstellen, müssen Sie nur das Kontrollkästchen Organisationsauthentifizierung aktivieren aktivieren, und erneut übernimmt Visual Studio die gesamte Konfiguration für Sie.

Web veröffentlichen

Diese Screenshots stammen aus einem vollständigen schrittweisen Tutorial, in dem gezeigt wird, wie Sie eine App erstellen, die die Azure AD-Authentifizierung verwendet: Entwickeln ASP.NET Apps mit Azure Active Directory.

Zusammenfassung

In diesem Kapitel haben Sie gesehen, dass Azure Active Directory, Visual Studio und ASP.NET das Einrichten des einmaligen Anmeldens in Internetanwendungen für die Benutzer Ihrer organization vereinfachen. Ihre Benutzer können sich in Internet-Apps mit den gleichen Anmeldeinformationen anmelden, die sie für die Anmeldung mit Active Directory in Ihrem internen Netzwerk verwenden.

Im nächsten Kapitel werden die für eine Cloud-App verfügbaren Datenspeicheroptionen behandelt.

Ressourcen

Weitere Informationen finden Sie in den folgenden Ressourcen: