SlideShare a Scribd company logo
Developing and deploying Identity-enabled applications for the cloud
This sessionmeetsDeveloping and deploying Identity-enabled applications for the cloud
Winsec.bethanks his sponsors for their continued support
Azugthanks his sponsors
Thanksforbeinghereandenjoy the show!Feedback to winsec@winsec.be
board@azug.beDeveloping and deploying Identity-enabled applications for the cloud
Your Presenters for TodayMaarten@maartenballiauw / about.me/maarten.balliauwCo-founder of AZUGMVP: Windows AzureBlogs at http://blog.maartenballiauw.bePaul@ploonen / paul@winsec.beCo-founder of winsec.beMVP: Microsoft Forefront Identity ManagerMCM DirectoryCurrent hobby: Architect@AvanadeBlog @ http://be-id.blogspot.com
AgendaPresenting the problem (a.k.a. “The Scenario”)How federation saves the dayHow ADFS solves federationHow to connect an app to ADFSHow Windows Azure adds extra sauce to federationQ&A
Introducing the Problem
Introducing AD FS v2
Some vocabulary
Federation benefitsBenefits of SSOreduce administrative overheadreduce security vulnerabilities as a result of lost or stolen passwordsimprove user productivityIntra-Enterprise: provide SSO for all your web sites and applicationsInter-Enterprise:provide SSO experiences for your users to access apps in other organizationsprovide SSO experience for users from external organizations to access your appsEasily externalize authentication & authorizationRich claims rules processing engineManagement & Configuration Tools
What is AD FS 2.0?Other Claims ProvidersAD FS 2.0 provides access and single sign-on for on-premises and cloud-based applications in the enterprise, across organizations, and on the WebCAIBMSUNAD FS 2.0 Major ComponentsFederation ServerFederation Server ProxyWIFAttribute StoresClaims EngineWebsiteManagement Snap-inOther STSWeb ServiceActive DirectoryWindows Server 2008 SP2, 2008 R2MS SQLRelying PartiesBrowser AppsWIFWindows Internal DB.NET 3.5 SP1IIS 7Smart ClientsWeb Services
Why consider AD FS 2.0?Building a production-ready STS is hard.The Visual Studio STS templates are just starters for trivial dev scenarios.Lots of configuration to manage, UI's to present in real world STS!
Typical Traffic FlowIdentity ProviderRelying PartyFederationTrustActive DirectoryAccountResourceFederation ServerFederation ServerWeb ServerInternal Client
Scenario 1 – Intra OrganizationClaims-aware appADFS STSActive DirectoryUserApp trusts STSBrowse appNot authenticatedRedirected to STS AuthenticateReturn Security TokenQuery for user attributesSend TokenSTSTReturn pageand cookie
Scenario 2 – Inter OrganizationActiveDirectoryYourADFS STSPartnerADFS STS & IPYourClaims-aware appPartner userBrowse appNot authenticatedRedirect to your STSHome realm discoveryRedirected to partner STS requesting ST for partner userAuthenticateReturn ST for consumption by your STS Redirected to your STS STSTSTSTProcess tokenReturn new ST Send TokenReturn pageand cookie
Installing AD FS v2Requires Windows Server 2008 / 2008 R2Requires IIS 7, .NET 3.5 SP1, WIFSee deployment guide for required hot fixes and updatesIssue and install server certificates for HTTPSThink about implications for partner organisationCross certification when few partners, otherwise, buy required certsDownload and install ADFS 2.0Simple WizardNew / farm member / Proxy – SSL cert – Names
AuthN, Attribute StoresAD FS v2 can only use Active Directory as an identity store for authenticationADFSv1 could also use AD LDS / ADAMAD FS v2 can extract attributes from AD DS and from SQL ServerSQL and LDAP stores are directly supportedAdditional stores can be added through custom extensionsIAttributeStore(see: http://msdn.microsoft.com/en-us/library/ee895358.aspx) Register your custom store using Add-ADFSAttributeStoreissue(store = "FileAttributeStore", types = ( "http://schemas.microsoft.com/ws/2008/06/identity/claims/name", 	"http://schemas.microsoft.com/ws/2008/06/identity/claims/role"), query = "Age=33;EmpName,Role");Add-ADFSAttributeStore -TypeQualifiedName "CustomAttributeStores.FileAttributeStore,CustomAttributeStores" -Configuration @{"FileName"="c:\temp\data.txt"} -Name FileAttributeStore
Setting up your STSDemo
Installation Sequence
AD FS 2.0 deployment optionsSingle server configurationAD FS 2.0 server farm and load-balancerAD FS 2.0 proxy server (offsite users)ActiveDirectoryAD FS 2.0 ServerProxyAD FS 2.0 ServerAD FS 2.0 ServerAD FS 2.0 ServerProxyExternal userInternaluserDMZEnterprise
Configuring your AD FS ServerOr: %ProgramFiles%\Active Directory Federation Services 2.0\FsConfigWizard.exeManually: 	FsConfig.exe { StandAlone | CreateSQLFarm | JoinFarm | JoinSQLFarm | GenerateSQLScripts} [deployment specific parameters]
FSConfigWizard
Implementing ADFS in your infra
Configuring your federation serverIdentity ProviderRelying PartyClaimsDemo
Configuring the RP Trust
Claim RulesRule templates simplify the creation of rulesExamples of rules are:Permit / deny user based on incoming claim valueTransform the incoming claim valuePass through / filter an incoming claimMultiple claim rules can be specified and are processed in top to bottom orderResults from previously processed claims can be used as the input for subsequent rules
Creating RulesOn IdPOn RPOn RP
Creating RulesConditionIssuance StatementA claim rule consists of two parts, condition and issuance statement
Custom ClaimsCapabilities of custom rules includeSending claims from a SQL attribute storeSending claims from an LDAP attribute store using a custom LDAP filterSending claims from a custom attribute storeSending claims only when 2 or more incoming claims are metSending claims only when an incoming claim matches a complex valueSending claims with complex changes to an incoming claim valueCreating claims for use in later rules
Further CustomizationsCustom Style SheetHome realm discoveryLogon PageAuthentication…
What Else?HardeningSCW profiles are on the boxSizingPowerShellIn Win8 becomes a server role again (v2.1)
Windows Identity Foundation
Windows Identity FoundationYour one and only partner for .NET identity developmentAdds claims-based authentication to your application in no timeMy advise: forget custom user storesAnd if you need them: WIF-ify (?) them
Connecting an app to an STSDemo
Where things get cloudy...Windows Azure AppFabricAccess Control ServiceACS
Windows Azure AppFabric ACSAn STS in the cloudPluggable with identity providersWindows Live IDFacebookGoogleYahoo!Any ADFS	or better: any WS-federation passive endpointAny OAuth2 provider
Why ACS?
Let’s step back...No, we’re not the USFederation across organizations does not happen often todaySo why would I use ACS anyway?Dev, test, accept, prod are different RP’s!2 apps with all these environments is 8 RP’s!Imagine 10 apps... Or a hundred...
ACS advantagesA scalable STSWith one or more identity providersWith one or more relying partiesWith one or more rule groupsIntegrates with WIFIntegrates with ADFSInstant win!
ACSIdentityProvidersYour ApplicationACSSAMLSWTBrowser-basedWS-FederationADFS2 . WS-FederationRichClientSAMLWS-TrustADFS2 . WS-TrustServer 2 ServerSWTOAuth WRAP/2.0Service Identities
Connecting an app to ACSDemo
Connecting ACS to ADFSDemo
Using ACS at its full extentACS as an identity service busDemo
Conclusion
ConclusionIt is possible to do SSO over security boundariesIt is possible to integrate multiple apps with multiple identity providersADFS and ACS form a nice coupleStandards based solution
Some ResourcesAD FS v2 on TechNet and MSDNAD FS v2 content on TechNet WikiClaims-Based Identity BlogWindows Azure AppFabric Access Control ServiceWIF and ACS Content Map on Technet WikiVittorio’s Bloghttp://identityserver.codeplex.com
Q&A
Winsec.bethanks his sponsors for their continued support

More Related Content

PPTX
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
PPT
Building for the cloud - integrating an application on Windows Azure - Remix2010
PPTX
Hands on with ASP.NET MVC
PDF
Azure App Services
PPTX
Microsoft Reactor Toronto 5/5/2020 | Azure Kubernetes In Action - Running and...
PPTX
Running Regulated Workloads on Azure PaaS services (DogFoodCon 2018)
PPTX
Azure Key Vault with a PaaS Architecture and ARM Template Deployment
PPTX
Azure Bot Service
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
Building for the cloud - integrating an application on Windows Azure - Remix2010
Hands on with ASP.NET MVC
Azure App Services
Microsoft Reactor Toronto 5/5/2020 | Azure Kubernetes In Action - Running and...
Running Regulated Workloads on Azure PaaS services (DogFoodCon 2018)
Azure Key Vault with a PaaS Architecture and ARM Template Deployment
Azure Bot Service

What's hot (20)

PPTX
Azure: PaaS or IaaS
PPTX
Azure Active Directory - An Introduction
PDF
Azure hands on lab
PDF
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
PPTX
Azure Active Directory
PPTX
Zero credential development with managed identities
PPTX
Windows Azure Active Directory
PPTX
Microsoft Azure Identity and O365
PDF
Develop enterprise-ready applications for Microsoft Teams
PDF
Design and Configure Azure App Service Web Apps
PDF
Everything you always wanted to know about API Management (but were afraid to...
PPTX
Adfs Shib Interop Um Oxford
PPTX
Identity and o365 on Azure
PDF
CIS 2015 SSO for Mobile and Web Apps Ashish Jain
PPTX
Windows azure active directory
PPTX
DEVNET-1120 Intercloud Fabric - AWS and Azure Account Setup and Utilization
PDF
O365Con18 - Connect SharePoint Framework Solutions to API's secured with Azur...
PPTX
Azure Web Apps Advanced Security
PDF
Como construir suas aplicações escaláveis sem servidores
PDF
Azure web apps
Azure: PaaS or IaaS
Azure Active Directory - An Introduction
Azure hands on lab
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
Azure Active Directory
Zero credential development with managed identities
Windows Azure Active Directory
Microsoft Azure Identity and O365
Develop enterprise-ready applications for Microsoft Teams
Design and Configure Azure App Service Web Apps
Everything you always wanted to know about API Management (but were afraid to...
Adfs Shib Interop Um Oxford
Identity and o365 on Azure
CIS 2015 SSO for Mobile and Web Apps Ashish Jain
Windows azure active directory
DEVNET-1120 Intercloud Fabric - AWS and Azure Account Setup and Utilization
O365Con18 - Connect SharePoint Framework Solutions to API's secured with Azur...
Azure Web Apps Advanced Security
Como construir suas aplicações escaláveis sem servidores
Azure web apps
Ad

Similar to Developing and deploying Identity-enabled applications for the cloud (20)

PPTX
SharePoint 2013 and ADFS
PPTX
AD FS Workshop | Part 1 | Quick Overview
PDF
Windows Server 2008 Active Directory ADFS Claims-base Idm for Windows Part 2
PPTX
Single Sign On using ADFS.pptx
PPTX
MCSA 70-412 Chapter 08
PPTX
AD FS Workshop | Part 2 | Deep Dive
PDF
Claims based identity second edition device
PPT
Windows server 2003_r2
PPTX
Identity in the cloud using Microsoft
PPTX
CTU June 2011 - Windows Azure App Fabric
PPTX
Adfs 2 & claims based identity
PPTX
Office 365-single-sign-on-with-adfs
PPTX
Federated and fabulous identity
PPTX
The Who, What, Why and How of Active Directory Federation Services (AD FS)
PDF
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
PPTX
Identity Management for Office 365 and Microsoft Azure
PPTX
Troopers 19 - I am AD FS and So Can You
PPTX
ADFS + IAM
PPTX
O365-AzureAD Identity management
SharePoint 2013 and ADFS
AD FS Workshop | Part 1 | Quick Overview
Windows Server 2008 Active Directory ADFS Claims-base Idm for Windows Part 2
Single Sign On using ADFS.pptx
MCSA 70-412 Chapter 08
AD FS Workshop | Part 2 | Deep Dive
Claims based identity second edition device
Windows server 2003_r2
Identity in the cloud using Microsoft
CTU June 2011 - Windows Azure App Fabric
Adfs 2 & claims based identity
Office 365-single-sign-on-with-adfs
Federated and fabulous identity
The Who, What, Why and How of Active Directory Federation Services (AD FS)
Using Windows Azure for Solving Identity Management Challenges (Visual Studio...
Identity Management for Office 365 and Microsoft Azure
Troopers 19 - I am AD FS and So Can You
ADFS + IAM
O365-AzureAD Identity management
Ad

More from Maarten Balliauw (20)

PPTX
Bringing nullability into existing code - dammit is not the answer.pptx
PPTX
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
PPTX
Building a friendly .NET SDK to connect to Space
PPTX
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
PPTX
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
PPTX
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
PPTX
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
PPTX
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
PPTX
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
PPTX
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
PPTX
Approaches for application request throttling - Cloud Developer Days Poland
PPTX
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
PPTX
Approaches for application request throttling - dotNetCologne
PPTX
CodeStock - Exploring .NET memory management - a trip down memory lane
PPTX
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
PPTX
ConFoo Montreal - Approaches for application request throttling
PPTX
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
PPTX
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
PPTX
DotNetFest - Let’s refresh our memory! Memory management in .NET
PPTX
VISUG - Approaches for application request throttling
Bringing nullability into existing code - dammit is not the answer.pptx
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Building a friendly .NET SDK to connect to Space
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
Approaches for application request throttling - Cloud Developer Days Poland
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Approaches for application request throttling - dotNetCologne
CodeStock - Exploring .NET memory management - a trip down memory lane
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Approaches for application request throttling
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
DotNetFest - Let’s refresh our memory! Memory management in .NET
VISUG - Approaches for application request throttling

Recently uploaded (20)

PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
cuic standard and advanced reporting.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Electronic commerce courselecture one. Pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PPTX
Spectroscopy.pptx food analysis technology
PPT
Teaching material agriculture food technology
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Machine Learning_overview_presentation.pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Per capita expenditure prediction using model stacking based on satellite ima...
Assigned Numbers - 2025 - Bluetooth® Document
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
cuic standard and advanced reporting.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Machine learning based COVID-19 study performance prediction
Unlocking AI with Model Context Protocol (MCP)
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Dropbox Q2 2025 Financial Results & Investor Presentation
Encapsulation_ Review paper, used for researhc scholars
Electronic commerce courselecture one. Pdf
MIND Revenue Release Quarter 2 2025 Press Release
SOPHOS-XG Firewall Administrator PPT.pptx
Spectroscopy.pptx food analysis technology
Teaching material agriculture food technology
NewMind AI Weekly Chronicles - August'25-Week II
The Rise and Fall of 3GPP – Time for a Sabbatical?
Machine Learning_overview_presentation.pptx

Developing and deploying Identity-enabled applications for the cloud

  • 1. Developing and deploying Identity-enabled applications for the cloud
  • 2. This sessionmeetsDeveloping and deploying Identity-enabled applications for the cloud
  • 3. Winsec.bethanks his sponsors for their continued support
  • 6. board@azug.beDeveloping and deploying Identity-enabled applications for the cloud
  • 7. Your Presenters for TodayMaarten@maartenballiauw / about.me/maarten.balliauwCo-founder of AZUGMVP: Windows AzureBlogs at http://blog.maartenballiauw.bePaul@ploonen / paul@winsec.beCo-founder of winsec.beMVP: Microsoft Forefront Identity ManagerMCM DirectoryCurrent hobby: Architect@AvanadeBlog @ http://be-id.blogspot.com
  • 8. AgendaPresenting the problem (a.k.a. “The Scenario”)How federation saves the dayHow ADFS solves federationHow to connect an app to ADFSHow Windows Azure adds extra sauce to federationQ&A
  • 12. Federation benefitsBenefits of SSOreduce administrative overheadreduce security vulnerabilities as a result of lost or stolen passwordsimprove user productivityIntra-Enterprise: provide SSO for all your web sites and applicationsInter-Enterprise:provide SSO experiences for your users to access apps in other organizationsprovide SSO experience for users from external organizations to access your appsEasily externalize authentication & authorizationRich claims rules processing engineManagement & Configuration Tools
  • 13. What is AD FS 2.0?Other Claims ProvidersAD FS 2.0 provides access and single sign-on for on-premises and cloud-based applications in the enterprise, across organizations, and on the WebCAIBMSUNAD FS 2.0 Major ComponentsFederation ServerFederation Server ProxyWIFAttribute StoresClaims EngineWebsiteManagement Snap-inOther STSWeb ServiceActive DirectoryWindows Server 2008 SP2, 2008 R2MS SQLRelying PartiesBrowser AppsWIFWindows Internal DB.NET 3.5 SP1IIS 7Smart ClientsWeb Services
  • 14. Why consider AD FS 2.0?Building a production-ready STS is hard.The Visual Studio STS templates are just starters for trivial dev scenarios.Lots of configuration to manage, UI's to present in real world STS!
  • 15. Typical Traffic FlowIdentity ProviderRelying PartyFederationTrustActive DirectoryAccountResourceFederation ServerFederation ServerWeb ServerInternal Client
  • 16. Scenario 1 – Intra OrganizationClaims-aware appADFS STSActive DirectoryUserApp trusts STSBrowse appNot authenticatedRedirected to STS AuthenticateReturn Security TokenQuery for user attributesSend TokenSTSTReturn pageand cookie
  • 17. Scenario 2 – Inter OrganizationActiveDirectoryYourADFS STSPartnerADFS STS & IPYourClaims-aware appPartner userBrowse appNot authenticatedRedirect to your STSHome realm discoveryRedirected to partner STS requesting ST for partner userAuthenticateReturn ST for consumption by your STS Redirected to your STS STSTSTSTProcess tokenReturn new ST Send TokenReturn pageand cookie
  • 18. Installing AD FS v2Requires Windows Server 2008 / 2008 R2Requires IIS 7, .NET 3.5 SP1, WIFSee deployment guide for required hot fixes and updatesIssue and install server certificates for HTTPSThink about implications for partner organisationCross certification when few partners, otherwise, buy required certsDownload and install ADFS 2.0Simple WizardNew / farm member / Proxy – SSL cert – Names
  • 19. AuthN, Attribute StoresAD FS v2 can only use Active Directory as an identity store for authenticationADFSv1 could also use AD LDS / ADAMAD FS v2 can extract attributes from AD DS and from SQL ServerSQL and LDAP stores are directly supportedAdditional stores can be added through custom extensionsIAttributeStore(see: http://msdn.microsoft.com/en-us/library/ee895358.aspx) Register your custom store using Add-ADFSAttributeStoreissue(store = "FileAttributeStore", types = ( "http://schemas.microsoft.com/ws/2008/06/identity/claims/name", "http://schemas.microsoft.com/ws/2008/06/identity/claims/role"), query = "Age=33;EmpName,Role");Add-ADFSAttributeStore -TypeQualifiedName "CustomAttributeStores.FileAttributeStore,CustomAttributeStores" -Configuration @{"FileName"="c:\temp\data.txt"} -Name FileAttributeStore
  • 20. Setting up your STSDemo
  • 22. AD FS 2.0 deployment optionsSingle server configurationAD FS 2.0 server farm and load-balancerAD FS 2.0 proxy server (offsite users)ActiveDirectoryAD FS 2.0 ServerProxyAD FS 2.0 ServerAD FS 2.0 ServerAD FS 2.0 ServerProxyExternal userInternaluserDMZEnterprise
  • 23. Configuring your AD FS ServerOr: %ProgramFiles%\Active Directory Federation Services 2.0\FsConfigWizard.exeManually: FsConfig.exe { StandAlone | CreateSQLFarm | JoinFarm | JoinSQLFarm | GenerateSQLScripts} [deployment specific parameters]
  • 25. Implementing ADFS in your infra
  • 26. Configuring your federation serverIdentity ProviderRelying PartyClaimsDemo
  • 28. Claim RulesRule templates simplify the creation of rulesExamples of rules are:Permit / deny user based on incoming claim valueTransform the incoming claim valuePass through / filter an incoming claimMultiple claim rules can be specified and are processed in top to bottom orderResults from previously processed claims can be used as the input for subsequent rules
  • 30. Creating RulesConditionIssuance StatementA claim rule consists of two parts, condition and issuance statement
  • 31. Custom ClaimsCapabilities of custom rules includeSending claims from a SQL attribute storeSending claims from an LDAP attribute store using a custom LDAP filterSending claims from a custom attribute storeSending claims only when 2 or more incoming claims are metSending claims only when an incoming claim matches a complex valueSending claims with complex changes to an incoming claim valueCreating claims for use in later rules
  • 32. Further CustomizationsCustom Style SheetHome realm discoveryLogon PageAuthentication…
  • 33. What Else?HardeningSCW profiles are on the boxSizingPowerShellIn Win8 becomes a server role again (v2.1)
  • 35. Windows Identity FoundationYour one and only partner for .NET identity developmentAdds claims-based authentication to your application in no timeMy advise: forget custom user storesAnd if you need them: WIF-ify (?) them
  • 36. Connecting an app to an STSDemo
  • 37. Where things get cloudy...Windows Azure AppFabricAccess Control ServiceACS
  • 38. Windows Azure AppFabric ACSAn STS in the cloudPluggable with identity providersWindows Live IDFacebookGoogleYahoo!Any ADFS or better: any WS-federation passive endpointAny OAuth2 provider
  • 40. Let’s step back...No, we’re not the USFederation across organizations does not happen often todaySo why would I use ACS anyway?Dev, test, accept, prod are different RP’s!2 apps with all these environments is 8 RP’s!Imagine 10 apps... Or a hundred...
  • 41. ACS advantagesA scalable STSWith one or more identity providersWith one or more relying partiesWith one or more rule groupsIntegrates with WIFIntegrates with ADFSInstant win!
  • 42. ACSIdentityProvidersYour ApplicationACSSAMLSWTBrowser-basedWS-FederationADFS2 . WS-FederationRichClientSAMLWS-TrustADFS2 . WS-TrustServer 2 ServerSWTOAuth WRAP/2.0Service Identities
  • 43. Connecting an app to ACSDemo
  • 44. Connecting ACS to ADFSDemo
  • 45. Using ACS at its full extentACS as an identity service busDemo
  • 47. ConclusionIt is possible to do SSO over security boundariesIt is possible to integrate multiple apps with multiple identity providersADFS and ACS form a nice coupleStandards based solution
  • 48. Some ResourcesAD FS v2 on TechNet and MSDNAD FS v2 content on TechNet WikiClaims-Based Identity BlogWindows Azure AppFabric Access Control ServiceWIF and ACS Content Map on Technet WikiVittorio’s Bloghttp://identityserver.codeplex.com
  • 49. Q&A
  • 50. Winsec.bethanks his sponsors for their continued support

Editor's Notes

  • #15: Real world STS's need to manage multiple relying parties, each with multiple claim issuance and authorization rules. Delegation authorization for users of the RP require even further configuration. Federated scenarios add requirement for trusting other STS's.Access to Identity Providers and Attribute Stores, rules for querying
  • #23: Capacity planning: http://www.microsoft.com/download/en/details.aspx?id=2278
  • #24: FSConfig.exe CreateSQLFarm /ServiceAccount <username> [/ServiceAccountPassword <password>] /SQLConnectionString <connection string> [/CertThumbprint <Cert Thumbprint>] [/Port <Port Number>] [/FederationServiceName <Federation Service Name>] [/CleanConfig] /AutoCertRolloverEnabled [/SigningCertThumbprint <Cert thumbprint>] [/DecryptCertThumbprint <Cert thumbprint>]
  • #25: Here there’s a list of cloud scenarios we consider of interest in term of how identity is handled.<click> our baseline is the classic on premises scenario.<click> you have a data center, <click> a population of internal users and <click> some authentication infrastructure, such as Active Directory, maintaining their accounts.<click> applications targeting such environment will follow the current intranet practices.<click> We will then introduce Windows Azure in the picture and observe how things change when the application moves to the cloud; we'll consider this both from the architecture and products usage perspectives.<click> Then we'll move to consider what happens when the application is exposed to multiple business partners, and the implications on authentication and relationships management.<click> However business partners represent an important but tiny fraction of all the possible population <click> you an cater to if you target the internet users.<click> live id, Google, Facebook and yahoo! have hundreds of millions of users; the authentication requirements in those conditions are completely different than the business case, although as we will see the solutions may end up being surprisingly similar.<click> Finally, the mobile scenario is of great importance and again apparently a completely different problem space. Using claims-based identity makes it very easy to progressively accommodate all those different scenarios.
  • #43: The ACS would deserve multiple sessions on its own right to be properly covered, here I'm just giving you a quick sampler.What we have seen so far is just a small part of its surface. The schema here shows the ws-federation subsystem, what is normally used for browser-based, session-oriented application types. We've been playing only with ADFS IP types, but in fact <click> there are many out of the box popular IPs you can use right away with your application sticking to the same protocol <click> and a browser<click>.ACS can also do WS-Trust, a high-security protocol for SOAP web services, accepting identities from ADFS2 ws-trust endpoints or bare credentials registered in ACS for management purposes.<click> the same sources can be used within OAuth2.0 calls. OAuth is the current state of the art for securing REST calls: it is still in draft state, hence expect changes, but you can already experiment with it.<click> Both protocols can be used for rich client application types and in general <click> server 2 server interactions.Not shown here there are the management endpoints, the other portion of ACS' development surface, which can be used instead or alongside the portal for managing the namespace.