Sunday, December 19, 2010

Claims–based Identity and Access Control

Imagine a world where you don't have to worry about authentication. Imagine instead that all requests to your application already include the information you need to make access control decisions and to personalize the application for the user.

In this world, your applications can trust another system component to securely provide user information, such as the user's name or e-mail address, a manager's e-mail address, or even a purchasing authorization limit. The user's information always arrives in the same simple format, regardless of the authentication mechanism, whether it's Microsoft® Windows® integrated authentication, forms-based authentication in a Web browser, an X.509 client certificate, or something more exotic. Even if someone in charge of your company's security policy changes how users authenticate, you still get the information, and it's always in the same format.

This is the utopia of claims-based identity that A Guide to Claims-Based Identity and Access Control describes. As you'll see, claims provide an innovative approach for building applications that authenticate and authorize users.

Overview

This book gives you enough information to evaluate claims-based identity as a possible option when you're planning a new application or making changes to an existing one. It is intended for any architect, developer, or information technology (IT) professional who designs, builds, or operates Web applications and services that require identity information about their users.

Although claims-based identity has been possible for quite a while, there are now tools available that make it much easier for developers of Windows-based applications to implement it. These tools include the Windows Identity Foundation (WIF) and Microsoft Active Directory® Federation Services (ADFS) v2. This book shows you when and how to use these tools in the context of some commonly occurring scenarios.

Common Scenarios

Ff423674.a9471d21-d7f7-48b8-8a64-686fe99f5411(en-us,PandP.10).png

"An Introduction to Claims" explains what a claim is and gives general rules on what makes a good claim and how to incorporate them in your application. It's probably a good idea that you read this chapter before you go on to the scenarios.

"Claims-Based Architectures" shows you how to use claims with browser-based applications and smart client–based applications. In particular, the chapter focuses on how to implement single sign-on for your users, whether they are on an intranet or an extranet. This chapter is optional. You don't need to read it before you go on to the scenarios.

"Claims-Based Single Sign-On for the Web" shows you how to implement single-sign on within a corporate intranet. Although this may be something that you can also implement with Windows integrated authentication, it is the first stop on the way to implementing more complex scenarios. It includes a section for Windows Azure™ that shows you how to move the claims-based application to the cloud.

"Federated Identity for Web Applications" shows you how you can give your business partners access to your applications while maintaining the integrity of your corporate directory and theirs. In other words, your partners' employees can use their corporate credentials to gain access to your applications.

"Federated Identity for Web Services" shows you how to use the claims-based approach with Web services, where a partner uses a smart client rather than a browser.

"Federated Identity with Multiple Partners" is a variation of the previous scenario that shows you how to federate with partners who have no issuer of their own as well as those who do. It demonstrates how to use the ASP.NET MVC framework to create a claims-aware application.

Audience Requirements

Although applications that use claims-based identity exist on many platforms, this book is written for people who work with Windows-based systems. You should be familiar with the Microsoft .NET Framework, ASP.NET, Windows Communication Foundation (WCF), and Microsoft Visual C#®.

System Requirements

You can either run the samples that illustrate the scenarios in the guide on your own system or you can create a realistic lab environment. Running the scenarios on your own system is very simple and has only a few requirements. These are the system requirements for running the scenarios on your system:

  • Microsoft Windows Vista SP1, Windows 7, or Microsoft Windows Server 2008 (32-bit or 64-bit)
  • Microsoft Internet Information Services (IIS) 7.0
  • Microsoft .NET Framework 3.5 SP1
  • Windows Identity Foundation
  • Microsoft Visual Studio® 2008 SP1
  • Two samples require additionally:
  • Windows Azure Tools for Microsoft Visual Studio
  • ASP.NET MVC 1.0

Community

This guide, like many patterns & practices deliverables, is associated with a community site. On this community site, you can post questions, provide feedback, or connect with other users for sharing ideas. Community members can also help Microsoft plan and test future guides, and download additional content such as extensions and training material.

Future Plans

Additional content and plans will be published to the community site.

Feedback and Support

Questions? Comments? Suggestions? To provide feedback about this guide, or to get help with any problems, please visit the Community site. The message board on the community site is the preferred feedback and support channel because it allows you to share your ideas, questions, and solutions with the entire community. A Guide to Claims-based Identity and Access Control is a guidance offering, designed to be reused, customized, and extended. It is not a Microsoft product. Code-based guidance is shipped "as is" and without warranties. Customers can obtain support through Microsoft Support Services for a fee, but the code is considered user-written by Microsoft support staff.

Authors and Contributors

This guide was produced by the following individuals:

  • Program and Product Management: Eugenio Pace
  • Subject Matter Experts: Dominick Baier, Vittorio Bertocci, Keith Brown, and Matias Woloski
  • Development: Federico Boerr, Diego Marcet, Erwin van der Valk and Matias Woloski
  • Test team: Carlos Farre and Anant Manuj Mittal
  • Edit team: RoAnn Corbisier, Colin Campbell (Modeled Computation LLC), Roberta Leibovitz (Modeled Computation LLC), and Tina Burden
  • Book design and illustrations: John Hubbard (eson), Ellen Forney and Veronica Ruiz
  • Release Management: Richard Burte

We want to thank the customers, partners, and community members who have patiently reviewed our early content and drafts. Among those, we want to highlight the exceptional contributions of Zulfiqar Ahmed, Michele Leroux Bustamante (IDesign), Pablo Mariano Cibraro (Tellago Inc), Hernan DeLahitte (DigitFactory), Pedro Felix, Tim Fischer (Microsoft Germany), Mario Fontana, David Hill, Doug Hiller, Jason Hogg, Ezequiel Jadib (Southworks), Brad Jonas, Seshadri Mani, Marcelo Mas, Vijayavani Nori, Krish Shenoy, Travis Spencer (www.travisspencer.com), Mario Szpuszta (Sr. Architect Advisor, Microsoft Austria), Chris Tavares, Peter M. Thompson, and Todd West.

Finally, we want to thank Stuart Kwan and Conrad Bayer from the Identity Division at Microsoft for their support throughout.

Claims–based Identity and Access Control

Imagine a world where you don't have to worry about authentication. Imagine instead that all requests to your application already include the information you need to make access control decisions and to personalize the application for the user.

In this world, your applications can trust another system component to securely provide user information, such as the user's name or e-mail address, a manager's e-mail address, or even a purchasing authorization limit. The user's information always arrives in the same simple format, regardless of the authentication mechanism, whether it's Microsoft® Windows® integrated authentication, forms-based authentication in a Web browser, an X.509 client certificate, or something more exotic. Even if someone in charge of your company's security policy changes how users authenticate, you still get the information, and it's always in the same format.

This is the utopia of claims-based identity that A Guide to Claims-Based Identity and Access Control describes. As you'll see, claims provide an innovative approach for building applications that authenticate and authorize users.

Overview

This book gives you enough information to evaluate claims-based identity as a possible option when you're planning a new application or making changes to an existing one. It is intended for any architect, developer, or information technology (IT) professional who designs, builds, or operates Web applications and services that require identity information about their users.

Although claims-based identity has been possible for quite a while, there are now tools available that make it much easier for developers of Windows-based applications to implement it. These tools include the Windows Identity Foundation (WIF) and Microsoft Active Directory® Federation Services (ADFS) v2. This book shows you when and how to use these tools in the context of some commonly occurring scenarios.

Common Scenarios

Ff423674.a9471d21-d7f7-48b8-8a64-686fe99f5411(en-us,PandP.10).png

"An Introduction to Claims" explains what a claim is and gives general rules on what makes a good claim and how to incorporate them in your application. It's probably a good idea that you read this chapter before you go on to the scenarios.

"Claims-Based Architectures" shows you how to use claims with browser-based applications and smart client–based applications. In particular, the chapter focuses on how to implement single sign-on for your users, whether they are on an intranet or an extranet. This chapter is optional. You don't need to read it before you go on to the scenarios.

"Claims-Based Single Sign-On for the Web" shows you how to implement single-sign on within a corporate intranet. Although this may be something that you can also implement with Windows integrated authentication, it is the first stop on the way to implementing more complex scenarios. It includes a section for Windows Azure™ that shows you how to move the claims-based application to the cloud.

"Federated Identity for Web Applications" shows you how you can give your business partners access to your applications while maintaining the integrity of your corporate directory and theirs. In other words, your partners' employees can use their corporate credentials to gain access to your applications.

"Federated Identity for Web Services" shows you how to use the claims-based approach with Web services, where a partner uses a smart client rather than a browser.

"Federated Identity with Multiple Partners" is a variation of the previous scenario that shows you how to federate with partners who have no issuer of their own as well as those who do. It demonstrates how to use the ASP.NET MVC framework to create a claims-aware application.

Audience Requirements

Although applications that use claims-based identity exist on many platforms, this book is written for people who work with Windows-based systems. You should be familiar with the Microsoft .NET Framework, ASP.NET, Windows Communication Foundation (WCF), and Microsoft Visual C#®.

System Requirements

You can either run the samples that illustrate the scenarios in the guide on your own system or you can create a realistic lab environment. Running the scenarios on your own system is very simple and has only a few requirements. These are the system requirements for running the scenarios on your system:

  • Microsoft Windows Vista SP1, Windows 7, or Microsoft Windows Server 2008 (32-bit or 64-bit)
  • Microsoft Internet Information Services (IIS) 7.0
  • Microsoft .NET Framework 3.5 SP1
  • Windows Identity Foundation
  • Microsoft Visual Studio® 2008 SP1
  • Two samples require additionally:
  • Windows Azure Tools for Microsoft Visual Studio
  • ASP.NET MVC 1.0

Community

This guide, like many patterns & practices deliverables, is associated with a community site. On this community site, you can post questions, provide feedback, or connect with other users for sharing ideas. Community members can also help Microsoft plan and test future guides, and download additional content such as extensions and training material.

Future Plans

Additional content and plans will be published to the community site.

Feedback and Support

Questions? Comments? Suggestions? To provide feedback about this guide, or to get help with any problems, please visit the Community site. The message board on the community site is the preferred feedback and support channel because it allows you to share your ideas, questions, and solutions with the entire community. A Guide to Claims-based Identity and Access Control is a guidance offering, designed to be reused, customized, and extended. It is not a Microsoft product. Code-based guidance is shipped "as is" and without warranties. Customers can obtain support through Microsoft Support Services for a fee, but the code is considered user-written by Microsoft support staff.

Authors and Contributors

This guide was produced by the following individuals:

  • Program and Product Management: Eugenio Pace
  • Subject Matter Experts: Dominick Baier, Vittorio Bertocci, Keith Brown, and Matias Woloski
  • Development: Federico Boerr, Diego Marcet, Erwin van der Valk and Matias Woloski
  • Test team: Carlos Farre and Anant Manuj Mittal
  • Edit team: RoAnn Corbisier, Colin Campbell (Modeled Computation LLC), Roberta Leibovitz (Modeled Computation LLC), and Tina Burden
  • Book design and illustrations: John Hubbard (eson), Ellen Forney and Veronica Ruiz
  • Release Management: Richard Burte

We want to thank the customers, partners, and community members who have patiently reviewed our early content and drafts. Among those, we want to highlight the exceptional contributions of Zulfiqar Ahmed, Michele Leroux Bustamante (IDesign), Pablo Mariano Cibraro (Tellago Inc), Hernan DeLahitte (DigitFactory), Pedro Felix, Tim Fischer (Microsoft Germany), Mario Fontana, David Hill, Doug Hiller, Jason Hogg, Ezequiel Jadib (Southworks), Brad Jonas, Seshadri Mani, Marcelo Mas, Vijayavani Nori, Krish Shenoy, Travis Spencer (www.travisspencer.com), Mario Szpuszta (Sr. Architect Advisor, Microsoft Austria), Chris Tavares, Peter M. Thompson, and Todd West.

Finally, we want to thank Stuart Kwan and Conrad Bayer from the Identity Division at Microsoft for their support throughout.

Wednesday, December 15, 2010

Cloud Computing: Software plus Services explained (S+S)

Ray Ozzie introduced the term Software plus Services about 3 years ago and since then it’s where I have focused all of my time at Microsoft.

It’s perhaps no surprise then that I’m often asked what is Software plus Services (S+S)? Is it just Microsoft’s way of saying SaaS (Software as a Service)? The answer to the latter is nope, it’s not our way of talking SaaS though that is actually part of S+S. I found myself getting my answer down to a few key phrases like “choice” or the ability to combine on-premises software with cloud software. I liked Stephen Elop’s recent way of explaining it as an approach that doesn’t issue an ultimatum to a customer that everything must go to the cloud. Choice in other words.

Anyway, I found myself answering the question often enough that I thought it’d be easier to put together a short, fun video that explained it way more eloquently than I can. Along with some friends in Microsoft’s HQ in Seattle, this is what we came up with


Sunday, December 12, 2010

Okapi, Endless Mural with HTML5 and IE9






Get Microsoft Silverlight


Thomas Lewis from MIX Online (visitmix.com) introduces Okapi, a simple Javascript framework for building digital, generative art which allows you to take advantage of concepts such as “bounce effects”, “continuous draw”, sprite management, symbols, instances, and auto-updated visual properties that were primarily only available to plug-ins. Check out more information about Okapi and enter a contest to win $500 or well-known digital artist, Joshua Davis' skateboard at http://okapi.visitmix.com. (Also, follow Thomas on Twitter at @tommylee or MIX Online at @mixonline.)

TPL Dataflow Tour


This 15-minute video provides a high-level tour through some of the functionality available in the new TPL Dataflow library (System.Threading.Tasks.Dataflow.dll), an early preview of which was released as part of the Visual Studio Async CTP, available for download at http://msdn.com/vstudio/async.

Friday, December 10, 2010

Acer Iconia

Physical keyboards are old news, right? They will be come January 28, which is when Acer intends to make its dual-screen Iconia laptop available for public consumption. That's the date we've received from the company's official Spanish mouthpiece, accompanied by a lofty €1,499 ($1,987). Literal currency translations are as usual inadvisable, but that's a hefty fee, however you want to think about it. Then again, the Iconia does come with two 14-inch multitouch LCDs, which last we checked weren't the cheapest parts in the land, and also furnishes you with some decent grunt under the hood courtesy of a Core i5 CPU, up to 4GB of RAM, up to 750GB of storage, an optional 3G module, and -- lest we forget -- a USB 3.0 port. We're sure it'll end up as somebody's perfect bowl of porridge. more

Kinect Gets Own Set of Wheels

Kinect gets its own set of wheels, drives a car, nothing can stop it now (video)

Yeah, we're a sucker for a good Kinect hack, and we're a sucker for anything involving RC cars, too. Happy day for us, then, as the two come together in blissful harmony with this project from Michael Schweitzer and Michael Himmelsbach at the University of Bundeswehr Munich. It's a 1:10 scale auto with Microsoft's fancy cam mounted up front and what looks to be a surplus Dell XPS M1330 riding in style on the back. The laptop is running a simplified version of the software that propelled the school's MuCAR-3, a full-sized VW Touareg, in the Darpa Urban Challenge. This little 'un is a little shaky right now, but that's largely because they haven't managed to get an accurate odometer working yet. Still, it does avoid obstacles, as you can see, and now all it needs is some Lexan bodywork before it can look pimpin' when cruising the strip -- autonomously, of course. more

Wednesday, December 8, 2010

ZScape 3D Holographic Prints



As the video above shows, Zebra Imaging's so called ZScape prints pull off some pretty amazing 3D visual effects despite being based on old school hologram technology. These prints are made using a variety of 3D data sources -- think AutoCad and the like -- that are then rendered as thousands of holographic elements by recording laser light onto a single film-based material. The resulting images are easily viewed without glasses or spinning mirrors, and just require a run-of-the-mill halogen or LED light source to reveal 360-degree, full color representations -- akin to what a physical model might look like. Fancier versions can also be made using overlays and layering techniques to show more information. To date, over 8,000 ZScapes have already been developed for the US military, but surprisingly their prices range between $1,500 for a 12- x 18-inch version to $3,500 for the largest 2- x 3-foot size, making them relatively obtainable for those not on Defense Department tabs. If the video of Seattle pulling anInception above didn't impress you enough, be sure to check another embedded video after the break. more

Saturday, December 4, 2010

Image Composite Editor

Microsoft Image Composite Editor is an advanced panoramic image stitcher. Given a set of overlapping photographs of a scene shot from a single camera location, the application creates a high-resolution panorama that seamlessly combines the original images. The stitched panorama can be shared with friends and viewed in 3D by uploading it to the Photosynth web site. Or the panorama can be saved in a wide variety of image formats, from common formats like JPEG and TIFF to the multiresolution tiled format used by Silverlight's Deep Zoom and by the HD View andHD View SL panorama viewers.

Click here to watch video.

New features through version 1.3.5

  • Accelerated stitching on multiple CPU cores
  • Ability to publish, view, and share panoramas on the Photosynth web site
  • Support for "structured panoramas" — panoramas consisting of hundreds of photos taken in a rectangular grid of rows and columns (usually by a robotic device like the GigaPan tripod heads)
  • No image size limitation — stitch gigapixel panoramas
  • Support for input images with 8 or 16 bits per component
  • Ability to read raw images using WIC codecs
  • Photoshop layer and large document support

Additional features

  • State-of-the-art stitching engine
  • Automatic exposure blending
  • Choice of planar, cylindrical, or spherical projection
  • Orientation tool for adjusting panorama rotation
  • Automatic cropping to maximum image area
  • Native support for 64-bit operating systems
  • Wide range of output formats, including JPEG, TIFF, BMP, PNG, HD Photo, and Silverlight Deep Zoom

Support

Microsoft Image Composite Editor is provided free of charge and without official support. However, if you have questions or issues with Image Composite Editor, you may find help at the Image Composite Editor Forum, which is monitored by the developers and provides community-based support.

Microsoft Research: Zentity

ZentityWith Zentity, researchers can extend existing data models by adding additional relationships and properties to these relationships. Zentity is flexible and extensible, taking advantage of the optimization and performance available from Microsoft SQL Server. Zentity provides a built-in ScholarlyWorks data model with pre-defined entities—such as lecture, publication, paper, presentation, video, file, person, and tag—along with basic properties for each of these and well known relationships—such as author, city, and version. The platform also provides support to create custom entities and design custom data models by using our Extensibility API. Learn more...

New Features

Here’s what’s new in this release:

  • New services: Pivot Collection Service and Zentity Data Service
  • New client applications:
    • Pivot Viewer and ODATA Viewer, in collaboration with Microsoft Live Labs
    • Visual Explorer, in collaboration with MSR Asia
    • PowerShell admin console
  • .NET 4.0 support
  • ODATA support
  • Data model agnostic
  • Multi-tier application support
  • Zentity SDK
  • Improved deployment experience

System Requirements

To run this software, you’ll need the following:

  • Windows Server 2008 R2, Windows 7 Ultimate or Enterprise
  • Microsoft .NET Framework 4.0, IIS 7 or above, Application Server role installed, Silverlight version 4, Windows SDK for Windows 7, Microsoft SQL Server 2008 Native client, Windows PowerShell 2.0
  • SQL Server 2008 Standard Edition or above, SQL Server 2008 R2, SQL Server Express with Advanced Services (with file stream, full-text search and named pipes enabled)

For more detailed information, see the system requirements section in the Installation Instructions document (also included with the downloaded .zip file).

Installation Instructions

To install Zentity 2.0, do the following:

  1. Extract the contents of the .zip file to a folder.
  2. Open the folder containting the extracted files, and then run the corresponding client or server MSI installation wizard.
  3. Follow the onscreen instructions to install Zentity 2.0.

For more detailed information, see the Installation Instructions document (also included with the downloaded .zip file).