320 likes | 439 Vues
Join Mike Benkovich, a former Microsoft developer evangelist, as he unpacks the complexities of the Microsoft Identity Stack. This presentation covers Application Identity, Public Identity, and Corporate Identity, offering insights into user account management, secure password storage, and identity protocols like OAuth and SAML. Gain practical knowledge on implementing modern authentication strategies and learn how to configure IIS for effective identity management. Perfect for developers looking to enhance their understanding of identity solutions in the cloud and enterprise realms.
E N D
mdc2013 Demystifying the Modern Identity Stack Mike Benkovich- @mbenko Local Computer Guy www.Benkotips.com
Mike Benkovich mike@benko.com • - Former Microsoft developer evangelist • - Twin Cities based • - Technology Services • - Windows 8, phone, and Cloud consulting- www.benkoTIPS.com • - @mbenkoon Twitter • - Send me Feedback! http://bit.ly/bqtMDC13
Checklist • Tackle those, and you’ve got the Identity Stack! • What is the Microsoft Identity Stack? • How to use Application Identity • How to use Public Identity • How to use Corporate Identity
Application Identity • User accounts created for sole use by the app • Storage and management of accounts? • How do you securely store passwords? • How do users reset or retrieve their passwords?
Some History… • 2005 - Forms Based Authentication (provider model)
IIS Process Flow HTTP Request HTTP Request Anon Anon Basic Basic NTLM Authentication Authentication ResolveCache Authorization aspnet_isapi.dll aspnet_isapi.dll CGI Execute Handler Authentication Authentication Determine Handler Static File Forms Forms Windows Windows Static File ASPX ASPX ISAPI ISAPI Map Handler Map Handler Trace Trace … … UpdateCache Send Response Send Response Log Log Compression Compression HTTP Response HTTP Response
IIS Configuration • Found in ApplicationHost.config • Customized per app in web.config • Changes in config affect pipeline processing • This is how to configure IIS to run PHP
.NET Provider Model • Membership provider abstracts authentication pattern • Role provider handles authorization • Plug and play…custom providers • Implemented thru IIS pipeline <system.web> <authorization> <denyusers="?" /> </authorization> <authenticationmode="Forms"> <formsloginUrl="myLogin.aspx"/> </authentication> </system.web>
DEMO • Provider Model
Public Identity • OAuth and standards based • Token servers that provide information about users • Don’t have to manage passwords • Think Google, Facebook, Twitter, Live ID, LinkedIn… • …but… • Limited claim set • How much should you trust it?
REST, OAuth2 Resource App
2010 ACS – Access Control Services • Acts as a “bouncer” to check id before granting access • Handles OAuth conversation with simple redirection • Claims based authentication • Part of Windows Azure services • Requires namespace • Handles creation of access token <system.webServer> <modules> <removename="FormsAuthentication" /> <addname="WSFederationAuthenticationModule" … <addname="SessionAuthenticationModule" … </modules> </system.webServer>
DEMO • Access Control Services
Some History… • 2005 - Forms Based Authentication (provider model) • 2010 - Access Control Services (Windows Azure) • 2012 - Simple Membership Provider
DEMO • Simple Membership Provider
Some History… • 2005 - Forms Based Authentication (provider model) • 2010 - Access Control Services (Windows Azure) • 2012 - Simple Membership Provider • 2012 - Azure Mobile Services
Windows Azure Mobile Services • Cross device REST based interface • Provides Data, Notification, Scheduling and Identity features • Configurable for identity providers • Simple coding model
DEMO • Mobile Services
Some History… • 2005 - Forms Based Authentication (provider model) • 2010 - Access Control Services (Windows Azure) • 2012 - Simple Membership Provider • 2012 - Azure Mobile Services • 2013 - Azure Active Directory
Corporate Identity • Managed by security team • Provision user accounts • Deactivate accounts as needed • Typically directory based…Active Directory • Includes more information than just credentials
Windows Azure Active Directory • Manage Users • Applications and access • Claims api • OAuth
Windows Azure Active Directory Management Portal Windows Azure Active Directory OAuth2 SAML-P WS-Federation Metadata Graph API Contoso’s tenant Dir Sync A M Contoso’s On-Premises Directory
Windows Azure Active Directory A M Contoso’s On-Premises Directory
DEMO • Windows Azure Active Directory
More information • Download slides and demo code at • www.benkoTIPS.com • Follow Vittorio Bertocci – Identity Architect at Microsoft @vibronetand www.cloudidentity.com • Contact me at mike@benko.com
REST, OAuth2 Resource App
Windows Azure Active Directory A M Contoso’s On-Premises Directory
Clientsand Resources in Windows Azure AD • Registration • Today - via Graph Explorer • Soon - via Windows Azure Portal Resource Resource App App