Single Sign-On (Building Real-World Cloud Apps with Azure)

Autor : Rick Anderson, Tom Dykstra

Pobierz naprawę projektu lub pobierz książkę elektroniczną

Książka elektroniczna Building Real World Cloud Apps with Azure (Tworzenie rzeczywistych aplikacji w chmurze za pomocą platformy Azure ) jest oparta na prezentacji opracowanej przez Scotta Guthrie. Wyjaśniono w nim 13 wzorców i rozwiązań, które mogą pomóc w pomyślnym tworzeniu aplikacji internetowych dla chmury. Aby uzyskać informacje na temat książki e-book, zobacz pierwszy rozdział.

Podczas tworzenia aplikacji w chmurze należy wziąć pod uwagę wiele problemów z zabezpieczeniami, ale w tej serii skupimy się tylko na jednym: logowaniu jednokrotnym. Często zadaję pytanie: "Kompiluję przede wszystkim aplikacje dla pracowników mojej firmy; jak hostować te aplikacje w chmurze i nadal umożliwiać im korzystanie z tego samego modelu zabezpieczeń, który pracownicy znają i używają w środowisku lokalnym, gdy są uruchomione aplikacje hostowane wewnątrz zapory?" Jednym ze sposobów włączenia tego scenariusza jest usługa Azure Active Directory (Azure AD). Azure AD umożliwia udostępnianie aplikacji biznesowych w przedsiębiorstwie za pośrednictwem Internetu oraz udostępnianie tych aplikacji partnerom biznesowym.

Wprowadzenie do Azure AD

Azure AD zapewnia usługę Active Directory w chmurze. Najważniejsze funkcje obejmują następujące elementy:

Załóżmy, że masz lokalne środowisko Windows Server Active Directory, którego używasz do umożliwienia pracownikom logowania się do aplikacji intranetowych:

Na tej ilustracji przedstawiono owalną strukturę z wieloma urządzeniami i dwoma wieżami trójkątów, przecinając linię i strzałki między każdym urządzeniem a jego źródłem, aby pokazać, jak każdy z nich łączy.

Co Azure AD umożliwia utworzenie katalogu w chmurze. Jest to bezpłatna funkcja i łatwa do skonfigurowania.

Może być całkowicie niezależny od lokalna usługa Active Directory. Możesz umieścić w nim dowolną osobę i uwierzytelnić je w aplikacjach internetowych.

Windows Azure Active Directory

Możesz też zintegrować go z lokalną usługą AD.

Integracja usług AD i WAAD

Teraz wszyscy pracownicy, którzy mogą uwierzytelniać się lokalnie, mogą również uwierzytelniać się za pośrednictwem Internetu — bez konieczności otwierania zapory ani wdrażania nowych serwerów w centrum danych. Możesz nadal korzystać ze wszystkich istniejących środowisk usługi Active Directory, które znasz i których używasz dzisiaj, aby zapewnić możliwości logowania jednokrotnego aplikacji wewnętrznych.

Po nawiązaniu połączenia między usługami AD i Azure AD możesz również włączyć aplikacje internetowe i urządzenia przenośne w celu uwierzytelniania pracowników w chmurze, a także włączyć aplikacje innych firm, takie jak Office 365, SalesForce.com lub Aplikacje Google, aby akceptowały poświadczenia pracowników. Jeśli używasz Office 365, masz już skonfigurowaną Azure AD, ponieważ Office 365 używa Azure AD do uwierzytelniania i autoryzacji.

Aplikacje innych firm

Piękno tego podejścia polega na tym, że za każdym razem, gdy organizacja dodaje lub usuwa użytkownika, lub użytkownik zmienia hasło, używasz tego samego procesu, którego używasz dzisiaj w środowisku lokalnym. Wszystkie lokalne zmiany usługi AD są automatycznie propagowane do środowiska chmury.

Jeśli firma korzysta z usługi Office 365 lub przenosi się do Office 365, dobrym rozwiązaniem jest to, że będziesz mieć Azure AD skonfigurować automatycznie, ponieważ Office 365 używa Azure AD do uwierzytelniania. Dzięki temu można łatwo używać we własnych aplikacjach tego samego uwierzytelniania, którego używa Office 365.

Konfigurowanie dzierżawy Azure AD

Katalog Azure AD jest nazywany dzierżawą Azure AD, a konfigurowanie dzierżawy jest dość proste. Pokażemy, jak to zrobić w portalu zarządzania Platformy Azure, aby zilustrować koncepcje, ale oczywiście podobnie jak w przypadku innych funkcji portalu można to zrobić za pomocą skryptu lub interfejsu API zarządzania.

W portalu zarządzania kliknij kartę Active Directory.

Usługa WAAD w portalu

Automatycznie masz jedną dzierżawę Azure AD dla konta platformy Azure i możesz kliknąć przycisk Dodaj w dolnej części strony, aby utworzyć dodatkowe katalogi. Możesz chcieć go dla środowiska testowego, a drugi dla środowiska produkcyjnego, na przykład. Zastanów się dokładnie nad tym, co nazywasz nowym katalogiem. Jeśli używasz nazwy katalogu, a następnie ponownie używasz swojej nazwy dla jednego z użytkowników, może to być mylące.

Dodawanie katalogu

Portal ma pełną obsługę tworzenia, usuwania i zarządzania użytkownikami w tym środowisku. Aby na przykład dodać użytkownika, przejdź do karty Użytkownicy i kliknij przycisk Dodaj użytkownika .

Przycisk Dodaj użytkownika

Okno dialogowe Dodawanie użytkownika

Możesz utworzyć nowego użytkownika, który istnieje tylko w tym katalogu, lub zarejestrować konto Microsoft jako użytkownik w tym katalogu albo zarejestrować lub użytkownika z innego katalogu Azure AD jako użytkownik w tym katalogu. (W katalogu rzeczywistym domena domyślna będzie ContosoTest.onmicrosoft.com. Możesz również użyć własnej domeny, takiej jak contoso.com).

Typy użytkowników

Dodawanie okna dialogowego użytkownika

Możesz przypisać użytkownika do roli.

Profil użytkownika

Konto jest tworzone przy użyciu hasła tymczasowego.

Hasło tymczasowe

Użytkownicy, których tworzysz w ten sposób, mogą natychmiast logować się do aplikacji internetowych przy użyciu tego katalogu w chmurze.

Co jest jednak doskonałe w przypadku logowania jednokrotnego przedsiębiorstwa, to karta Integracja katalogu :

Karta Integracja katalogu

Jeśli włączysz integrację katalogów, możesz zsynchronizować ten katalog w chmurze z istniejącymi lokalna usługa Active Directory, które są już używane w organizacji. Następnie wszyscy użytkownicy przechowywani w katalogu będą wyświetlani w tym katalogu w chmurze. Aplikacje w chmurze mogą teraz uwierzytelniać wszystkich pracowników przy użyciu istniejących poświadczeń usługi Active Directory. Wszystko to jest bezpłatne — zarówno narzędzie synchronizacji, jak i samo Azure AD.

Narzędzie to kreator, który jest łatwy w użyciu, jak widać na tych zrzutach ekranu. Nie są to kompletne instrukcje, tylko przykład pokazujący podstawowy proces. Aby uzyskać bardziej szczegółowe informacje na temat wykonywania tych czynności, zobacz linki w sekcji Zasoby na końcu rozdziału.

Kreator konfiguracji narzędzia synchronizacji usługi WAAD — obraz 1

Kliknij przycisk Dalej, a następnie wprowadź poświadczenia usługi Azure Active Directory.

Kreator konfiguracji narzędzia synchronizacji usługi WAAD — obraz 2

Kliknij przycisk Dalej, a następnie wprowadź poświadczenia lokalnej usługi AD.

Kreator konfiguracji narzędzia synchronizacji usługi WAAD — obraz 3

Kliknij przycisk Dalej, a następnie wskaż, czy chcesz przechowywać skrót haseł usługi AD w chmurze.

Kreator konfiguracji narzędzia synchronizacji usługi WAAD — obraz 4

Skrót hasła, który można przechowywać w chmurze, jest jednokierunkowym skrótem; rzeczywiste hasła nigdy nie są przechowywane w Azure AD. Jeśli zdecydujesz się na przechowywanie skrótów w chmurze, musisz użyć Active Directory Federation Services (ADFS). Istnieją również inne czynniki, które należy wziąć pod uwagę podczas wybierania, czy należy używać usług AD FS. Opcja ADFS wymaga wykonania kilku dodatkowych kroków konfiguracji.

Jeśli zdecydujesz się przechowywać skróty w chmurze, wszystko będzie gotowe, a narzędzie rozpocznie synchronizowanie katalogów po kliknięciu przycisku Dalej.

Kreator konfiguracji narzędzia synchronizacji usługi WAAD — obraz 5

A za kilka minut skończysz.

