Single Sign-On (Building Real-World Cloud Apps with Azure)
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:
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.
Nebo ho můžete integrovat s místní službou AD.
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.
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.
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í.
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 .
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.)
Uživateli můžete přiřadit roli.
Účet se vytvoří s dočasným heslem.
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 :
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.
Klikněte na Další a zadejte svoje přihlašovací údaje k Azure Active Directory.
Klikněte na Další a zadejte přihlašovací údaje k místní službě AD.
Klikněte na Další a pak zadejte, jestli chcete uložit hodnotu hash hesel AD v cloudu.
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ářů.
A za pár minut budete hotovi.
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í.
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.
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.
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í.
Vyberte Účty organizace, zadejte název domény a pak vyberte Jednotné přihlaš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.
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.
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:
- Dokumentace ke službě Azure Active Directory. Stránka portálu pro Azure AD dokumentaci na windowsazure.com webu. Podrobné kurzy najdete v části Vývoj .
- Azure Multi-Factor Authentication. Stránka portálu s dokumentací o vícefaktorovém ověřování v Azure
- Možnosti ověřování účtu organizace. Vysvětlení možností ověřování Azure AD v dialogovém okně Visual Studio 2013 nový projekt
- Vzory a postupy Microsoftu – vzor federované identity.
- Autorizace na základě rolí a ACL-Based v aplikaci windows Azure AD. Ukázková aplikace
- Blog o službě Azure Active Directory Graph API
- Access Control v modelu BYOD a integrace adresáře v infrastruktuře hybridních identit. Tech Ed 2014 session video od Gayany Bagdasaryan.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro