SlideShare a Scribd company logo
Using Windows Azure for
Solving Identity Management
                  Challenges


                Michael S. Collier
               National Architect, Cloud


                        Level: Intermediate
About Me
Michael S. Collier
National Architect, Cloud



michael.collier@neudesic.com
@MichaelCollier
www.MichaelSCollier.com

http://www.slideshare.net/buckeye01
Agenda
•   Identity Management Challenges
•   Access Control Services
    – Claims
    – Setup tips
    – Gotcha’s
•   Windows Azure Mobile Services
    – Quickly leverage social identities
•   Windows Azure Active Directory
    – What it is
    – Quick setup
    – Exploring the directory graph
Who Are You?
•   Personalization
•   Business Rules
•   Functionality / Features

Recommended for you

10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will Fail10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will Fail

Most conference presentations will share “best practices”. That’s not this presentation. In this session we'll discuss what NOT to do. These surefire fail activities are inspired from real customer engagements (names changed to protect the innocent). Looking at the unsuccessful architecture and development patterns of others can help us not repeat the same mistakes in future cloud projects. -- This was originally presented at StirTrek 2014. --

stirtrekazurewindows azure
Microsoft Azure Identity and O365
Microsoft Azure Identity and O365Microsoft Azure Identity and O365
Microsoft Azure Identity and O365

Identity and Access (AD), Azure and Office 365: Building a Single Page Application (SPA) with ASP.NET Web API and Angular.js using Azure Active Directory to Log in Users

azure
Azure AD connect- Deep Dive Webinar PPT
Azure AD connect- Deep Dive Webinar PPTAzure AD connect- Deep Dive Webinar PPT
Azure AD connect- Deep Dive Webinar PPT

Agenda: What is AAD Connect? Features provided with AAD Connect Syncing your on-premises identities using AAD Connect Setting up AAD Connect Conclusion

office365aadazure
Traditional Identity Management
•   Windows Integrated Authentication
    (Active Directory)
•   Membership Provider


•   Proven Approach
•   Leverage WIF?
                                                 SQL
                            AD


                                 My Enterprise
Cloud? We Have a Problem
•   Multiple islands of identity
•   Environment not under our physical control
•   Disconnected from the enterprise (potentially)
Options
    •   Social Networks              •   Membership Provider
         – They change . . . Often       – SQL Database
         – The right one?                – Table Storage
         – Another?                      – Pros
         – More work!                      Mostly known entity
                                           Migrate existing data
                                         – Cons
Microsoft Account                          User management
                                           Security leak
                                           New
Windows Azure Access Control
Service
•   No need to build your own identity management
    solution.
•   Authenticate (WIF – OAuth and WS-Federation)
•   Claims-based authorization
•   Multiple Identity Providers (ADFSv2, Google, Live
    ID, etc.)
•   Ability to bring your own via membership
•   One to rule them all!
•   Easy for your users


                  Windows Azure icons courtesy of David Pallmann.

Recommended for you

Windows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerWindows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect Partner

Windows Azure Mobile Services allows developers to build scalable mobile backends in the cloud with no backend code to write. Mobile Services provides features like user authentication, data storage, push notifications, and integration with social networking services. Developers can access Mobile Services features through SDKs for major mobile platforms or via a REST API. The service aims to simplify common mobile app tasks and allows apps to scale easily in the cloud without backend maintenance.

mobilemobile application developmentmobile phone
Windows Azure: Lessons From the Field
Windows Azure: Lessons From the FieldWindows Azure: Lessons From the Field
Windows Azure: Lessons From the Field

The document provides tips and lessons for using various Windows Azure services, including: - Windows Azure Table Storage and how to model data for storage in tables - Access Control Service (ACS) for claims-based authentication and common issues to address - Windows Azure Diagnostics for collecting logging data across roles and storing in tables or blobs - Best practices for deployment, environments, tools, and selling Azure's capabilities to customers

windows azure
Inside Azure Resource Manager
Inside Azure Resource ManagerInside Azure Resource Manager
Inside Azure Resource Manager

Unlock new and powerful ways to manage your Azure resources. Keeping track of all the various resources used by a solution is a daunting task. There needs to be an easier way to combine various resources into logical groups. The Azure Resource Manager enables you to group and manage multiple resources as a single logical group. With the ability to create reusable templates, it becomes much easier to consistently deploy solutions. In this session we will explore how the Azure Resource Manager can be used to better manage our Azure solutions. We will dive deep into creating resources and manipulating the Resource Manager templates. In the end, you'll be able to unlock new and powerful ways to manage your Azure resources. You will learn: - How to create and manage Resource Groups from PowerShell and the Cross-Platform Command-Line Interface - How to create custom Azure Resource Manager templates - How to manage security for resources using Azure Resource Manager and Azure Active Directory

azure
Key ACS Concepts
•   Relying Party (RP): Web application that outsources
    authentication. The RP trusts that authority. The RP is
    your app.
•   Identity Provider (IP): Authenticates users and
    issues tokens
•   Token: Digitally signed security data issued after user
    authenticated. Used to gain access to the RP (your
    app).
•   Claim: Attributes about the authenticated user (age,
    birthdate, email address, name, etc.)
•   Federation Provider: Intermediary between the RP
    and IP. ACS is a Federation Provider.
•   STS: Simple Token Service – issues tokens
    containing claims. ACS is an STS
Authentication Workflow
                                      Identity                              Access
Browser                                                                                             Application
                                      Provider                              Control

                                                    1. Request Resource

                                              2. Redirect to Identity Provider

                                                 4. Authenticate &
                 3. Login
                                                    Issue Token

          5. Redirect to AC service
                                                                                       7. Validate Token,
                                                                                       Run Rules Engine,
                            6. Send Token to ACS                                          Issue Token

                    8. Redirect to RP with ACS Token                                                   10. Validate
                                                                                                           Token
                                        9. Send ACS Token to Relying Party

                                       11. Return resource representation


                                                                 Courtesy Windows Azure Boot Camp
Claims Enrichment
•   Identity Providers only provide a few claims
    – Microsoft Account / Live ID provides just one (Name
      Identifier)
    – Facebook, Google and Yahoo! Provide at least three (email,
      name, named identifier)
    – ADFSv2
    – http://msdn.microsoft.com/en-
      us/library/windowsazure/gg185971.aspx


•   Add more claims that are known to your
    application
    – ClaimsAuthenticationManager
Getting Started with ACS

DEMO

Recommended for you

Understanding Azure AD
Understanding Azure ADUnderstanding Azure AD
Understanding Azure AD

Understanding the identity models - Cloud identity - Synchronized identity. - Federated identity Introduction to Azure Active Directory Azure Active Directory Domain Services

azureazure adazure webinar
The Hybrid Windows Azure Application
The Hybrid Windows Azure ApplicationThe Hybrid Windows Azure Application
The Hybrid Windows Azure Application

This document discusses hybrid applications that utilize both on-premises and cloud-based resources. It outlines some common scenarios for hybrid applications, such as using the cloud for data storage and archival while keeping computing resources on-premises. It also discusses concerns around security, regulatory compliance, and only moving parts of an application to the cloud that provide clear benefits. The document introduces Windows Azure services like Service Bus that can help enable hybrid applications by allowing communication between on- and off-premises components.

windows azure
Windows Phone 7 and Windows Azure – A Match Made in the Cloud
Windows Phone 7 and Windows Azure – A Match Made in the CloudWindows Phone 7 and Windows Azure – A Match Made in the Cloud
Windows Phone 7 and Windows Azure – A Match Made in the Cloud

Windows Phone 7 and Windows Azure are a good match because they both provide easy and familiar development environments, connectivity through the cloud, and scalability. They are compatible in these areas. The document discusses how Windows Phone 7 and Windows Azure can be used together through features like data storage in Windows Azure tables and blobs, push notifications, and identity management with Access Control Services. It provides examples of how to integrate the platforms for storing, retrieving, and displaying data stored in the cloud.

windows phone 7windows azurewindows phone
Recap
1.    Create a new ASP.NET 4.5 Web Site
     a)   Capture User.Identity.Name
2.    Create a ACS namespace
     a)   Portal
     b)   Visual Studio tooling
3.    Configure site using ‘Identity and Access’
      tool in Visual Studio
     a)   Provide ACS namespace and management password
     b)   Enable desired Identity Providers (i.e. Google)
     c)   Configure realm, reply to address, etc.
4.    Optional: Add ClaimsAuthenticationManager
5.    Run it
Tips & Tricks
•   WIF relies on the web.config file
•   Problematic for staging deployments – don’t know the
    URL until deployed
•   Add logic to WebRole’s OnStart() to update the WIF
    settings in web.config
    – Read in configuration settings from .cscfg
    – Update and save the web.config
    – Changing .cscfg settings can cause a role recycle . . . causing
      web.confg to update
Tips & Tricks

•   Staging vs. Production
    – WIF configuration in web.config
    – Staging URL unknown until deployment
    – Change WIF configuration in web.config during role startup




    See Vittorio Bertocci’s blog post at http://blogs.msdn.com/b/vbertocci/archive/2011/05/31/edit-
    and-apply-new-wif-s-config-settings-in-your-windows-azure-webrole-without-redeploying.aspx
Tips & Tricks
•   Cookie Encryption
    – DPAPI used to protect cookies sent to the client.
    – DPAPI not supported in Windows Azure
    – Use RsaEncryptionCookieTransform to encrypt with
      same cert used for SSL.

Recommended for you

Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...

16 Avril 2016 Groupe Azure Sujet: Les micro-services et Azure Service Fabric Conférenciers: Alexandre Brisebois, Microsoft, Stéphane Lapointe, Orckestra et Frank Boucher, Lixar IT Nous vous proposons une journée complète sur les micro-services et Azure Service Fabric, le but étant d'appendre la théorie avec une série de présentations pour ensuite concrétiser le tout avec une partie pratique "hands-on" et des labs. Pour participer, vous devrez obligatoirement apporter votre ordinateur portable, avoir installé Visual Studio 2015 Update 2 et Service Fabric SDK 2.0.135.

service fabricglobal azure bootcampazure
Azure - Identity as a service
Azure - Identity as a serviceAzure - Identity as a service
Azure - Identity as a service

This document summarizes Microsoft Azure Active Directory (Azure AD) and how it compares to on-premises Active Directory Domain Services (AD DS). Azure AD provides identity and access management in the cloud, while AD DS is installed on-premises. Key differences include Azure AD being multi-tenant, lacking group policy support, and using REST APIs instead of LDAP. The document also outlines integrating Azure AD and AD DS through synchronization and federation for single sign-on capabilities across cloud and on-premises applications and services.

azuremicrosoft azureazure ad
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud

[Mustafa Toroman, Saša Kranjac] More and more services we use every day are moving to cloud. This creates many challenges, especially if we look at things from security point of view. Taking services out of our datacenter, opens our data and services to new kind of threats but fortunately new tools are available to protect us. See from both perspectives how attackers can try to exploit our journey to cloud and how can we detect threats and stop attacks before they occur. We will show examples how Red Team attacks our Cloud and how Blue Team can detect and stop Red Team.

ecs 2018european collaboration summit 2018mustafa toroman
Tips & Tricks
Tips & Tricks
•   Change request validation




•   Use ASP.NET 2 validation (<httpRuntime requestValidationMode=“2.0”/>
•   Custom validator
Tips & Tricks




<httpRuntime requestValidationType=“AccessControlRequestValidator" />
// Source: http://social.technet.microsoft.com/wiki/contents/articles/1725.windows-identity-foundation-wif-a-potentially-dangerous-request-form-
value-was-detected-from-the-client-wresult-t-requestsecurityto.aspx
Gotchas
•   Single sign-out not currently supported
    – Provide a sign-out link for the specific Identity Provider


•   Windows Azure co-admin cannot administer
    an ACS namespace
    – Add Live ID, WAAD, Google, etc.


•   WIF not installed on Windows Azure roles
    (.NET 3.5)
    – Microsoft.IdentityModel      CopyLocal = true
    – Install WIF via a startup task (recommended)

Recommended for you

Windows Azure Platform
Windows Azure PlatformWindows Azure Platform
Windows Azure Platform

The document discusses the Windows Azure platform, which provides an internet-scale, highly available cloud fabric hosted in Microsoft's globally distributed data centers. It offers compute, storage, data, integration, access control, and other services to build applications that can automatically scale out and integrate on-premises systems. The document outlines different application models, architectural patterns, and benefits of building on the Windows Azure platform.

microsoft windows azure platform cloud computing s
Windows Azure Active Directory
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active Directory

Windows Azure Active Directory provides identity and access management in the cloud. It acts as an identity provider and security token service, supporting protocols like WS-Federation, OAuth 2.0 and SAML 2.0. It offers single sign-on for Azure applications, manages users and groups, and can integrate with on-premises Active Directory. Benefits include not needing to implement your own authorization and avoiding single points of failure compared to Active Directory Federation Services.

ad fswindows azure active directory
Azure AD Connect
Azure AD ConnectAzure AD Connect
Azure AD Connect

Azure AD Connect allows syncing of local Active Directory accounts to Azure Active Directory. It requires an Azure AD global administrator account, an enterprise administrator account for the local AD, a SQL Server database, and meeting server and hardware requirements. The setup process involves creating a global administrator account, installing Azure AD Connect, and configuring it for initial or subsequent synchronization of users and groups between the local and cloud directories.

active directoryazure
The Impact for Mobile Apps
•   Social Networks – Important
    – Users likely already have at least one
    – Quick and easy signup
    – Potential for rapid user base expansion



•   Multiple identity provider choices via Windows
    Azure Mobile Services
Windows Azure Mobile Services

DEMO
Recap
•   Windows Azure Mobile Services app
•   Developer accounts for social networks
    – Microsoft Account
    – Facebook
    – Twitter
    – Google
•   Add key/secret to WAMS app
•   Prompt for user authentication
    await App.MobileService.LoginAsync
    (MobileServiceAuthenticationProvider.Twitter);

•   Optional
    – Live SDK to use SSO in Windows Store apps
Windows Azure Active Directory
•   Extends AD into the cloud
•   Started as directory for Office365
•   Provides single sign-on for cloud applications
•   Query-able social graph (native apps too)


•   Connect from any device and platform
    – RESTful access to the directory
    – XML/JSON request/response


•   Can sync or federate on-premises AD to cloud


                         WAAD is in a Developer Preview status. ☺

Recommended for you

Enter The Matrix Securing Azure’s Assets
Enter The Matrix Securing Azure’s AssetsEnter The Matrix Securing Azure’s Assets
Enter The Matrix Securing Azure’s Assets

This talk is mainly on the security aspects of Azure, in any context. you’ll get an overview on where security is handled, some practices and how to monitor and act accordingly to certain threats and issues. It will focus on IaaS, PaaS and SaaS. As security is an integral part of an environment, the integration aspect is not far away. Focus products include Azure and all related services.

integration-user-groupintegration-mondayddos
Understanding the Windows Azure platform - june
Understanding the Windows Azure platform  - juneUnderstanding the Windows Azure platform  - june
Understanding the Windows Azure platform - june

This document provides an overview of the Windows Azure platform. It discusses how Windows Azure is designed from the ground up for massive scale across global data centers. It also describes how Windows Azure allows applications to scale individual parts up and down as needed. Finally, it outlines the core building blocks of Windows Azure including compute, storage (blobs, tables, queues), and networking.

microsoftdavid gristwoodsql azure
EWUG - Azure AD Pass-through Authentication and Seamless Single Sign-On
EWUG - Azure AD Pass-through Authentication and Seamless Single Sign-OnEWUG - Azure AD Pass-through Authentication and Seamless Single Sign-On
EWUG - Azure AD Pass-through Authentication and Seamless Single Sign-On

Azure AD Pass-through Authentication and Seamless Single Sign-On: https://www.meetup.com/EWUGdk/events/231640825/

ptaazureazure ad
The Directory


     DirectReports




                     MemberOf
The Directory
          Windows Azure Active Directory




                Multi-tenant directory
The Directory




                WAAD Tenant




                      DirSync




         On-Premises Active Directory
Getting Started
•   Organization ID
    – Office365
    – Dev/Test Tenant
      http://aka.ms/WAADSignup
      <tenant>.onmicrosoft.com
•   Windows Azure Subscription
•   Microsoft ASP.NET Tools for Windows Azure
    Active Directory – Visual Studio 2012
    – http://go.microsoft.com/fwlink/?LinkID=282306
•   Office365 / Windows Azure Active Directory
    Management Cmdlets
    – http://aka.ms/aadposh

Recommended for you

Azure Active Directory
Azure Active DirectoryAzure Active Directory
Azure Active Directory

Azure Active Directory (AD) is a directory as a service on Microsoft Azure. More than the cloud identity Azure AD provides a platform to build cloud applications with multi tenancy support. A flexible authentication systems which enables developers to leverage the cloud identity model and develop applications at ease. The session will walk you through on the basics of Azure AD and how to develop .NET applications using Azure AD.

microsoftazureactive directory
Identity and o365 on Azure
Identity and o365 on AzureIdentity and o365 on Azure
Identity and o365 on Azure

This presentation covers Azure Active Directory (AAD) and how o365 uses AAD to authenticate users using standard protocols OAuth 2.0.

azureoffice 365aad
Inside Azure Diagnostics (DevLink 2014)
Inside Azure Diagnostics (DevLink 2014)Inside Azure Diagnostics (DevLink 2014)
Inside Azure Diagnostics (DevLink 2014)

The document discusses Azure diagnostics and monitoring application health. It covers the types of diagnostic data that can be monitored like performance counters, logs, and events. It explains how to use the Azure Diagnostic Agent to collect and transfer diagnostic data to storage. It also provides examples of imperative and declarative configuration of diagnostics and querying diagnostic data from storage.

windows azureazurediagnostics
Windows Azure Active Directory – Setup and Connect to
WAAD

DEMO
Recap
1.    Pre-reqs
     a)   Windows Azure AD Powershell cmdlets
     b)   Windows Azure AD tenant
     c)   Visual Studio tools
2.    Create new ASP.NET 4.5 web site
3.    ‘Enable Windows Azure Authentication’
     a)   Under ‘Project’ menu in Visual Studio
     b)   Authenticate with WAAD administrative account
4.    Run
Graph API
•   RESTful interface for Windows Azure AD
    – Compatible with OData V3
    – Use latest WCF 5.3 update (API v0.9)
    – OAuth 2.0 for authentication
•   Programmatic access to the directory
    – DirectoryObject – User, Group, Role, Licenses,
      Tenant, etc.
    – Links – memberOf, directReports
•   Standard HTTP methods
    – GET, POST, PATCH, DELETE for directory objects
    – HTTP status codes
Directory Permissions
•   The application has rights to the directory,
    not the authenticated user
•   Your application == service principal
•   Application Roles
    –   Partner Tier1 Support
    –   Partner Tier2 Support
    –   Company Administrator
    –   Helpdesk Administrator
    –   Directory Readers
    –   Directory Writers
    –   Billing Administrator
    –   Service Support Administrator
    –   User Account Administrator

Recommended for you

Identity in the cloud using Microsoft
Identity in the cloud using MicrosoftIdentity in the cloud using Microsoft
Identity in the cloud using Microsoft

The document discusses identity management in the cloud using ADFS 2.0, Azure, and Office 365. It introduces federation and single sign-on capabilities that allow users to access both on-premises and cloud-based applications using one set of credentials. Multifactor authentication is also covered as an option for increasing security. Specific configurations are presented, including typical server requirements and costs for a small company to implement a cloud-ready identity management solution.

authenticationidentityoffice 365
Information security in office 365 a shared responsibility - antonio maio
Information security in office 365   a shared responsibility - antonio maioInformation security in office 365   a shared responsibility - antonio maio
Information security in office 365 a shared responsibility - antonio maio

There is no denying that Office 365 can make us highly productive, sharing and collaborating with coworkers, partners and clients. But, does it take care of our security and compliance issues? Is our data secure in Office 365? Yes, and no. The security of our information in Office 365 is a shared responsibility between Microsoft (the cloud provider) and us (the customers). Office 365 is a secure platform, but to truly secure our data we must make effective use of the security capabilities and features provided within the platform. We must also have strong information governance structures in place to control how information is shared and accessed through the platform. This session will provide a detailed review of the Office 365 Security and Compliance Center, including how to use the built in capabilities for alerts, data loss prevention policies, activity audit logs, advanced security management and customer lockbox. We'll also review recommended information governance and security practices based on customer experiences to help you effectively secure your information in Office 365 and uphold your end of the shared responsibility.

office 365information securityshared responsibility
Session 3c The SF SaaS Framework
Session 3c  The SF SaaS FrameworkSession 3c  The SF SaaS Framework
Session 3c The SF SaaS Framework

This document discusses using federated identity management with Azure AppFabric Access Control Service (ACS) and Windows Identity Foundation (WIF) for single sign-on in software as a service applications. The solution allows leveraging popular identity providers like Google and Yahoo for authentication while avoiding the need to manage user accounts. ACS acts as an aggregator between identity providers and relying parties. WIF is used to integrate applications with ACS and manage claims. The approach favors proven security standards over custom code and avoids storing sensitive user data.

saasazurecode mastery
Request
GET
https://graph.windows.net/michaelcollier.onmicrosoft.com/directoryObjects/$/Micro
soft.WindowsAzure.ActiveDirectory.User()?%24filter=userPrincipalName+eq+%27mi
chael%40michaelcollier.onmicrosoft.com%27&%24top=2&api-version=0.9 HTTP/1.1
User-Agent: Microsoft ADO.NET Data Services
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/atom+xml,application/xml
Accept-Charset: UTF-8
DataServiceUrlConventions: KeyAsSegment
Authorization: Bearer
eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1THdqcHd
BSk9NOW4tQSJ9.eyJhdWQiOiIwMDAwMDAwMi0wMDAwLTAwMDAtYzAwMC0wMD
AwMDAwMDAwMDAvZ3JhcGgud2luZG93cy5uZXRAMTEyNzExNTktYWJjOC00ZTBl
LWIzYzItYzJhMDg1OGEwMzZiIiwiaXNzIjoiMDAwMDAwMDEtMDAwMC0wMDAwLWM
wMDAtMDAwMDAw……
Host: graph.windows.net
Response
<?xml version="1.0" encoding="utf-8"?>
<feed xml:base="https://graph.windows.net/michaelcollier.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/michaelcollier.onmicrosoft.com/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/michaelcollier.onmicrosoft.com/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"
/>
Response
<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/michaelcollier.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@michaelcollier.onmicrosoft.com</d:userPrincipalName>
   </m:properties>
  </content>
 </entry>
                                                                         * Some elements removed for readability.
</feed>
Windows Azure Authentication
Library (WAAL)
•   Simplifies authentication
•   Client-side only
    – Used to obtain an authentication token only; no token
      validation
    – Web apps/services or rich clients
•   Server-side token authentication
    – JSON Web Token Handler (JWT Handler)
    – Samples
      http://code.msdn.com
           Search “aal”
           Filter – Technology = Windows Azure
                    Visual Studio Version = VS2012
                  (AAL > Windows Azure > Visual Studio 2012)

Recommended for you

CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricCTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric

This document provides an overview of Windows Azure AppFabric. It discusses the identity and access control, service bus, and caching services that AppFabric provides. The identity service implements claims-based authentication and uses the Access Control service to integrate single sign-on with multiple identity providers. The service bus enables hybrid cloud applications through a relay that provides secure messaging. Caching improves performance by storing data in memory for low-latency access.

ctuapp fabricit pro
Claim Based Authentication in SharePoint 2010 for Community Day 2011
Claim Based Authentication in SharePoint 2010 for Community Day 2011Claim Based Authentication in SharePoint 2010 for Community Day 2011
Claim Based Authentication in SharePoint 2010 for Community Day 2011

This document provides an overview of claim based authentication in SharePoint 2010 from a developer's perspective. It discusses key claim based terminology, how claims work in SharePoint 2010 including normalizing identities and configuring claims providers. It also covers development tasks with claims such as augmenting claims and resolving claims in the people picker. Finally, it discusses trusted identity providers such as Active Directory Federation Services, Windows Live ID, and OpenID.

Expandindo seu Data Center com uma infraestrutura hibrida
Expandindo seu Data Center com uma infraestrutura hibridaExpandindo seu Data Center com uma infraestrutura hibrida
Expandindo seu Data Center com uma infraestrutura hibrida

This document discusses hybrid cloud architectures using AWS and on-premises infrastructure. It covers various layers including data centers, networks, hypervisors, operating systems, management services, applications, and data. It provides examples of splitting application tiers across different environments. It also discusses considerations for networking, storage, operations, and automation when building hybrid architectures. Key services mentioned include AWS Direct Connect, Storage Gateway, OpsWorks, and CodeDeploy. The presentation aims to help customers expand their data centers with hybrid infrastructure.

multicloudsummit
Registering You App with WAAD
•   AppPrincipalId (ServicePrincipal)
    – identityConfiguration/audienceUris
    – system.identityModel.services/federationConfiguration
      /wsFederation




•   Read this blog post by Vittorio Bertocci
    – http://www.cloudidentity.com/blog/2013/01/22/group-
      amp-role-claims-use-the-graph-api-to-get-back-
      isinrole-and-authorize-in-windows-azure-ad-apps/
Registering You App with WAAD
Import-Module MSOnlineExtended -force

# Connect to the WAAD tenant. Use tenant admin credentials (same used in the MVC VS2012 tools).
<user>@<tenant>.onmicrosoft.com
Connect-MsolService

# The AppPrincipalId from the web.config
$AppPrincipalId = '9a90ed83-acff-44d7-813f-d7e724fef1aa'

# Get the Service Principal object
$servicePrincipalId = (Get-MsolServicePrincipal -AppPrincipalId $AppPrincipalId)

# Add the service principal to the appropriate role in WAAD.
Add-MsolRoleMember -RoleMemberType "ServicePrincipal" -RoleName "User Account Administrator" -
RoleMemberObjectId $servicePrincipalId.ObjectId

# Dates for which the credential is valid (1 year)
$timeNow = Get-Date
$expiryTime = $timeNow.AddYears(1)

#Generating the symmetric key
$cryptoProvider = new-object System.Security.Cryptography.RNGCryptoServiceProvider
$byteArr = new-object byte[] 32
$cryptoProvider.GetBytes($byteArr)
$signingKey = [Convert]::ToBase64String($byteArr)
Write-Output $signingKey | Out-File signingKey.txt

# Create a new service principal credential, with the created key, and assign to the service principal.
New-MsolServicePrincipalCredential -AppPrincipalId $AppPrincipalId -Type symmetric -StartDate $timeNow
-EndDate $expiryTime -Usage Verify -Value $signingKey
WAAD and Expense Application (Code Walkthrough)

DEMO
Going Further
•   Multitenant applications
    – Leverage identity from other WAAD tenants
    – http://www.windowsazure.com/en-
      us/develop/net/tutorials/multitenant-apps-for-active-
      directory/
•   Phone 2FA
    – Additional administrative users
    – Username/pwd + text message code
    – ONLY for WAAD users and applications now
•   Configure as an Identity Provider in ACS

Recommended for you

O Dell Secure360 Presentation5 12 10b
O Dell Secure360 Presentation5 12 10bO Dell Secure360 Presentation5 12 10b
O Dell Secure360 Presentation5 12 10b

This document discusses the evolution of service-oriented architectures (SOAs) and how identity management plays a key role. Early SOAs like CORBA and DCOM struggled with security. Web services improved on this with standards like WS-Security and SAML tokens. More recent approaches like OpenID, OAuth, and federated identity management improved user-centric security and access control. Future SOAs may utilize attribute-based access control at large scales across organizations. Overall, the document traces how security for SOAs transitioned from platform-specific to user-centric and interoperable across the Internet.

“Secure Portal” or WebSphere Portal – Security with Everything
“Secure Portal” or WebSphere Portal – Security with Everything“Secure Portal” or WebSphere Portal – Security with Everything
“Secure Portal” or WebSphere Portal – Security with Everything

This document discusses various methods for implementing security and single sign-on capabilities in WebSphere Portal, including authenticating against corporate directories, using LDAP for authorization and personalization, desktop single sign-on in Microsoft environments using Kerberos and SPNEGO, backend single sign-on within IBM products using LTPA tokens, and asserting identity in open environments using standards like SAML and Shibboleth. It provides high-level overviews and considerations for different security integration approaches.

Build and Deploy LightSwitch Application on Windows Azure
Build and Deploy LightSwitch Application on Windows AzureBuild and Deploy LightSwitch Application on Windows Azure
Build and Deploy LightSwitch Application on Windows Azure

Visual Studio LightSwitch is the simplest way to build business applications for the desktop and cloud. LightSwitch simplifies the development process by letting you concentrate on the business logic, while LightSwitch handles the common tasks for you. In this session you see the demo, Which shows you end-to-end, how to build and deploy a data-centric business application using LightSwitch and deploy to Windows Azure

sql azurewindows azurelightswitch
Windows Azure Virtual Network

                                             Windows Azure

                         Site-to-Site
                         VPN Tunnel




Currently in Preview                    Image courtesy of the Windows Azure Training Kit
Summary
•   Traditional identity management in the cloud is hard
    – Many external islands of identity
    – Current technology hard or not interoperable
•   ACS provides standards-based approach
    – Integrates with Windows Identity Foundation
    – Claims-based authorization
    – Built-in support for ADFSv2, Google, Live ID, Yahoo!, & Facebook
•   Enrich functionality using WIF
•   Leverage Windows Azure Mobile Services for mobile apps
•   Windows Azure Active Directory shows the future direction
Resources
•   Windows Azure ACS Guide
    – http://www.windowsazure.com/en-us/develop/net/how-to-guides/access-
      control/#config-trust
•   Programming Windows Identity Foundation, Vittorio Bertocci
•   CloudIdentity.com, Vittorio Bertocci’s blog
•   “Claims-Based Authorization with WIF”, Michele Bustamante
    – http://msdn.microsoft.com/en-us/magazine/ee335707.aspx
•   ACS Cheat Sheet - http://bit.ly/ACSCheatSheet
•   ACS How To’s - http://bit.ly/ACSHowTo
•   ACS Tips - http://bit.ly/HYhxjY
•   Publishing a ACS v2 Federated Identity Web Role -
    http://bit.ly/HPT6rk
•   MVC Sample App for Windows Azure Active Directory Graph
    – http://code.msdn.microsoft.com/Write-Sample-App-for-79e55502
•   Windows Azure Active Directory Graph Team
    – http://blogs.msdn.com/b/aadgraphteam/
Ask your questions

Recommended for you

Brewing Beer with Windows Azure - ASPConf
Brewing Beer with Windows Azure - ASPConfBrewing Beer with Windows Azure - ASPConf
Brewing Beer with Windows Azure - ASPConf

Inspired by one of the Windows Azure gods (Wade Wegner), Maarten decided to order a homebrewing starter kit. Being a total cloud fanboy, he decided to hook those delicious creations to the cloud. Join Maarten and discover how you can connect a variety of devices (like *duino) and USB temperature sensors to Windows Azure to monitor brewing and fermentation temperatures. He'll show you how to do distributed brewing in this fun yet practical session on an interesting use case for the cloud: beer.

access control serviceweb sitesaspconf
Andy Malone - The new office 365 for it pro's
Andy Malone - The new office 365 for it pro'sAndy Malone - The new office 365 for it pro's
Andy Malone - The new office 365 for it pro's

This document provides an overview of Office 365 for IT professionals presented by Andy Malone. It begins with an introduction of Andy Malone and his background. The bulk of the document then explores various components and capabilities of Office 365 including exploring Office 365, understanding data storage locations, identity management with Azure Active Directory, provisioning accounts, and Exchange Online. It provides summaries of key Office 365 services and components. The document concludes with some final tips and thoughts on Office 365 and links to additional tools and resources.

office365andy malonenic
NIC 2014 Modern Authentication for the Cloud Era
NIC 2014 Modern Authentication for the Cloud EraNIC 2014 Modern Authentication for the Cloud Era
NIC 2014 Modern Authentication for the Cloud Era

1. The document provides an introduction to modern authentication methods for cloud applications, focusing on claims-based identity. 2. Claims-based identity uses an abstraction layer where claims about a subject are issued in security tokens by an identity provider and can be verified by a relying party. 3. The document discusses examples of implementing claims-based identity on-premises using Active Directory Federation Services (ADFS) and in the cloud using Azure Active Directory (WAAD) as identity providers.

authenticationclaimsidentity
Thank You!!
Michael S. Collier
National Architect, Cloud



michael.collier@neudesic.com
@MichaelCollier
www.MichaelSCollier.com

http://www.slideshare.net/buckeye01



Please fill out your session evals!

More Related Content

What's hot

More Cache for Less Cash
More Cache for Less CashMore Cache for Less Cash
More Cache for Less Cash
Michael Collier
 
Windows Azure for Developers - Building Block Services
Windows Azure for Developers - Building Block ServicesWindows Azure for Developers - Building Block Services
Windows Azure for Developers - Building Block Services
Michael Collier
 
What's New for the Windows Azure Developer? Lots!!
What's New for the Windows Azure Developer?  Lots!!What's New for the Windows Azure Developer?  Lots!!
What's New for the Windows Azure Developer? Lots!!
Michael Collier
 
10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will Fail10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will Fail
Michael Collier
 
Microsoft Azure Identity and O365
Microsoft Azure Identity and O365Microsoft Azure Identity and O365
Microsoft Azure Identity and O365
Kris Wagner
 
Azure AD connect- Deep Dive Webinar PPT
Azure AD connect- Deep Dive Webinar PPTAzure AD connect- Deep Dive Webinar PPT
Azure AD connect- Deep Dive Webinar PPT
Radhakrishnan Govindan
 
Windows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerWindows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect Partner
Michael Collier
 
Windows Azure: Lessons From the Field
Windows Azure: Lessons From the FieldWindows Azure: Lessons From the Field
Windows Azure: Lessons From the Field
Michael Collier
 
Inside Azure Resource Manager
Inside Azure Resource ManagerInside Azure Resource Manager
Inside Azure Resource Manager
Michael Collier
 
Understanding Azure AD
Understanding Azure ADUnderstanding Azure AD
Understanding Azure AD
New Horizons Ireland
 
The Hybrid Windows Azure Application
The Hybrid Windows Azure ApplicationThe Hybrid Windows Azure Application
The Hybrid Windows Azure Application
Michael Collier
 
Windows Phone 7 and Windows Azure – A Match Made in the Cloud
Windows Phone 7 and Windows Azure – A Match Made in the CloudWindows Phone 7 and Windows Azure – A Match Made in the Cloud
Windows Phone 7 and Windows Azure – A Match Made in the Cloud
Michael Collier
 
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
MSDEVMTL
 
Azure - Identity as a service
Azure - Identity as a serviceAzure - Identity as a service
Azure - Identity as a service
BizTalk360
 
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
European Collaboration Summit
 
Windows Azure Platform
Windows Azure PlatformWindows Azure Platform
Windows Azure Platform
David Chou
 
Windows Azure Active Directory
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active Directory
Pavel Revenkov
 
Azure AD Connect
Azure AD ConnectAzure AD Connect
Azure AD Connect
Sasha Rosenbaum
 
Enter The Matrix Securing Azure’s Assets
Enter The Matrix Securing Azure’s AssetsEnter The Matrix Securing Azure’s Assets
Enter The Matrix Securing Azure’s Assets
BizTalk360
 
Understanding the Windows Azure platform - june
Understanding the Windows Azure platform  - juneUnderstanding the Windows Azure platform  - june
Understanding the Windows Azure platform - june
DavidGristwood
 

What's hot (20)

More Cache for Less Cash
More Cache for Less CashMore Cache for Less Cash
More Cache for Less Cash
 
Windows Azure for Developers - Building Block Services
Windows Azure for Developers - Building Block ServicesWindows Azure for Developers - Building Block Services
Windows Azure for Developers - Building Block Services
 
What's New for the Windows Azure Developer? Lots!!
What's New for the Windows Azure Developer?  Lots!!What's New for the Windows Azure Developer?  Lots!!
What's New for the Windows Azure Developer? Lots!!
 
10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will Fail10 Ways to Gaurantee Your Azure Project will Fail
10 Ways to Gaurantee Your Azure Project will Fail
 
Microsoft Azure Identity and O365
Microsoft Azure Identity and O365Microsoft Azure Identity and O365
Microsoft Azure Identity and O365
 
Azure AD connect- Deep Dive Webinar PPT
Azure AD connect- Deep Dive Webinar PPTAzure AD connect- Deep Dive Webinar PPT
Azure AD connect- Deep Dive Webinar PPT
 
Windows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerWindows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect Partner
 
Windows Azure: Lessons From the Field
Windows Azure: Lessons From the FieldWindows Azure: Lessons From the Field
Windows Azure: Lessons From the Field
 
Inside Azure Resource Manager
Inside Azure Resource ManagerInside Azure Resource Manager
Inside Azure Resource Manager
 
Understanding Azure AD
Understanding Azure ADUnderstanding Azure AD
Understanding Azure AD
 
The Hybrid Windows Azure Application
The Hybrid Windows Azure ApplicationThe Hybrid Windows Azure Application
The Hybrid Windows Azure Application
 
Windows Phone 7 and Windows Azure – A Match Made in the Cloud
Windows Phone 7 and Windows Azure – A Match Made in the CloudWindows Phone 7 and Windows Azure – A Match Made in the Cloud
Windows Phone 7 and Windows Azure – A Match Made in the Cloud
 
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
 
Azure - Identity as a service
Azure - Identity as a serviceAzure - Identity as a service
Azure - Identity as a service
 
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
 
Windows Azure Platform
Windows Azure PlatformWindows Azure Platform
Windows Azure Platform
 
Windows Azure Active Directory
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active Directory
 
Azure AD Connect
Azure AD ConnectAzure AD Connect
Azure AD Connect
 
Enter The Matrix Securing Azure’s Assets
Enter The Matrix Securing Azure’s AssetsEnter The Matrix Securing Azure’s Assets
Enter The Matrix Securing Azure’s Assets
 
Understanding the Windows Azure platform - june
Understanding the Windows Azure platform  - juneUnderstanding the Windows Azure platform  - june
Understanding the Windows Azure platform - june
 

Viewers also liked

EWUG - Azure AD Pass-through Authentication and Seamless Single Sign-On
EWUG - Azure AD Pass-through Authentication and Seamless Single Sign-OnEWUG - Azure AD Pass-through Authentication and Seamless Single Sign-On
EWUG - Azure AD Pass-through Authentication and Seamless Single Sign-On
Peter Selch Dahl
 
Azure Active Directory
Azure Active DirectoryAzure Active Directory
Azure Active Directory
Thurupathan Vijayakumar
 
Identity and o365 on Azure
Identity and o365 on AzureIdentity and o365 on Azure
Identity and o365 on Azure
Mostafa
 
Inside Azure Diagnostics (DevLink 2014)
Inside Azure Diagnostics (DevLink 2014)Inside Azure Diagnostics (DevLink 2014)
Inside Azure Diagnostics (DevLink 2014)
Michael Collier
 
Identity in the cloud using Microsoft
Identity in the cloud using MicrosoftIdentity in the cloud using Microsoft
Identity in the cloud using Microsoft
Orbit One - We create coherence
 
Information security in office 365 a shared responsibility - antonio maio
Information security in office 365   a shared responsibility - antonio maioInformation security in office 365   a shared responsibility - antonio maio
Information security in office 365 a shared responsibility - antonio maio
AntonioMaio2
 

Viewers also liked (6)

EWUG - Azure AD Pass-through Authentication and Seamless Single Sign-On
EWUG - Azure AD Pass-through Authentication and Seamless Single Sign-OnEWUG - Azure AD Pass-through Authentication and Seamless Single Sign-On
EWUG - Azure AD Pass-through Authentication and Seamless Single Sign-On
 
Azure Active Directory
Azure Active DirectoryAzure Active Directory
Azure Active Directory
 
Identity and o365 on Azure
Identity and o365 on AzureIdentity and o365 on Azure
Identity and o365 on Azure
 
Inside Azure Diagnostics (DevLink 2014)
Inside Azure Diagnostics (DevLink 2014)Inside Azure Diagnostics (DevLink 2014)
Inside Azure Diagnostics (DevLink 2014)
 
Identity in the cloud using Microsoft
Identity in the cloud using MicrosoftIdentity in the cloud using Microsoft
Identity in the cloud using Microsoft
 
Information security in office 365 a shared responsibility - antonio maio
Information security in office 365   a shared responsibility - antonio maioInformation security in office 365   a shared responsibility - antonio maio
Information security in office 365 a shared responsibility - antonio maio
 

Similar to Using Windows Azure for Solving Identity Management Challenges (Visual Studio Live, Las Vegas 2013)

Session 3c The SF SaaS Framework
Session 3c  The SF SaaS FrameworkSession 3c  The SF SaaS Framework
Session 3c The SF SaaS Framework
Code Mastery
 
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricCTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
Spiffy
 
Claim Based Authentication in SharePoint 2010 for Community Day 2011
Claim Based Authentication in SharePoint 2010 for Community Day 2011Claim Based Authentication in SharePoint 2010 for Community Day 2011
Claim Based Authentication in SharePoint 2010 for Community Day 2011
Joris Poelmans
 
Expandindo seu Data Center com uma infraestrutura hibrida
Expandindo seu Data Center com uma infraestrutura hibridaExpandindo seu Data Center com uma infraestrutura hibrida
Expandindo seu Data Center com uma infraestrutura hibrida
Alexandre Santos
 
O Dell Secure360 Presentation5 12 10b
O Dell Secure360 Presentation5 12 10bO Dell Secure360 Presentation5 12 10b
O Dell Secure360 Presentation5 12 10b
Bruce O'Dell
 
“Secure Portal” or WebSphere Portal – Security with Everything
“Secure Portal” or WebSphere Portal – Security with Everything“Secure Portal” or WebSphere Portal – Security with Everything
“Secure Portal” or WebSphere Portal – Security with Everything
Dave Hay
 
Build and Deploy LightSwitch Application on Windows Azure
Build and Deploy LightSwitch Application on Windows AzureBuild and Deploy LightSwitch Application on Windows Azure
Build and Deploy LightSwitch Application on Windows Azure
K.Mohamed Faizal
 
Brewing Beer with Windows Azure - ASPConf
Brewing Beer with Windows Azure - ASPConfBrewing Beer with Windows Azure - ASPConf
Brewing Beer with Windows Azure - ASPConf
Maarten Balliauw
 
Andy Malone - The new office 365 for it pro's
Andy Malone - The new office 365 for it pro'sAndy Malone - The new office 365 for it pro's
Andy Malone - The new office 365 for it pro's
Nordic Infrastructure Conference
 
NIC 2014 Modern Authentication for the Cloud Era
NIC 2014 Modern Authentication for the Cloud EraNIC 2014 Modern Authentication for the Cloud Era
NIC 2014 Modern Authentication for the Cloud Era
Morgan Simonsen
 
Net Services
Net ServicesNet Services
Net Services
rsnarayanan
 
AWS re:Invent 2016: Managing and Supporting the Windows Platform on AWS (GPSS...
AWS re:Invent 2016: Managing and Supporting the Windows Platform on AWS (GPSS...AWS re:Invent 2016: Managing and Supporting the Windows Platform on AWS (GPSS...
AWS re:Invent 2016: Managing and Supporting the Windows Platform on AWS (GPSS...
Amazon Web Services
 
Deep Dive: Hybrid Architectures
Deep Dive: Hybrid ArchitecturesDeep Dive: Hybrid Architectures
Deep Dive: Hybrid Architectures
Amazon Web Services
 
Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...
SPC Adriatics
 
Simplify hybrid data integration at an enterprise scale. Integrate all your d...
Simplify hybrid data integration at an enterprise scale. Integrate all your d...Simplify hybrid data integration at an enterprise scale. Integrate all your d...
Simplify hybrid data integration at an enterprise scale. Integrate all your d...
varanasisatyanvesh
 
Federation
FederationFederation
Office 365-single-sign-on-with-adfs
Office 365-single-sign-on-with-adfsOffice 365-single-sign-on-with-adfs
Office 365-single-sign-on-with-adfs
amitchachra
 
Demystifying identity on AWS
Demystifying identity on AWSDemystifying identity on AWS
Demystifying identity on AWS
AWS User Group Bengaluru
 
Skype for business mobility
Skype for business mobilitySkype for business mobility
Skype for business mobility
Fabrizio Volpe
 
Federation
FederationFederation

Similar to Using Windows Azure for Solving Identity Management Challenges (Visual Studio Live, Las Vegas 2013) (20)

Session 3c The SF SaaS Framework
Session 3c  The SF SaaS FrameworkSession 3c  The SF SaaS Framework
Session 3c The SF SaaS Framework
 
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricCTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
 
Claim Based Authentication in SharePoint 2010 for Community Day 2011
Claim Based Authentication in SharePoint 2010 for Community Day 2011Claim Based Authentication in SharePoint 2010 for Community Day 2011
Claim Based Authentication in SharePoint 2010 for Community Day 2011
 
Expandindo seu Data Center com uma infraestrutura hibrida
Expandindo seu Data Center com uma infraestrutura hibridaExpandindo seu Data Center com uma infraestrutura hibrida
Expandindo seu Data Center com uma infraestrutura hibrida
 
O Dell Secure360 Presentation5 12 10b
O Dell Secure360 Presentation5 12 10bO Dell Secure360 Presentation5 12 10b
O Dell Secure360 Presentation5 12 10b
 
“Secure Portal” or WebSphere Portal – Security with Everything
“Secure Portal” or WebSphere Portal – Security with Everything“Secure Portal” or WebSphere Portal – Security with Everything
“Secure Portal” or WebSphere Portal – Security with Everything
 
Build and Deploy LightSwitch Application on Windows Azure
Build and Deploy LightSwitch Application on Windows AzureBuild and Deploy LightSwitch Application on Windows Azure
Build and Deploy LightSwitch Application on Windows Azure
 
Brewing Beer with Windows Azure - ASPConf
Brewing Beer with Windows Azure - ASPConfBrewing Beer with Windows Azure - ASPConf
Brewing Beer with Windows Azure - ASPConf
 
Andy Malone - The new office 365 for it pro's
Andy Malone - The new office 365 for it pro'sAndy Malone - The new office 365 for it pro's
Andy Malone - The new office 365 for it pro's
 
NIC 2014 Modern Authentication for the Cloud Era
NIC 2014 Modern Authentication for the Cloud EraNIC 2014 Modern Authentication for the Cloud Era
NIC 2014 Modern Authentication for the Cloud Era
 
Net Services
Net ServicesNet Services
Net Services
 
AWS re:Invent 2016: Managing and Supporting the Windows Platform on AWS (GPSS...
AWS re:Invent 2016: Managing and Supporting the Windows Platform on AWS (GPSS...AWS re:Invent 2016: Managing and Supporting the Windows Platform on AWS (GPSS...
AWS re:Invent 2016: Managing and Supporting the Windows Platform on AWS (GPSS...
 
Deep Dive: Hybrid Architectures
Deep Dive: Hybrid ArchitecturesDeep Dive: Hybrid Architectures
Deep Dive: Hybrid Architectures
 
Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...
 
Simplify hybrid data integration at an enterprise scale. Integrate all your d...
Simplify hybrid data integration at an enterprise scale. Integrate all your d...Simplify hybrid data integration at an enterprise scale. Integrate all your d...
Simplify hybrid data integration at an enterprise scale. Integrate all your d...
 
Federation
FederationFederation
Federation
 
Office 365-single-sign-on-with-adfs
Office 365-single-sign-on-with-adfsOffice 365-single-sign-on-with-adfs
Office 365-single-sign-on-with-adfs
 
Demystifying identity on AWS
Demystifying identity on AWSDemystifying identity on AWS
Demystifying identity on AWS
 
Skype for business mobility
Skype for business mobilitySkype for business mobility
Skype for business mobility
 
Federation
FederationFederation
Federation
 

Recently uploaded

BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
ScyllaDB
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
Awais Yaseen
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
Toru Tamaki
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
Andrey Yasko
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 

Recently uploaded (20)

BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 

Using Windows Azure for Solving Identity Management Challenges (Visual Studio Live, Las Vegas 2013)

  • 1. Using Windows Azure for Solving Identity Management Challenges Michael S. Collier National Architect, Cloud Level: Intermediate
  • 2. About Me Michael S. Collier National Architect, Cloud michael.collier@neudesic.com @MichaelCollier www.MichaelSCollier.com http://www.slideshare.net/buckeye01
  • 3. Agenda • Identity Management Challenges • Access Control Services – Claims – Setup tips – Gotcha’s • Windows Azure Mobile Services – Quickly leverage social identities • Windows Azure Active Directory – What it is – Quick setup – Exploring the directory graph
  • 4. Who Are You? • Personalization • Business Rules • Functionality / Features
  • 5. Traditional Identity Management • Windows Integrated Authentication (Active Directory) • Membership Provider • Proven Approach • Leverage WIF? SQL AD My Enterprise
  • 6. Cloud? We Have a Problem • Multiple islands of identity • Environment not under our physical control • Disconnected from the enterprise (potentially)
  • 7. Options • Social Networks • Membership Provider – They change . . . Often – SQL Database – The right one? – Table Storage – Another? – Pros – More work! Mostly known entity Migrate existing data – Cons Microsoft Account User management Security leak New
  • 8. Windows Azure Access Control Service • No need to build your own identity management solution. • Authenticate (WIF – OAuth and WS-Federation) • Claims-based authorization • Multiple Identity Providers (ADFSv2, Google, Live ID, etc.) • Ability to bring your own via membership • One to rule them all! • Easy for your users Windows Azure icons courtesy of David Pallmann.
  • 9. Key ACS Concepts • Relying Party (RP): Web application that outsources authentication. The RP trusts that authority. The RP is your app. • Identity Provider (IP): Authenticates users and issues tokens • Token: Digitally signed security data issued after user authenticated. Used to gain access to the RP (your app). • Claim: Attributes about the authenticated user (age, birthdate, email address, name, etc.) • Federation Provider: Intermediary between the RP and IP. ACS is a Federation Provider. • STS: Simple Token Service – issues tokens containing claims. ACS is an STS
  • 10. Authentication Workflow Identity Access Browser Application Provider Control 1. Request Resource 2. Redirect to Identity Provider 4. Authenticate & 3. Login Issue Token 5. Redirect to AC service 7. Validate Token, Run Rules Engine, 6. Send Token to ACS Issue Token 8. Redirect to RP with ACS Token 10. Validate Token 9. Send ACS Token to Relying Party 11. Return resource representation Courtesy Windows Azure Boot Camp
  • 11. Claims Enrichment • Identity Providers only provide a few claims – Microsoft Account / Live ID provides just one (Name Identifier) – Facebook, Google and Yahoo! Provide at least three (email, name, named identifier) – ADFSv2 – http://msdn.microsoft.com/en- us/library/windowsazure/gg185971.aspx • Add more claims that are known to your application – ClaimsAuthenticationManager
  • 13. Recap 1. Create a new ASP.NET 4.5 Web Site a) Capture User.Identity.Name 2. Create a ACS namespace a) Portal b) Visual Studio tooling 3. Configure site using ‘Identity and Access’ tool in Visual Studio a) Provide ACS namespace and management password b) Enable desired Identity Providers (i.e. Google) c) Configure realm, reply to address, etc. 4. Optional: Add ClaimsAuthenticationManager 5. Run it
  • 14. Tips & Tricks • WIF relies on the web.config file • Problematic for staging deployments – don’t know the URL until deployed • Add logic to WebRole’s OnStart() to update the WIF settings in web.config – Read in configuration settings from .cscfg – Update and save the web.config – Changing .cscfg settings can cause a role recycle . . . causing web.confg to update
  • 15. Tips & Tricks • Staging vs. Production – WIF configuration in web.config – Staging URL unknown until deployment – Change WIF configuration in web.config during role startup See Vittorio Bertocci’s blog post at http://blogs.msdn.com/b/vbertocci/archive/2011/05/31/edit- and-apply-new-wif-s-config-settings-in-your-windows-azure-webrole-without-redeploying.aspx
  • 16. Tips & Tricks • Cookie Encryption – DPAPI used to protect cookies sent to the client. – DPAPI not supported in Windows Azure – Use RsaEncryptionCookieTransform to encrypt with same cert used for SSL.
  • 18. Tips & Tricks • Change request validation • Use ASP.NET 2 validation (<httpRuntime requestValidationMode=“2.0”/> • Custom validator
  • 19. Tips & Tricks <httpRuntime requestValidationType=“AccessControlRequestValidator" /> // Source: http://social.technet.microsoft.com/wiki/contents/articles/1725.windows-identity-foundation-wif-a-potentially-dangerous-request-form- value-was-detected-from-the-client-wresult-t-requestsecurityto.aspx
  • 20. Gotchas • Single sign-out not currently supported – Provide a sign-out link for the specific Identity Provider • Windows Azure co-admin cannot administer an ACS namespace – Add Live ID, WAAD, Google, etc. • WIF not installed on Windows Azure roles (.NET 3.5) – Microsoft.IdentityModel CopyLocal = true – Install WIF via a startup task (recommended)
  • 21. The Impact for Mobile Apps • Social Networks – Important – Users likely already have at least one – Quick and easy signup – Potential for rapid user base expansion • Multiple identity provider choices via Windows Azure Mobile Services
  • 22. Windows Azure Mobile Services DEMO
  • 23. Recap • Windows Azure Mobile Services app • Developer accounts for social networks – Microsoft Account – Facebook – Twitter – Google • Add key/secret to WAMS app • Prompt for user authentication await App.MobileService.LoginAsync (MobileServiceAuthenticationProvider.Twitter); • Optional – Live SDK to use SSO in Windows Store apps
  • 24. Windows Azure Active Directory • Extends AD into the cloud • Started as directory for Office365 • Provides single sign-on for cloud applications • Query-able social graph (native apps too) • Connect from any device and platform – RESTful access to the directory – XML/JSON request/response • Can sync or federate on-premises AD to cloud WAAD is in a Developer Preview status. ☺
  • 25. The Directory DirectReports MemberOf
  • 26. The Directory Windows Azure Active Directory Multi-tenant directory
  • 27. The Directory WAAD Tenant DirSync On-Premises Active Directory
  • 28. Getting Started • Organization ID – Office365 – Dev/Test Tenant http://aka.ms/WAADSignup <tenant>.onmicrosoft.com • Windows Azure Subscription • Microsoft ASP.NET Tools for Windows Azure Active Directory – Visual Studio 2012 – http://go.microsoft.com/fwlink/?LinkID=282306 • Office365 / Windows Azure Active Directory Management Cmdlets – http://aka.ms/aadposh
  • 29. Windows Azure Active Directory – Setup and Connect to WAAD DEMO
  • 30. Recap 1. Pre-reqs a) Windows Azure AD Powershell cmdlets b) Windows Azure AD tenant c) Visual Studio tools 2. Create new ASP.NET 4.5 web site 3. ‘Enable Windows Azure Authentication’ a) Under ‘Project’ menu in Visual Studio b) Authenticate with WAAD administrative account 4. Run
  • 31. Graph API • RESTful interface for Windows Azure AD – Compatible with OData V3 – Use latest WCF 5.3 update (API v0.9) – OAuth 2.0 for authentication • Programmatic access to the directory – DirectoryObject – User, Group, Role, Licenses, Tenant, etc. – Links – memberOf, directReports • Standard HTTP methods – GET, POST, PATCH, DELETE for directory objects – HTTP status codes
  • 32. Directory Permissions • The application has rights to the directory, not the authenticated user • Your application == service principal • Application Roles – Partner Tier1 Support – Partner Tier2 Support – Company Administrator – Helpdesk Administrator – Directory Readers – Directory Writers – Billing Administrator – Service Support Administrator – User Account Administrator
  • 33. Request GET https://graph.windows.net/michaelcollier.onmicrosoft.com/directoryObjects/$/Micro soft.WindowsAzure.ActiveDirectory.User()?%24filter=userPrincipalName+eq+%27mi chael%40michaelcollier.onmicrosoft.com%27&%24top=2&api-version=0.9 HTTP/1.1 User-Agent: Microsoft ADO.NET Data Services DataServiceVersion: 3.0;NetFx MaxDataServiceVersion: 3.0;NetFx Accept: application/atom+xml,application/xml Accept-Charset: UTF-8 DataServiceUrlConventions: KeyAsSegment Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1THdqcHd BSk9NOW4tQSJ9.eyJhdWQiOiIwMDAwMDAwMi0wMDAwLTAwMDAtYzAwMC0wMD AwMDAwMDAwMDAvZ3JhcGgud2luZG93cy5uZXRAMTEyNzExNTktYWJjOC00ZTBl LWIzYzItYzJhMDg1OGEwMzZiIiwiaXNzIjoiMDAwMDAwMDEtMDAwMC0wMDAwLWM wMDAtMDAwMDAw…… Host: graph.windows.net
  • 34. Response <?xml version="1.0" encoding="utf-8"?> <feed xml:base="https://graph.windows.net/michaelcollier.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/michaelcollier.onmicrosoft.com/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/michaelcollier.onmicrosoft.com/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" />
  • 35. Response <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/michaelcollier.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@michaelcollier.onmicrosoft.com</d:userPrincipalName> </m:properties> </content> </entry> * Some elements removed for readability. </feed>
  • 36. Windows Azure Authentication Library (WAAL) • Simplifies authentication • Client-side only – Used to obtain an authentication token only; no token validation – Web apps/services or rich clients • Server-side token authentication – JSON Web Token Handler (JWT Handler) – Samples http://code.msdn.com Search “aal” Filter – Technology = Windows Azure Visual Studio Version = VS2012 (AAL > Windows Azure > Visual Studio 2012)
  • 37. Registering You App with WAAD • AppPrincipalId (ServicePrincipal) – identityConfiguration/audienceUris – system.identityModel.services/federationConfiguration /wsFederation • Read this blog post by Vittorio Bertocci – http://www.cloudidentity.com/blog/2013/01/22/group- amp-role-claims-use-the-graph-api-to-get-back- isinrole-and-authorize-in-windows-azure-ad-apps/
  • 38. Registering You App with WAAD Import-Module MSOnlineExtended -force # Connect to the WAAD tenant. Use tenant admin credentials (same used in the MVC VS2012 tools). <user>@<tenant>.onmicrosoft.com Connect-MsolService # The AppPrincipalId from the web.config $AppPrincipalId = '9a90ed83-acff-44d7-813f-d7e724fef1aa' # Get the Service Principal object $servicePrincipalId = (Get-MsolServicePrincipal -AppPrincipalId $AppPrincipalId) # Add the service principal to the appropriate role in WAAD. Add-MsolRoleMember -RoleMemberType "ServicePrincipal" -RoleName "User Account Administrator" - RoleMemberObjectId $servicePrincipalId.ObjectId # Dates for which the credential is valid (1 year) $timeNow = Get-Date $expiryTime = $timeNow.AddYears(1) #Generating the symmetric key $cryptoProvider = new-object System.Security.Cryptography.RNGCryptoServiceProvider $byteArr = new-object byte[] 32 $cryptoProvider.GetBytes($byteArr) $signingKey = [Convert]::ToBase64String($byteArr) Write-Output $signingKey | Out-File signingKey.txt # Create a new service principal credential, with the created key, and assign to the service principal. New-MsolServicePrincipalCredential -AppPrincipalId $AppPrincipalId -Type symmetric -StartDate $timeNow -EndDate $expiryTime -Usage Verify -Value $signingKey
  • 39. WAAD and Expense Application (Code Walkthrough) DEMO
  • 40. Going Further • Multitenant applications – Leverage identity from other WAAD tenants – http://www.windowsazure.com/en- us/develop/net/tutorials/multitenant-apps-for-active- directory/ • Phone 2FA – Additional administrative users – Username/pwd + text message code – ONLY for WAAD users and applications now • Configure as an Identity Provider in ACS
  • 41. Windows Azure Virtual Network Windows Azure Site-to-Site VPN Tunnel Currently in Preview Image courtesy of the Windows Azure Training Kit
  • 42. Summary • Traditional identity management in the cloud is hard – Many external islands of identity – Current technology hard or not interoperable • ACS provides standards-based approach – Integrates with Windows Identity Foundation – Claims-based authorization – Built-in support for ADFSv2, Google, Live ID, Yahoo!, & Facebook • Enrich functionality using WIF • Leverage Windows Azure Mobile Services for mobile apps • Windows Azure Active Directory shows the future direction
  • 43. Resources • Windows Azure ACS Guide – http://www.windowsazure.com/en-us/develop/net/how-to-guides/access- control/#config-trust • Programming Windows Identity Foundation, Vittorio Bertocci • CloudIdentity.com, Vittorio Bertocci’s blog • “Claims-Based Authorization with WIF”, Michele Bustamante – http://msdn.microsoft.com/en-us/magazine/ee335707.aspx • ACS Cheat Sheet - http://bit.ly/ACSCheatSheet • ACS How To’s - http://bit.ly/ACSHowTo • ACS Tips - http://bit.ly/HYhxjY • Publishing a ACS v2 Federated Identity Web Role - http://bit.ly/HPT6rk • MVC Sample App for Windows Azure Active Directory Graph – http://code.msdn.microsoft.com/Write-Sample-App-for-79e55502 • Windows Azure Active Directory Graph Team – http://blogs.msdn.com/b/aadgraphteam/
  • 45. Thank You!! Michael S. Collier National Architect, Cloud michael.collier@neudesic.com @MichaelCollier www.MichaelSCollier.com http://www.slideshare.net/buckeye01 Please fill out your session evals!