Kreator konfiguracji narzędzia synchronizacji usługi WAAD — obraz 6

Należy to uruchomić tylko na jednym kontrolerze domeny w organizacji, w systemie Windows 2003 lub nowszym. I nie ma potrzeby ponownego uruchamiania. Gdy wszystko będzie gotowe, wszyscy użytkownicy znajdują się w chmurze i możesz zalogować się jednokrotnie z dowolnej aplikacji internetowej lub mobilnej przy użyciu protokołu SAML, OAuth lub WS-Fed.

Czasami pytamy o to, jak bezpieczne jest to — czy firma Microsoft używa jej do własnych poufnych danych biznesowych? A odpowiedź brzmi tak, jak my. Jeśli na przykład przejdziesz do wewnętrznej witryny programu Microsoft SharePoint pod adresem https://microsoft.sharepoint.com/, zostanie wyświetlony monit o zalogowanie się.

logowanie Office 365

Firma Microsoft włączyła usługi ADFS, więc po wprowadzeniu identyfikatora Microsoft nastąpi przekierowanie do strony logowania usług AD FS.

Logowanie do usług AD FS

Po wprowadzeniu poświadczeń przechowywanych na wewnętrznym koncie usługi Microsoft AD masz dostęp do tej aplikacji wewnętrznej.

Witryna programu MS SharePoint

Używamy serwera logowania usługi AD głównie dlatego, że usługi ADFS skonfigurowano przed udostępnieniem Azure AD, ale proces logowania przechodzi przez katalog Azure AD w chmurze. Umieszczamy nasze ważne dokumenty, kontrolę źródła, pliki zarządzania wydajnością, raporty sprzedaży i nie tylko, w chmurze i używamy tego samego rozwiązania, aby je zabezpieczyć.

Tworzenie aplikacji ASP.NET korzystającej z Azure AD na potrzeby logowania jednokrotnego

Program Visual Studio ułatwia tworzenie aplikacji korzystającej z Azure AD na potrzeby logowania jednokrotnego, jak widać na kilku zrzutach ekranu.

Podczas tworzenia nowej aplikacji ASP.NET MVC lub Web Forms domyślną metodą uwierzytelniania jest ASP.NET Identity. Aby zmienić to na Azure AD, kliknij przycisk Zmień uwierzytelnianie.

Zmień metodę uwierzytelniania

Wybierz pozycję Konta organizacyjne, wprowadź nazwę domeny, a następnie wybierz pozycję Logowanie jednokrotne.

Okno dialogowe Konfigurowanie uwierzytelniania

Możesz również nadać aplikacji uprawnienie do odczytu lub odczytu/zapisu dla danych katalogu. Jeśli to zrobisz, możesz użyć interfejsu API REST usługi Azure Graph , aby wyszukać numer telefonu użytkowników, dowiedzieć się, czy znajdują się w biurze, kiedy po raz ostatni się zalogowali itp.

To wszystko, co musisz zrobić — program Visual Studio prosi o podanie poświadczeń administratora dzierżawy Azure AD, a następnie konfiguruje zarówno projekt, jak i dzierżawę Azure AD dla nowej aplikacji.

Po uruchomieniu projektu zobaczysz stronę logowania i możesz zalogować się przy użyciu poświadczeń użytkownika w katalogu Azure AD.

Logowanie do konta organizacji

Zalogowano

Po wdrożeniu aplikacji na platformie Azure wystarczy zaznaczyć pole wyboru Włącz uwierzytelnianie organizacyjne , a po raz kolejny program Visual Studio zajmie się całą konfiguracją.

Publikowanie w sieci Web

Te zrzuty ekranu pochodzą z kompletnego samouczka krok po kroku, który pokazuje, jak utworzyć aplikację korzystającą z uwierzytelniania Azure AD: Tworzenie aplikacji ASP.NET za pomocą usługi Azure Active Directory.

Podsumowanie

W tym rozdziale pokazano, że usługa Azure Active Directory, program Visual Studio i ASP.NET ułatwiają konfigurowanie logowania jednokrotnego w aplikacjach internetowych dla użytkowników organizacji. Użytkownicy mogą logować się w aplikacjach internetowych przy użyciu tych samych poświadczeń, których używają do logowania się przy użyciu usługi Active Directory w sieci wewnętrznej.

W następnym rozdziale omówiono opcje przechowywania danych dostępne dla aplikacji w chmurze.

Zasoby

Więcej informacji można znaleźć w następujących zasobach: