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

Rick Anderson, Tom Dykstra

Stáhnout projekt Fix It nebo Stáhnout elektronickou knihu

Elektronická kniha Building Real World Cloud Apps with Azure vychází z prezentace scotta Guthrieho. Vysvětluje 13 vzorů a postupů, které vám můžou pomoct s úspěšným vývojem webových aplikací pro cloud. Informace o elektronické knize najdete v první kapitole.

Při vývoji cloudové aplikace je potřeba myslet na mnoho problémů se zabezpečením, ale v této sérii se zaměříme jenom na jeden: jednotné přihlašování. Často se lidé ptají na tuto otázku: "Primárně vytvářím aplikace pro zaměstnance naší společnosti; Jak můžu tyto aplikace hostovat v cloudu a přesto jim umožnit používat stejný model zabezpečení, který znají a používají moji zaměstnanci v místním prostředí, když spouštějí aplikace hostované v bráně firewall?" Jeden ze způsobů, jak tento scénář povolit, se nazývá Azure Active Directory (Azure AD). Azure AD umožňuje zpřístupnit podnikové obchodní aplikace přes internet a umožňuje také zpřístupnit tyto aplikace obchodním partnerům.

Úvod do Azure AD

Azure AD poskytuje Active Directory v cloudu. Mezi klíčové funkce patří:

  • Integruje se s místní Active Directory.
  • Umožňuje jednotné přihlašování s vašimi aplikacemi.
  • Podporuje otevřené standardy, jako jsou SAML, WS-Fed a OAuth 2.0.
  • Podporuje rozhraní Enterprise Graph REST API.

Předpokládejme, že máte místní Windows Server Active Directory prostředí, které slouží k tomu, aby se zaměstnanci mohli přihlásit k intranetovým aplikacím:

Tento obrázek znázorňuje oválnou strukturu s několika zařízeními a dvěma trojúhelníkovými věžemi, které překřížují čáru a šipky mezi každým zařízením a jeho zdrojem, aby bylo vidět, jak se jednotlivé zařízení spojují.

To, co Azure AD umožňuje, je vytvořit adresář v cloudu. Je to bezplatná funkce, která se snadno nastavuje.

Může být zcela nezávislá na vašem místní Active Directory; můžete do něj umístit kohokoliv, koho chcete, a ověřit je v internetových aplikacích.

Windows Azure Active Directory

Nebo ho můžete integrovat s místní službou AD.

Integrace AD a WAAD

Všichni zaměstnanci, kteří se můžou ověřovat místně, se teď můžou ověřovat i přes internet – aniž byste museli otevírat bránu firewall nebo nasazovat nové servery ve vašem datacentru. Můžete dál využívat všechna existující prostředí Active Directory, které znáte a používáte dnes, abyste svým interním aplikacím poskytli možnost jednotného přihlašování.

Jakmile vytvoříte toto propojení mezi ad a Azure AD, můžete také webovým aplikacím a mobilním zařízením povolit ověřování vašich zaměstnanců v cloudu a povolit aplikacím třetích stran, jako jsou Office 365, SalesForce.com nebo Aplikace Google, přijímat přihlašovací údaje vašich zaměstnanců. Pokud používáte Office 365, Azure AD už máte nastavené, protože Office 365 používá k ověřování a autorizaci Azure AD.

Aplikace třetích stran

Výhodou tohoto přístupu je, že pokaždé, když vaše organizace přidá nebo odstraní uživatele nebo uživatel změní heslo, použijete stejný postup, který používáte dnes ve svém místním prostředí. Všechny změny místní služby AD se automaticky rozšíří do cloudového prostředí.

Pokud vaše společnost používá nebo přechází na Office 365, dobrou zprávou je, že Azure AD nastavíte automaticky, protože Office 365 k ověřování používá Azure AD. Ve vlastních aplikacích tak můžete snadno použít stejné ověřování, které používá Office 365.

Nastavení tenanta Azure AD

Adresář Azure AD se nazývá Azure AD tenant a nastavení tenanta je poměrně snadné. Ukážeme vám, jak se to dělá na portálu pro správu Azure, abychom si ukázali koncepty, ale samozřejmě stejně jako ostatní funkce portálu to můžete udělat také pomocí skriptu nebo rozhraní API pro správu.

Na portálu pro správu klikněte na kartu Active Directory.

WAAD na portálu

Pro svůj účet Azure máte automaticky jednoho tenanta Azure AD a můžete kliknout na tlačítko Přidat v dolní části stránky a vytvořit další adresáře. Jeden můžete chtít například pro testovací prostředí a jeden pro produkční prostředí. Pečlivě si rozmyslete, jak pojmenujete nový adresář. Pokud použijete své jméno pro adresář a pak ho znovu použijete pro jednoho z uživatelů, může to být matoucí.

Přidání adresáře

Portál má plnou podporu pro vytváření, odstraňování a správu uživatelů v tomto prostředí. Pokud chcete například přidat uživatele, přejděte na kartu Uživatelé a klikněte na tlačítko Přidat uživatele .

Tlačítko Přidat uživatele

Dialogové okno Přidat uživatele

Můžete vytvořit nového uživatele, který existuje pouze v tomto adresáři, nebo můžete zaregistrovat účet Microsoft jako uživatel v tomto adresáři nebo zaregistrovat uživatele z jiného Azure AD adresáře jako uživatele v tomto adresáři. (Ve skutečném adresáři bude výchozí doména ContosoTest.onmicrosoft.com. Můžete také použít doménu podle vlastního výběru, například contoso.com.)

Typy uživatelů

Dialogové okno Přidat uživatele

Uživateli můžete přiřadit roli.

Profil uživatele

Účet se vytvoří s dočasným heslem.

Dočasné heslo

Uživatelé, které vytvoříte tímto způsobem, se můžou okamžitě přihlásit k webovým aplikacím pomocí tohoto cloudového adresáře.

Pro podnikové jednotné přihlašování je ale skvělá karta Integrace adresáře :

Karta Integrace adresáře

Pokud povolíte integraci adresáře, můžete tento cloudový adresář synchronizovat se stávajícími místní Active Directory, které už ve vaší organizaci používáte. Pak se v tomto cloudovém adresáři zobrazí všichni uživatelé, kteří jsou uloženi ve vašem adresáři. Vaše cloudové aplikace teď můžou ověřovat všechny vaše zaměstnance pomocí svých stávajících přihlašovacích údajů active directory. A to vše je zdarma – synchronizační nástroj i Azure AD sám.

Nástroj je průvodce, který se snadno používá, jak můžete vidět z těchto snímků obrazovky. Nejedná se o úplné pokyny, pouze příklad ukazující základní proces. Podrobnější informace o postupu najdete v odkazech v části Zdroje informací na konci kapitoly.

Průvodce konfigurací synchronizačního nástroje WAAD – obrázek 1

Klikněte na Další a zadejte svoje přihlašovací údaje k Azure Active Directory.

Průvodce konfigurací synchronizačního nástroje WAAD – obrázek 2

Klikněte na Další a zadejte přihlašovací údaje k místní službě AD.

Průvodce konfigurací synchronizačního nástroje WAAD – obrázek 3

Klikněte na Další a pak zadejte, jestli chcete uložit hodnotu hash hesel AD v cloudu.

Průvodce konfigurací synchronizačního nástroje WAAD – obrázek 4

Hodnota hash hesla, kterou můžete uložit v cloudu, je jednosměrná hodnota hash; Skutečná hesla se nikdy neukládají do Azure AD. Pokud se rozhodnete neukládat hodnoty hash v cloudu, budete muset použít Active Directory Federation Services (AD FS) (AD FS). Existují také další faktory, které je potřeba vzít v úvahu při rozhodování, jestli se má služba AD FS používat nebo ne. Možnost ADFS vyžaduje několik dalších kroků konfigurace.

Pokud se rozhodnete ukládat hodnoty hash v cloudu, je to hotové a nástroj po kliknutí na Další spustí synchronizaci adresářů.

Průvodce konfigurací synchronizačního nástroje WAAD – obrázek 5

A za pár minut budete hotovi.

Průvodce konfigurací synchronizačního nástroje WAAD – obrázek 6

Můžete ho spustit jenom na jednom řadiči domény v organizaci, v systému Windows 2003 nebo novějším. A není potřeba restartovat. Až budete hotovi, všichni vaši uživatelé budou v cloudu a můžete provádět jednotné přihlašování z libovolné webové nebo mobilní aplikace pomocí SAML, OAuth nebo WS-Fed.

Někdy se nám zobrazuje dotaz, jak je to bezpečné – používá ho Microsoft pro svá vlastní citlivá firemní data? A odpověď je ano. Pokud například přejdete na interní web Microsoft SharePointu na adrese https://microsoft.sharepoint.com/, zobrazí se výzva k přihlášení.

Office 365 přihlášení

Microsoft povolil službu AD FS, takže když zadáte Microsoft ID, budete přesměrováni na přihlašovací stránku služby AD FS.

Přihlášení k AD FS

A jakmile zadáte přihlašovací údaje uložené v interním účtu Microsoft AD, budete mít přístup k této interní aplikaci.

Web MS SharePoint

Přihlašovací server AD používáme hlavně proto, že službu ADDFS jsme už měli nastavenou před tím, než Azure AD zpřístupnil, ale proces přihlášení prochází Azure AD adresářem v cloudu. Důležité dokumenty, správu zdrojového kódu, soubory správy výkonu, sestavy prodeje a další informace jsme umístili do cloudu a k jejich zabezpečení používáme úplně stejné řešení.

Vytvoření aplikace ASP.NET, která používá Azure AD pro jednotné přihlašování

Visual Studio opravdu usnadňuje vytvoření aplikace, která používá Azure AD pro jednotné přihlašování, jak je vidět na několika scích obrazovky.

Když vytvoříte novou ASP.NET aplikaci, buď MVC, nebo Web Forms, výchozí metoda ověřování je ASP.NET Identity. Pokud chcete toto nastavení změnit na Azure AD, klikněte na tlačítko Změnit ověřování.

Změnit ověřování

Vyberte Účty organizace, zadejte název domény a pak vyberte Jednotné přihlašování.

Dialogové okno Konfigurace ověřování

Aplikaci můžete také udělit oprávnění ke čtení nebo čtení/zápisu dat adresáře. Pokud to uděláte, může použít rozhraní Rest API služby Azure Graph k vyhledání telefonního čísla uživatelů, zjištění, jestli jsou v kanceláři, kdy se naposledy přihlásili atd.

To je vše, co musíte udělat – Visual Studio požádá správce o přihlašovací údaje pro vašeho tenanta Azure AD a pak nakonfiguruje váš projekt a Azure AD tenanta pro novou aplikaci.

Při spuštění projektu se zobrazí přihlašovací stránka a můžete se přihlásit pomocí přihlašovacích údajů uživatele v adresáři Azure AD.

Přihlášení k účtu organizace

Přihlášeni

Když nasadíte aplikaci do Azure, stačí jenom zaškrtnout políčko Povolit ověřování organizace a Visual Studio se znovu postará o veškerou konfiguraci za vás.

Publikovat web

Tyto snímky obrazovky pocházejí z kompletního podrobného kurzu, který ukazuje, jak vytvořit aplikaci, která používá ověřování Azure AD: Vývoj aplikací ASP.NET pomocí Azure Active Directory.

Souhrn

V této kapitole jste viděli, že Azure Active Directory, Visual Studio a ASP.NET usnadňují nastavení jednotného přihlašování v internetových aplikacích pro uživatele vaší organizace. Vaši uživatelé se můžou k internetovým aplikacím přihlašovat pomocí stejných přihlašovacích údajů, které používají k přihlašování pomocí Služby Active Directory ve vaší interní síti.

Další kapitola se zabývá možnostmi úložiště dat dostupnými pro cloudovou aplikaci.

Zdroje informací

Další informace naleznete v následujících zdrojích: