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:
- Integruje się z lokalna usługa Active Directory.
- Umożliwia logowanie jednokrotne w aplikacjach.
- Obsługuje otwarte standardy, takie jak SAML, WS-Fed i OAuth 2.0.
- Obsługuje interfejs API REST programu Enterprise Graph.
Załóżmy, że masz lokalne środowisko Windows Server Active Directory, którego używasz do umożliwienia pracownikom logowania się do aplikacji intranetowych:
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.
Możesz też zintegrować go z lokalną usługą AD.
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.
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.
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.
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 .
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).
Możesz przypisać użytkownika do roli.
Konto jest tworzone przy użyciu hasła tymczasowego.
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 :
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.
Kliknij przycisk Dalej, a następnie wprowadź poświadczenia usługi Azure Active Directory.
Kliknij przycisk Dalej, a następnie wprowadź poświadczenia lokalnej usługi AD.
Kliknij przycisk Dalej, a następnie wskaż, czy chcesz przechowywać skrót haseł usługi AD w chmurze.
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.
A za kilka minut skończysz.
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ę.
Firma Microsoft włączyła usługi ADFS, więc po wprowadzeniu identyfikatora Microsoft nastąpi przekierowanie do strony logowania 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.
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.
Wybierz pozycję Konta organizacyjne, wprowadź nazwę domeny, a następnie wybierz pozycję Logowanie jednokrotne.
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.
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ą.
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:
- Dokumentacja usługi Azure Active Directory. Strona portalu dla Azure AD dokumentacji w witrynie windowsazure.com. Aby zapoznać się z samouczkami krok po kroku, zobacz sekcję Programowanie .
- Azure Multi-Factor Authentication. Strona portalu zawierająca dokumentację dotyczącą uwierzytelniania wieloskładnikowego na platformie Azure.
- Opcje uwierzytelniania konta organizacyjnego. Wyjaśnienie opcji uwierzytelniania Azure AD w oknie dialogowym Visual Studio 2013 nowy projekt.
- Wzorce i rozwiązania firmy Microsoft — wzorzec tożsamości federacyjnej.
- Autoryzacja oparta na rolach i ACL-Based w aplikacji systemu Windows Azure AD. Przykładowa aplikacja.
- Blog usługi Azure Active Directory interfejs Graph API.
- Access Control w rozwiązaniu BYOD i integracji katalogów w infrastrukturze tożsamości hybrydowej. Tech Ed 2014 sesji wideo Gayana Bagdasaryan.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla