26
.NET Services Access Control Across the .NET Services Justin Smith Sr. Program Manager Microsoft Corporation BB55

Justin Smith Sr. Program Manager Microsoft Corporation BB55

Embed Size (px)

Citation preview

Page 1: Justin Smith Sr. Program Manager Microsoft Corporation BB55

.NET ServicesAccess Control Across the .NET Services

Justin Smith Sr. Program Manager

Microsoft Corporation

BB55

Page 2: Justin Smith Sr. Program Manager Microsoft Corporation BB55

Azure™ Services Platform

Microsoft SharePoint Services

Microsoft Dynamics CRM Services

Page 3: Justin Smith Sr. Program Manager Microsoft Corporation BB55

Motivation .NET Services 10 minute tour .NET Service Bus and .NET

Access Control Service .NET Workflow Service and

.NET Access Control Service Microsoft SQL Data Services and

.NET Access Control Service Usage Patterns

Agenda

Page 4: Justin Smith Sr. Program Manager Microsoft Corporation BB55

Extension of .NET capabilities to the cloud Leverage what you know to do

things that are otherwise pretty hard 3 Services today, more to follow .NET Service Bus – connectivity and fan-out

messaging necessary for many integrations .NET Workflow Service –

reliably run workflows at scale .NET Access Control Service –

authorization based on federated identities

.NET Services in a Slide

Page 5: Justin Smith Sr. Program Manager Microsoft Corporation BB55

The following use the same approach to access control

Microsoft SQL Data Services Accepts both a Username & Password and a

token produced by .NET Access Control Service .NET Service Bus .NET Workflow Service The Portals

Common Access Control Model

NOTE: The .NET Service Bus and the .NET Workflow Service share code for token processing

Page 6: Justin Smith Sr. Program Manager Microsoft Corporation BB55

How They Fit Together

Your CustomersYour App

Acce

ss C

ontr

ol

Serv

ice

<Any ID Provider>

Live ID Users

XYZ Domain Users

Who is the caller?

What can they

do?

UI

Integrate

ServiceBus

Orchestrate

Store

WF

Data

Page 7: Justin Smith Sr. Program Manager Microsoft Corporation BB55

Access Control Moving Parts

Portal A UI for creating and managing

collections of access control rules Client API

Provides a programmatic way to manage collections of access control rules

Service (STS) A hosted service that issues tokens Developers interact with the

service via the “Geneva” Framework

Page 8: Justin Smith Sr. Program Manager Microsoft Corporation BB55

Access Control Interactions

Your .NET Access Control Service STS

(Managed STS)

Relying Party(Service Bus,

Your App, etc.)

2. Send Claims

(RST)4. Send Token (RSTR)

(output claims from

4)

5. Send Messagew/token

0. Cert|Secret exchange; periodically refreshed

Requestor(Your

Customer)

1. Define access control rules for a customer

6.Claims checked

in Relying Party

3. Map input claims to output claims based on access control rules

Page 9: Justin Smith Sr. Program Manager Microsoft Corporation BB55

.NET ServiceBus, .NET Workflow Service and Microsoft SQL Data Services have .NET Access Control Service accounts

These accounts contain scopes and encryption preferences

Rules are automatically added to scopes when new customer accounts are created

The rules are different for the .NET Service Bus, .NET Workflow Service, and the Microsoft SQL Data Service

The .NET Service Bus and .NET Workflow Service grant customer accounts edit permissions on the rules

Access Control Approach

Page 10: Justin Smith Sr. Program Manager Microsoft Corporation BB55

.NET Services & Access Control Service Tour

Justin Smith

Demo

Page 11: Justin Smith Sr. Program Manager Microsoft Corporation BB55

.NET Service Bus uses a namespace to structure resources and endpoints

Each customer account is assigned part of the namespace based on Solution Name

Each Solution Name namespace is a scope in the .NET Access Control Service

The Solution Name owner is granted edit permission on the scope

.NET Service Bus Scopes

http://servicebus.windows.net/services/

Foo/

Bar/

Baz/

Page 12: Justin Smith Sr. Program Manager Microsoft Corporation BB55

The .NET Service Bus requires the token to: Contain the namespace of

the resource being accessed Contain Action claims of Listen and/or Send Be encrypted with the

.NET Service Bus certificate Be valid for the time it is presented

The Solution Name scope is provisioned with 2 rules: Username=Foo Action=Listen Username=Foo Action=Send

Foo can modify these rules as needed

.NET Service Bus Token Processing

Page 13: Justin Smith Sr. Program Manager Microsoft Corporation BB55

.NET Services SDK includes types that extend WCF to request tokens for you Standard endpoint behaviors SolName/Pwd, X509,

CardSpace, Federation, etc. Accessible via the

TransportClientEndpointBehavior type The interaction is based on

WS-Trust 1.3, so many other web services stacks can interact with the .NET Service Bus (e.g., Sun Metro 1.3)

ServiceBus RSTs

Page 14: Justin Smith Sr. Program Manager Microsoft Corporation BB55

Access Control in the .NET Service Bus

Justin Smith

Demo

Page 15: Justin Smith Sr. Program Manager Microsoft Corporation BB55

.NET Workflow Service uses a namespace to structure resources and endpoints Model similar to ServiceBus

Includes HTTP endpoints

.NET Workflow Service Scopes

http://workflow.windows.net/workflows/

Foo/

Bar/

Baz/

http://workflow.windows.net/workflowshttp/

Foo/

Bar/

Baz/

Page 16: Justin Smith Sr. Program Manager Microsoft Corporation BB55

.NET Workflow Service requires the token to: Contain the namespace of

the resource being accessed Contain Action claims of

Read/Write/Execute/Send Be encrypted with the Workflow certificate Be valid for the time it is presented

The Solution Name scope is provisioned with Action rules Read/Write/Execute/Send

You can modify these rules as needed

Workflow Token Processing

Page 17: Justin Smith Sr. Program Manager Microsoft Corporation BB55

Workflows can run for past the lifetime of a normal token

Example: Every day for 6 months, Foo’s workflow needs to send a message to the ServiceBus

Workflow uses a long-lived Authentication (AuthN) token to request Authorization (AuthZ) tokens

Long Running Behavior

Page 18: Justin Smith Sr. Program Manager Microsoft Corporation BB55

Access Control in the .NET Workflow Service

Justin Smith

Demo

Page 19: Justin Smith Sr. Program Manager Microsoft Corporation BB55

Specifics driven by the requirements of your application

Common Patterns:1. Use a Service Account to access .NET Services,

handle user AuthN/AuthZ independently2. Use federation to allow users

to AuthN/AuthZ with Services Approach 1 likely for existing

applications with their own user store Approach 2 fits best in new applications

Usage Patterns

Page 20: Justin Smith Sr. Program Manager Microsoft Corporation BB55

Assumes the federated approach Create new scopes for sets of users

Subordinate to .NET Service Bus and .NET Workflow Service scopes created at provision time

Assign Listen/Send/Execute, etc. based on user scenarios Use the client API in your own

onboarding process for users

Managing Scopes And Rules

Page 21: Justin Smith Sr. Program Manager Microsoft Corporation BB55

.NET Services Sessions Other Identity Sessions

Other Sessions

Page 22: Justin Smith Sr. Program Manager Microsoft Corporation BB55

.NET Services SDK Marketing Portal Dev Center Portal Forums

Resources

Page 23: Justin Smith Sr. Program Manager Microsoft Corporation BB55

Evals & Recordings

Please fill

out your

evaluation for

this session at:

This session will be available as a recording at:

www.microsoftpdc.com

Page 24: Justin Smith Sr. Program Manager Microsoft Corporation BB55

Please use the microphones provided

Q&A

Page 25: Justin Smith Sr. Program Manager Microsoft Corporation BB55

© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market

conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 26: Justin Smith Sr. Program Manager Microsoft Corporation BB55