SlideShare a Scribd company logo
Using Windows Azure for Solving
Identity Management Challenges
Michael S. Collier
Michael S. Collier
• Principal Cloud Architect, Aditi
• michaelc@aditi.com
• @MichaelCollier
• www.MichaelSCollier.com
Platinum Sponsors
Gold Sponsors
Using Windows Azure for Solving Identity Management Challenges
What We’re Talking About
• Identity - Current State and in The Cloud
• Windows Azure solutions
• Mobile Services
• Access Control Service (ACS)
• Windows Azure Active Directory
6
Who Are You?
• Personalization
• Business Rules
• Functionality / Features
7
Traditional Identity Management
• IT Pro – controls the known world
• Developers – blissfully ignorant?
8
AD
SQL
My Enterprise
LOB App
Cloud . . . A New Challenge
• Move the application & data
• Islands of identity
• Outside of “traditional” IT world
• External users / partners
• BYOD
• Developers ignorant no more
• Developers + IT Pros
9
10
Windows Azure Options
Mobile Services
Active Directory
Access Control Service
(ACS)
Server Active Directory
AD w/ DirSync
Mobile Services
• Goal – easily build cloud-powered mobile apps
• Built-in support for multiple social identity providers
11
private async System.Threading.Tasks.Task Authenticate()
{
while (user == null)
{
string message;
try
{
user = await App.MobileService.LoginAsync(MobileServiceAuthenticationProvider.Twitter);
message = string.Format("You are now logged in - {0}", user.UserId);
CurrentUser.Text = "Welcome, " + App.MobileService.CurrentUser.UserId;
}
catch (InvalidOperationException)
{
message = "You must log in. Login Required";
}
var dialog = new MessageDialog(message);
dialog.Commands.Add(new UICommand("OK"));
await dialog.ShowAsync();
}
}
Facebook
Google
MicrosoftAccount
Twitter
Mobile Services
12
Authentication
• Microsoft Account, Facebook, Twitter, and Google
• OAuth
• Does not use Windows Azure ACS
Authentication
• Microsoft Account – Use the Live SDK
• Tight integration with Windows Live services
More Mobile Services?
• Programming Windows Azure Mobile Services
• Jason Farrell
• Wednesday at 10:30am
• Portia
15
Access Control Service (ACS)
• Federated identity/authentication service
• Google, Microsoft Account, Yahoo!, ADFS v2
• Bring your own membership
• Claims-based authorization
• Browser based (302 redirect)
• Focus on your app
16
DEMO TIME!!!
Access Control Service (ACS)
ACS Tips
• Enrich claims w/ a ClaimsAuthenticationManager
• Update WIF settings in web.config in OnStart()
• Web Farm Ready Cookies
• Web Sites and Cloud Services
• DPAPI not supported in Windows Azure
• Provide sign-out link for identity providers
• Azure co-admin can’t admin ACS namespace
31
Windows Azure Active Directory
• Internet scale, multi-tenant
directory service
• Directory store for Office 365
• Extend Windows Server AD to
the cloud
• Directory & identity services
w/o need for Windows Server
AD
32
Active Directory
O365 Account
Portal
Intune Account
Portal
Windows Azure
Mgmt Portal
Azure AD PowerShell
cmdlets
Windows Azure Active Directory
• Multi-tenant “directory-as-a-service”
• NOT a cloud version of Windows Server AD
33
Image Source: http://technet.microsoft.com/en-us/library/jj573650.aspx
Windows Azure Active Directory
34
Windows Azure
Management Portal
REST API
SAML-P
O-Auth
WS-Federation
Integration / Management Endpoints
Windows Azure Active Directory
Windows Azure Active Directory
35
Integration / Management Endpoints
Windows Azure Active Directory
• What’s in the directory?
• Everything is an object
• Types: User, Group, Role, Application, Device, etc.
36
WAAD Graph Response
<?xml version="1.0" encoding="utf-8"?>
<feed xml:base="https://graph.windows.net/collierdemo.onmicrosoft.com/" xmlns="http://www.w3.org/2005/Atom"
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml">
<id>https://graph.windows.net/11271159-abc8-4e0e-b3c2-c2a0858a036b/directoryObjects/$/Microsoft.WindowsAzure.ActiveDirectory.User</id>
<title type="text">Microsoft.WindowsAzure.ActiveDirectory.User</title>
<updated>2013-03-21T00:58:34Z</updated>
<link rel="self" title="Microsoft.WindowsAzure.ActiveDirectory.User" href="Microsoft.WindowsAzure.ActiveDirectory.User" />
<entry>
<id>https://graph.windows.net/11271159-abc8-4e0e-b3c2-c2a0858a036b/directoryObjects/23dc9514-64ec-4c94-8f03-4edf9016b2a6</id>
<category term="Microsoft.WindowsAzure.ActiveDirectory.User" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
<link rel="edit" title="User" href="directoryObjects/23dc9514-64ec-4c94-8f03-4edf9016b2a6/Microsoft.WindowsAzure.ActiveDirectory.User" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/manager" type="application/atom+xml;type=entry" title="manager"
href="directoryObjects/23dc9514-64ec-4c94-8f03-4edf9016b2a6/Microsoft.WindowsAzure.ActiveDirectory.User/manager" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/directReports" type="application/atom+xml;type=feed" title="directReports"
href="directoryObjects/23dc9514-64ec-4c94-8f03-4edf9016b2a6/Microsoft.WindowsAzure.ActiveDirectory.User/directReports" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/members" type="application/atom+xml;type=feed" title="members"
href="directoryObjects/23dc9514-64ec-4c94-8f03-4edf9016b2a6/Microsoft.WindowsAzure.ActiveDirectory.User/members" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/memberOf" type="application/atom+xml;type=feed" title="memberOf"
href="directoryObjects/23dc9514-64ec-4c94-8f03-4edf9016b2a6/Microsoft.WindowsAzure.ActiveDirectory.User/memberOf" />
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/permissions" type="application/atom+xml;type=feed" title="permissions"
href="directoryObjects/23dc9514-64ec-4c94-8f03-4edf9016b2a6/Microsoft.WindowsAzure.ActiveDirectory.User/permissions" />
37
WAAD Graph Response
38
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/edit-media/thumbnailPhoto" title="thumbnailPhoto" href="directoryObjects/23dc9514-64ec-
4c94-8f03-4edf9016b2a6/Microsoft.WindowsAzure.ActiveDirectory.User/thumbnailPhoto" />
<m:action metadata="https://graph.windows.net/michaelcollier.onmicrosoft.com/$metadata#DirectoryDataService.assignLicense" title="assignLicense"
target="https://graph.windows.net/collierdemo.onmicrosoft.com/directoryObjects/23dc9514-64ec-4c94-8f03-
4edf9016b2a6/Microsoft.WindowsAzure.ActiveDirectory.User/assignLicense" />
<content type="application/xml">
<m:properties>
<d:objectType>User</d:objectType>
<d:objectId>23dc9514-64ec-4c94-8f03-4edf9016b2a6</d:objectId>
<d:accountEnabled m:type="Edm.Boolean">true</d:accountEnabled>
<d:assignedLicenses m:type="Collection(Microsoft.WindowsAzure.ActiveDirectory.AssignedLicense)" />
<d:assignedPlans m:type="Collection(Microsoft.WindowsAzure.ActiveDirectory.AssignedPlan)" />
<d:city m:null="true" />
<d:displayName>Michael Collier</d:displayName>
<d:givenName>Michael</d:givenName>
<d:mailNickname>michael</d:mailNickname>
<d:mobile>+1 6142883146</d:mobile>
<d:otherMails m:type="Collection(Edm.String)">
<d:element>michaelscollier@gmail.com</d:element>
</d:otherMails>
<d:userPrincipalName>michael@collierdemo.onmicrosoft.com</d:userPrincipalName>
</m:properties>
</content>
</entry>
</feed> * Some elements removed for readability.
Graph API Helpers
• REST interface for WAAD
• Graph Explorer: https://graphexplorer.cloudapp.net/
• AAD Helper: http://code.msdn.microsoft.com/Windows-
Azure-AD-Graph-API-a8c72e18
• Active Directory Authentication Library (ADAL)
• https://www.nuget.org/packages/System.IdentityModel.Client
s.ActiveDirectory/
• http://www.cloudidentity.com/blog/2013/08/02/aal-becomes-
adal-active-directory-authentication-library/
• Formerly Azure Authentication Library (AAL)
39
WAAD Authentication
• Authentication for cloud-based & native apps
• Permissions
• SSO, Read Data, Read & Write Data
• Applies to the APPLICATION, not the user
40
DEMO TIME!!!
Windows Azure AD – Single Sign-On, Web API, and Windows Store
WAAD and the Enterprise
59
AD
SQL
My Enterprise
LOB App
WAAD and the Enterprise
60
• Passwords sync every 2 minutes
• Users sync every 3 hours
My Enterprise
DirSync
LOB App
SQL
Where Does the Authentication Happen?
61
Portal PowerShell/
Directory GRAPH
DirSync w/Cloud
identities
DirSync
w/Password Sync
DirSync w/SSO
Target customer
segment
• Small • Small to Medium • Small/Medium • Small/Medium • Medium/Large
Scenario supported • Least • Least • Some limitation • Some limitations • Most
Directory Source of
Authority
• Cloud • Cloud • On-premises • On-premises • On-premises
Hardware
requirements
• No additional
hardware required
• No additional
hardware required
• Windows Server
OS for DirSync
appliance
• Windows Server
OS for DirSync
appliance
• DirSync appliance
• ADFS (or other
STS) deployment
IDP • Cloud • Cloud • Cloud • Cloud • On-premises
User login
experience
• Disjoint username
and password
• Enter credentials
twice
• Disjoint username
and password
• Enter credentials
twice
• Same username,
disjoint password
• Enter credentials
twice
• Same username
and password for
on-prem and cloud
• Enter credentials
twice
• Same username
and password for
on-prem and cloud
• Login once if on-
premises
Complexity • Low • Medium • Low • Low • High
Table Source: Microsoft Office 365 Directory and Access Management with Windows Azure Active Directory, Ross Adams & Jono Luk – TechEd NA 2013
DEMO TIME!!!
Windows Azure Active Directory w/ DirSync
Going Further with Windows Azure AD
• Multitenant applications
• Leverage identity from other WAAD tenants
• http://www.windowsazure.com/en-
us/develop/net/tutorials/multitenant-apps-for-active-
directory/
• Phone 2FA (Multi-Factor Authentication)
• Additional administrative users
• Username/pwd + text message code
63
Summary
• Developers, Architects, & IT Pros work together
• Mobile Services
• Quickly add Identity Providers via portal config and code
• ACS
• Federated identity authentication
• Claims-based authorization
• Windows Azure AD
• “Extends” Windows Server AD to the cloud
• Query via REST graph API
64
Helpful Resources
• Mobile Services
• Handling Expired Tokens -
http://www.thejoyofcode.com/Handling_expired_tokens_in_your_application_Day_11_.aspx
• Carlos Figueira’s Blog - http://blogs.msdn.com/b/carlosfigueira/
• ACS
• Cheat Sheet – http://bit.ly/ACSCheatSheet
• How To’s – http://bit.ly/ACSHowTo
• Tips – http://bit.ly/HYhxjY
• Azure Active Directory
• “Microsoft Office 365 Directory and Access Management with Windows Azure Active Directory”,
Ross Adams & Jono Luk – TechEd NA 2013
• “Deep Dive into the Windows Azure Active Directory Graph API: Data Model, Schema, Query,
and More”, Edward Wu – TechEd NA 2013
• Securing a Windows Store App and REST API using Windows Azure AD -
http://msdn.microsoft.com/en-us/library/windowsazure/dn169448.aspx
• Vittorio Bertocci’s Blog - http://www.cloudidentity.com/blog/
65
Ask your questions
Thank You!
• Michael S. Collier
• Principal Cloud Architect, Aditi
• michaelc@aditi.com
• @MichaelCollier
• www.MichaelSCollier.com
Using Windows Azure for Solving Identity Management Challenges
August 11th – 13th 2014
Same Place, Same Time

More Related Content

PPTX
Windows Azure for Developers - Service Management
PPTX
What's New for the Windows Azure Developer? Lots!!
PPTX
Automating Your Microsoft Azure Environment (DevLink 2014)
PDF
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
PPTX
What's New for the Windows Azure Developer? Lots! (July 2013)
PPTX
Automating Your Azure Environment
PPTX
Programming Azure Active Directory (DevLink 2014)
PPTX
More Cache for Less Cash (DevLink 2014)
Windows Azure for Developers - Service Management
What's New for the Windows Azure Developer? Lots!!
Automating Your Microsoft Azure Environment (DevLink 2014)
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
What's New for the Windows Azure Developer? Lots! (July 2013)
Automating Your Azure Environment
Programming Azure Active Directory (DevLink 2014)
More Cache for Less Cash (DevLink 2014)

What's hot (19)

PPTX
More Cache for Less Cash
PPTX
Windows Azure: Lessons From the Field
PPTX
Windows Azure Mobile Services - The Perfect Partner
PPTX
Windows Phone 7 and Windows Azure – A Match Made in the Cloud
PPTX
The Hybrid Windows Azure Application
PPTX
Azure AD connect- Deep Dive Webinar PPT
PPTX
Windows Azure Mobile Services - The Perfect Partner
PPTX
Azure AD Connect
PPTX
Azure Automation and Update Management
PDF
Understanding Azure AD
PPTX
Integrating your on-premises Active Directory with Azure and Office 365
PPTX
Azure - Identity as a service
PPTX
Windows Azure Active Directory
PPTX
Enter The Matrix Securing Azure’s Assets
PPTX
Inside Azure Resource Manager
PPTX
PaaSport to Paradise - Azure SQL and SSIS in Azure Data Factory - Better Toge...
PPTX
How to provide AD, ADFS, DirSync in Windows Azure and hook it up with Office 365
PPTX
10 Ways to Gaurantee Your Azure Project will Fail
PPTX
Building & managing wa app wely
More Cache for Less Cash
Windows Azure: Lessons From the Field
Windows Azure Mobile Services - The Perfect Partner
Windows Phone 7 and Windows Azure – A Match Made in the Cloud
The Hybrid Windows Azure Application
Azure AD connect- Deep Dive Webinar PPT
Windows Azure Mobile Services - The Perfect Partner
Azure AD Connect
Azure Automation and Update Management
Understanding Azure AD
Integrating your on-premises Active Directory with Azure and Office 365
Azure - Identity as a service
Windows Azure Active Directory
Enter The Matrix Securing Azure’s Assets
Inside Azure Resource Manager
PaaSport to Paradise - Azure SQL and SSIS in Azure Data Factory - Better Toge...
How to provide AD, ADFS, DirSync in Windows Azure and hook it up with Office 365
10 Ways to Gaurantee Your Azure Project will Fail
Building & managing wa app wely
Ad

Similar to Using Windows Azure for Solving Identity Management Challenges (20)

PPTX
Windows Azure Active Directory: Identity Management in the Cloud
PPTX
Azure-AD.pptx
PPTX
Microsoft Azure AD architecture and features
PPTX
Understanding Office 365’s Identity Solutions: Deep Dive - EPC Group
PPTX
Identity Management for Office 365 and Microsoft Azure
DOCX
Active directory-from-on-premises-to-the-cloud
PPTX
Azure AD Presentation - @ BITPro - Ajay
PDF
Identity and Access Management from Microsoft and Razor Technology
PDF
Premier Webcast - Identity Management with Windows Azure AD
PPTX
O365-AzureAD Identity management
PPTX
Azure Active Directory - An Introduction for Developers
PDF
04_Extending and Securing Enterprise Applications in Microsoft Azure_GAB2019
PDF
MS Cloud Identity and Access Infographic 2015 (1)
PDF
Ms cloud identity and access infographic 2015
PPTX
Análisis de riesgos en Azure y protección de la información
PPTX
2018 November - AZUGDK - Azure AD
PDF
How AD has been re-engineered to extend to the cloud
PDF
15th December 2016 - Microsoft Paddington Vuzion Partner Event
PPTX
JoTechies - Cloud identity
PDF
Understanding Azure AD Webinar Presentation
Windows Azure Active Directory: Identity Management in the Cloud
Azure-AD.pptx
Microsoft Azure AD architecture and features
Understanding Office 365’s Identity Solutions: Deep Dive - EPC Group
Identity Management for Office 365 and Microsoft Azure
Active directory-from-on-premises-to-the-cloud
Azure AD Presentation - @ BITPro - Ajay
Identity and Access Management from Microsoft and Razor Technology
Premier Webcast - Identity Management with Windows Azure AD
O365-AzureAD Identity management
Azure Active Directory - An Introduction for Developers
04_Extending and Securing Enterprise Applications in Microsoft Azure_GAB2019
MS Cloud Identity and Access Infographic 2015 (1)
Ms cloud identity and access infographic 2015
Análisis de riesgos en Azure y protección de la información
2018 November - AZUGDK - Azure AD
How AD has been re-engineered to extend to the cloud
15th December 2016 - Microsoft Paddington Vuzion Partner Event
JoTechies - Cloud identity
Understanding Azure AD Webinar Presentation
Ad

Recently uploaded (20)

PPTX
OMC Textile Division Presentation 2021.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Empathic Computing: Creating Shared Understanding
PPTX
A Presentation on Artificial Intelligence
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Spectroscopy.pptx food analysis technology
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Machine Learning_overview_presentation.pptx
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Unlocking AI with Model Context Protocol (MCP)
PPT
Teaching material agriculture food technology
PDF
Approach and Philosophy of On baking technology
OMC Textile Division Presentation 2021.pptx
MIND Revenue Release Quarter 2 2025 Press Release
Advanced methodologies resolving dimensionality complications for autism neur...
TLE Review Electricity (Electricity).pptx
Empathic Computing: Creating Shared Understanding
A Presentation on Artificial Intelligence
Machine learning based COVID-19 study performance prediction
Spectroscopy.pptx food analysis technology
Spectral efficient network and resource selection model in 5G networks
Univ-Connecticut-ChatGPT-Presentaion.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Per capita expenditure prediction using model stacking based on satellite ima...
Programs and apps: productivity, graphics, security and other tools
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Machine Learning_overview_presentation.pptx
Accuracy of neural networks in brain wave diagnosis of schizophrenia
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Unlocking AI with Model Context Protocol (MCP)
Teaching material agriculture food technology
Approach and Philosophy of On baking technology

Using Windows Azure for Solving Identity Management Challenges

  • 1. Using Windows Azure for Solving Identity Management Challenges Michael S. Collier
  • 2. Michael S. Collier • Principal Cloud Architect, Aditi • [email protected] • @MichaelCollier • www.MichaelSCollier.com
  • 5. What We’re Talking About • Identity - Current State and in The Cloud • Windows Azure solutions • Mobile Services • Access Control Service (ACS) • Windows Azure Active Directory 6
  • 6. Who Are You? • Personalization • Business Rules • Functionality / Features 7
  • 7. Traditional Identity Management • IT Pro – controls the known world • Developers – blissfully ignorant? 8 AD SQL My Enterprise LOB App
  • 8. Cloud . . . A New Challenge • Move the application & data • Islands of identity • Outside of “traditional” IT world • External users / partners • BYOD • Developers ignorant no more • Developers + IT Pros 9
  • 9. 10 Windows Azure Options Mobile Services Active Directory Access Control Service (ACS) Server Active Directory AD w/ DirSync
  • 10. Mobile Services • Goal – easily build cloud-powered mobile apps • Built-in support for multiple social identity providers 11 private async System.Threading.Tasks.Task Authenticate() { while (user == null) { string message; try { user = await App.MobileService.LoginAsync(MobileServiceAuthenticationProvider.Twitter); message = string.Format("You are now logged in - {0}", user.UserId); CurrentUser.Text = "Welcome, " + App.MobileService.CurrentUser.UserId; } catch (InvalidOperationException) { message = "You must log in. Login Required"; } var dialog = new MessageDialog(message); dialog.Commands.Add(new UICommand("OK")); await dialog.ShowAsync(); } } Facebook Google MicrosoftAccount Twitter
  • 12. Authentication • Microsoft Account, Facebook, Twitter, and Google • OAuth • Does not use Windows Azure ACS
  • 13. Authentication • Microsoft Account – Use the Live SDK • Tight integration with Windows Live services
  • 14. More Mobile Services? • Programming Windows Azure Mobile Services • Jason Farrell • Wednesday at 10:30am • Portia 15
  • 15. Access Control Service (ACS) • Federated identity/authentication service • Google, Microsoft Account, Yahoo!, ADFS v2 • Bring your own membership • Claims-based authorization • Browser based (302 redirect) • Focus on your app 16
  • 17. ACS Tips • Enrich claims w/ a ClaimsAuthenticationManager • Update WIF settings in web.config in OnStart() • Web Farm Ready Cookies • Web Sites and Cloud Services • DPAPI not supported in Windows Azure • Provide sign-out link for identity providers • Azure co-admin can’t admin ACS namespace 31
  • 18. Windows Azure Active Directory • Internet scale, multi-tenant directory service • Directory store for Office 365 • Extend Windows Server AD to the cloud • Directory & identity services w/o need for Windows Server AD 32 Active Directory O365 Account Portal Intune Account Portal Windows Azure Mgmt Portal Azure AD PowerShell cmdlets
  • 19. Windows Azure Active Directory • Multi-tenant “directory-as-a-service” • NOT a cloud version of Windows Server AD 33 Image Source: http://technet.microsoft.com/en-us/library/jj573650.aspx
  • 20. Windows Azure Active Directory 34 Windows Azure Management Portal REST API SAML-P O-Auth WS-Federation Integration / Management Endpoints Windows Azure Active Directory
  • 21. Windows Azure Active Directory 35 Integration / Management Endpoints
  • 22. Windows Azure Active Directory • What’s in the directory? • Everything is an object • Types: User, Group, Role, Application, Device, etc. 36
  • 23. WAAD Graph Response <?xml version="1.0" encoding="utf-8"?> <feed xml:base="https://graph.windows.net/collierdemo.onmicrosoft.com/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml"> <id>https://graph.windows.net/11271159-abc8-4e0e-b3c2-c2a0858a036b/directoryObjects/$/Microsoft.WindowsAzure.ActiveDirectory.User</id> <title type="text">Microsoft.WindowsAzure.ActiveDirectory.User</title> <updated>2013-03-21T00:58:34Z</updated> <link rel="self" title="Microsoft.WindowsAzure.ActiveDirectory.User" href="Microsoft.WindowsAzure.ActiveDirectory.User" /> <entry> <id>https://graph.windows.net/11271159-abc8-4e0e-b3c2-c2a0858a036b/directoryObjects/23dc9514-64ec-4c94-8f03-4edf9016b2a6</id> <category term="Microsoft.WindowsAzure.ActiveDirectory.User" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> <link rel="edit" title="User" href="directoryObjects/23dc9514-64ec-4c94-8f03-4edf9016b2a6/Microsoft.WindowsAzure.ActiveDirectory.User" /> <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/manager" type="application/atom+xml;type=entry" title="manager" href="directoryObjects/23dc9514-64ec-4c94-8f03-4edf9016b2a6/Microsoft.WindowsAzure.ActiveDirectory.User/manager" /> <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/directReports" type="application/atom+xml;type=feed" title="directReports" href="directoryObjects/23dc9514-64ec-4c94-8f03-4edf9016b2a6/Microsoft.WindowsAzure.ActiveDirectory.User/directReports" /> <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/members" type="application/atom+xml;type=feed" title="members" href="directoryObjects/23dc9514-64ec-4c94-8f03-4edf9016b2a6/Microsoft.WindowsAzure.ActiveDirectory.User/members" /> <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/memberOf" type="application/atom+xml;type=feed" title="memberOf" href="directoryObjects/23dc9514-64ec-4c94-8f03-4edf9016b2a6/Microsoft.WindowsAzure.ActiveDirectory.User/memberOf" /> <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/permissions" type="application/atom+xml;type=feed" title="permissions" href="directoryObjects/23dc9514-64ec-4c94-8f03-4edf9016b2a6/Microsoft.WindowsAzure.ActiveDirectory.User/permissions" /> 37
  • 24. WAAD Graph Response 38 <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/edit-media/thumbnailPhoto" title="thumbnailPhoto" href="directoryObjects/23dc9514-64ec- 4c94-8f03-4edf9016b2a6/Microsoft.WindowsAzure.ActiveDirectory.User/thumbnailPhoto" /> <m:action metadata="https://graph.windows.net/michaelcollier.onmicrosoft.com/$metadata#DirectoryDataService.assignLicense" title="assignLicense" target="https://graph.windows.net/collierdemo.onmicrosoft.com/directoryObjects/23dc9514-64ec-4c94-8f03- 4edf9016b2a6/Microsoft.WindowsAzure.ActiveDirectory.User/assignLicense" /> <content type="application/xml"> <m:properties> <d:objectType>User</d:objectType> <d:objectId>23dc9514-64ec-4c94-8f03-4edf9016b2a6</d:objectId> <d:accountEnabled m:type="Edm.Boolean">true</d:accountEnabled> <d:assignedLicenses m:type="Collection(Microsoft.WindowsAzure.ActiveDirectory.AssignedLicense)" /> <d:assignedPlans m:type="Collection(Microsoft.WindowsAzure.ActiveDirectory.AssignedPlan)" /> <d:city m:null="true" /> <d:displayName>Michael Collier</d:displayName> <d:givenName>Michael</d:givenName> <d:mailNickname>michael</d:mailNickname> <d:mobile>+1 6142883146</d:mobile> <d:otherMails m:type="Collection(Edm.String)"> <d:element>[email protected]</d:element> </d:otherMails> <d:userPrincipalName>[email protected]</d:userPrincipalName> </m:properties> </content> </entry> </feed> * Some elements removed for readability.
  • 25. Graph API Helpers • REST interface for WAAD • Graph Explorer: https://graphexplorer.cloudapp.net/ • AAD Helper: http://code.msdn.microsoft.com/Windows- Azure-AD-Graph-API-a8c72e18 • Active Directory Authentication Library (ADAL) • https://www.nuget.org/packages/System.IdentityModel.Client s.ActiveDirectory/ • http://www.cloudidentity.com/blog/2013/08/02/aal-becomes- adal-active-directory-authentication-library/ • Formerly Azure Authentication Library (AAL) 39
  • 26. WAAD Authentication • Authentication for cloud-based & native apps • Permissions • SSO, Read Data, Read & Write Data • Applies to the APPLICATION, not the user 40
  • 27. DEMO TIME!!! Windows Azure AD – Single Sign-On, Web API, and Windows Store
  • 28. WAAD and the Enterprise 59 AD SQL My Enterprise LOB App
  • 29. WAAD and the Enterprise 60 • Passwords sync every 2 minutes • Users sync every 3 hours My Enterprise DirSync LOB App SQL
  • 30. Where Does the Authentication Happen? 61 Portal PowerShell/ Directory GRAPH DirSync w/Cloud identities DirSync w/Password Sync DirSync w/SSO Target customer segment • Small • Small to Medium • Small/Medium • Small/Medium • Medium/Large Scenario supported • Least • Least • Some limitation • Some limitations • Most Directory Source of Authority • Cloud • Cloud • On-premises • On-premises • On-premises Hardware requirements • No additional hardware required • No additional hardware required • Windows Server OS for DirSync appliance • Windows Server OS for DirSync appliance • DirSync appliance • ADFS (or other STS) deployment IDP • Cloud • Cloud • Cloud • Cloud • On-premises User login experience • Disjoint username and password • Enter credentials twice • Disjoint username and password • Enter credentials twice • Same username, disjoint password • Enter credentials twice • Same username and password for on-prem and cloud • Enter credentials twice • Same username and password for on-prem and cloud • Login once if on- premises Complexity • Low • Medium • Low • Low • High Table Source: Microsoft Office 365 Directory and Access Management with Windows Azure Active Directory, Ross Adams & Jono Luk – TechEd NA 2013
  • 31. DEMO TIME!!! Windows Azure Active Directory w/ DirSync
  • 32. Going Further with Windows Azure AD • Multitenant applications • Leverage identity from other WAAD tenants • http://www.windowsazure.com/en- us/develop/net/tutorials/multitenant-apps-for-active- directory/ • Phone 2FA (Multi-Factor Authentication) • Additional administrative users • Username/pwd + text message code 63
  • 33. Summary • Developers, Architects, & IT Pros work together • Mobile Services • Quickly add Identity Providers via portal config and code • ACS • Federated identity authentication • Claims-based authorization • Windows Azure AD • “Extends” Windows Server AD to the cloud • Query via REST graph API 64
  • 34. Helpful Resources • Mobile Services • Handling Expired Tokens - http://www.thejoyofcode.com/Handling_expired_tokens_in_your_application_Day_11_.aspx • Carlos Figueira’s Blog - http://blogs.msdn.com/b/carlosfigueira/ • ACS • Cheat Sheet – http://bit.ly/ACSCheatSheet • How To’s – http://bit.ly/ACSHowTo • Tips – http://bit.ly/HYhxjY • Azure Active Directory • “Microsoft Office 365 Directory and Access Management with Windows Azure Active Directory”, Ross Adams & Jono Luk – TechEd NA 2013 • “Deep Dive into the Windows Azure Active Directory Graph API: Data Model, Schema, Query, and More”, Edward Wu – TechEd NA 2013 • Securing a Windows Store App and REST API using Windows Azure AD - http://msdn.microsoft.com/en-us/library/windowsazure/dn169448.aspx • Vittorio Bertocci’s Blog - http://www.cloudidentity.com/blog/ 65
  • 36. Thank You! • Michael S. Collier • Principal Cloud Architect, Aditi • [email protected] • @MichaelCollier • www.MichaelSCollier.com
  • 38. August 11th – 13th 2014 Same Place, Same Time

Editor's Notes

  • #3: Title slide for anyone looking to use this years logo.
  • #4: Principal Cloud ArchitectWindows Azure MVPHelp customers nationwide with their Windows Azure projects. This can include architectural design sessions, training, development, evangelism, etc.Reach me via email, Twitter, or my blog.
  • #5: Please take a brief opportunity and thank our platinum and gold sponsors. They have invested a lot of time and money into making That Conference the success it is.
  • #8: Nearly every application asks at least one simple question – who are you?PersonalizationBusiness rules (access to specific areas / functionality)
  • #12: MSFT Account – OAuth and integrated Windows Store app (SSO)
  • #14: OAuthRenders the OAuth web interface for the selected provider.
  • #15: Provide SSO for Windows 8 users
  • #17: Mobile Services helps w/ mobile apps, but what about web apps. We can leverage ACS.Authorization – your responsibility; use provided claims and map to your business rules
  • #33: With the somewhat more consumer offerings out of the way, let’s spend the rest of the time talking about enterprises.
  • #35: Accessibility options
  • #37: DirectoryObject is the base type for the following entity types: Application, Device,DirectoryLinkChange, Contact, Group, Role, ServicePrincipal, TenantDetail, and User.http://msdn.microsoft.com/en-us/library/windowsazure/jj134105.aspx
  • #42: Simple SSO for web appWeb API and Windows Store App - AAL
  • #62: Integration Options
  • #63: Show AD server and VM in cloudShow WAAD dir integrationChange user password . . . Wait for syncShow demo app
  • #64: Phone 2FA – formerly known as ‘Active Authentication’
  • #68: Windows Azure National ArchitectWindows Azure MVPHelp customers nationwide with their Windows Azure projects. This can include architectural design sessions, training, development, evangelism, etc.Reach me via email, Twitter, or my blog.
  • #70: At the end of your presentation we would be grateful if you could help us announce next years date.