SharePoint Authentication And Authorization SPTechCon San Francisco

26
SharePoint Authentication and Authorization Liam Cleary Solution Architect | SharePoint MVP

description

SharePoint Authentication And Authorization SPTechCon San Francisco

Transcript of SharePoint Authentication And Authorization SPTechCon San Francisco

Page 1: SharePoint Authentication And Authorization SPTechCon San Francisco

SharePoint Authentication and AuthorizationLiam ClearySolution Architect | SharePoint MVP

Page 2: SharePoint Authentication And Authorization SPTechCon San Francisco

About Me• Solution Architect @ SusQtech (Winchester, VA)• SharePoint MVP since 2007• Working with SharePoint since 2002• Worked on all kinds of projects• Internet• Intranet• Extranet• Anything SharePoint Really

• Involved in Architecture, Deployment, Customization and Development of SharePoint

Page 3: SharePoint Authentication And Authorization SPTechCon San Francisco

Agenda• Security in General• Security with SharePoint• Authentication• Authorization• Authentication vs. Authorization• Claims Authentication / Authorization• Options Available• Membership & Role Providers• Identity Provider• Cloud Based Services

• Art of Authorization• Things to Remember

Page 4: SharePoint Authentication And Authorization SPTechCon San Francisco

Security in General

Dictionary Definition:

• Freedom from danger, risk, etc.; safety. • Freedom from care, anxiety, or doubt; well-founded

confidence. • Something that secures or makes safe; protection; defense. • Freedom from financial cares or from want: The insurance

policy gave the family security. • Precautions taken to guard against crime, attack, sabotage, espionage

Page 5: SharePoint Authentication And Authorization SPTechCon San Francisco
Page 6: SharePoint Authentication And Authorization SPTechCon San Francisco

Security with SharePoint• Isn't this an oxymoron? Just kidding!!

Page 7: SharePoint Authentication And Authorization SPTechCon San Francisco

Security with SharePoint

How does security come into play with SharePoint?• Same questions as the previous security• How, Who, When and often Why

• Content specific security• Role based as well is individual security• Collaboration security• Cross Team• Cross Organizational• Cross Company

• Specific permission sets for types of access and functionality

Page 8: SharePoint Authentication And Authorization SPTechCon San Francisco

Authentication – What is?

Dictionary Definition:• To establish as genuine. • To establish the authorship or origin of conclusively or

unquestionably, chiefly by the techniques of scholarship: to authenticate a painting.

• To make authoritative or valid.

Page 9: SharePoint Authentication And Authorization SPTechCon San Francisco

Authentication – Types of?• Windows• NTLM• Kerberos• Basic• Anonymous• Digest

• Forms-based Authentication• Lightweight Directory Access Protocol (LDAP)• Microsoft SQL Server• ASP.NET Membership and Role Providers

• SAML Token-based Authentication• Active Directory Federated Services• 3rd Party Identity Provider• Lightweight Directory Access Protocol (LDAP)

Page 10: SharePoint Authentication And Authorization SPTechCon San Francisco

Authorization – What is?

Dictionary Definition:• The act of authorizing. • Permission or power granted by an authority; sanction.• To give authority or official power to; • To give authority for; formally sanction (an act or proceeding):• To establish by authority or usage:

Page 11: SharePoint Authentication And Authorization SPTechCon San Francisco

Authentication vs. Authorization• Misunderstood Terminology• Users, IT and Developers

• Authentication = Verification of Claim (I am Liam)• Authorization = Verification of Permission (Liam has access to)• Authentication Precedes Authorization• Correct ID shown to Bank Teller• You are Asking to be Authenticated on the Account• Once accepted you become Authorized on the Account

• Exception to the rule• Anonymous Access can leave comments on Blog site• Anonymous users are already Authorized but not Authenticated

• Too often we focus on Authentication and not Authorization• We expect our users, clients etc. to just inherently know what they are to

do• We often forget that Authentication can be broken, but Authorization is

slightly more complicated

Page 12: SharePoint Authentication And Authorization SPTechCon San Francisco

Authentication – Claims

SharePoint 2010 Introduced Claims Authentication

Page 13: SharePoint Authentication And Authorization SPTechCon San Francisco

Authentication – ClaimsWhy introduce Claims Authentication?• Wide Support• Standards Based

• WS-Federation 1.1• WS-Trust 1.4• SAML Token 1.1 AuthN

• Single Sign On• Federation

• Already many providers, Live, Google, Facebook etc• Microsoft standard approach• Fed up custom coding everything, every time• Gets round (some) Office Integration problems• Easy to configure with little effort

• Multiple Web Config changes, Web Application Changes and then of course the actual configuration of your identity provider

Page 14: SharePoint Authentication And Authorization SPTechCon San Francisco

Authentication – Claim Terminology

• Identity• Info about a Person or Object (AD, Google, Windows Live,

Facebook etc.)• Claim• Attributes of the Identity (User ID, Email, Age etc.)

• Token• Binary Representation of Identity• Set of Claims and the Signature

• Relying Party (aka RP)• Users Token

• Secure Token Service (STS)• Issuer of Tokens for Users

Page 15: SharePoint Authentication And Authorization SPTechCon San Francisco

Authentication – Sign In Process

1. Resource Requested2. AuthN Request / Redirect3. AuthN Request4. Security Token5. Security Token Request6. Service Token7. Resource Request w/Service Token8. Resource Sent

Identity Provider Security Token Service

aka IP-STS

SharePoint 2010aka RP

Page 16: SharePoint Authentication And Authorization SPTechCon San Francisco

DEMOSign-In Process with Identity Provider

Page 17: SharePoint Authentication And Authorization SPTechCon San Francisco

Authentication – Membership & Role Providers

• Classic .NET approach• Support Local Authentication Store• Support Remote Authentication Stores

• Web Services, Remote Database Calls

• No inherent Single Sign On• Custom Code to Achieve this, namely cookie based

• Full support for base .NET Providers• Membership Provider – User Accounts and Authentication• Role Provider – Equivalent of Groups, Authorization Element• Specific Configuration needed for each Web Application• Central Administration• Secure Token Service• Web Application

• Extensive “web.config” entries needed• Custom Components in SharePoint will needed• Welcome Control, Login Control etc.

Page 18: SharePoint Authentication And Authorization SPTechCon San Francisco

Authentication – Custom Identity Provider

• No need for Membership and Role Provider• Can still be used – NOTE: Membership User Approach

• Single Sign Built in – Web Application needs to be set to require Authentication not Anonymous

• Central Managed and Entry point for all Authentication• Support Local Authentication Store• Support Remote Authentication Stores

• Web Services, Remote Database Calls

• Utilizes Windows Identity Framework• Can use .NET 3.5 / 4.0

• PowerShell configuration to implement• Requires Trusted Certificate for Communication• Custom Components in SharePoint will needed• Welcome Control, Login Control etc.

Page 19: SharePoint Authentication And Authorization SPTechCon San Francisco

Authentication - Azure Control Service

• Microsoft ADFS Type Cloud Based Service• Central Point for offloading Authentication• Supports SAML 1.1 / SAML 2.0• Support

• Facebook• Google• Windows Live ID• Yahoo• Custom IDP• Integrate with Custom Identity Provider

• Open ID type authentication

• Support for 3rd Party Integration• Claim Mapping through configuration

Page 20: SharePoint Authentication And Authorization SPTechCon San Francisco

DEMOCreate Identity Provider

Page 21: SharePoint Authentication And Authorization SPTechCon San Francisco

Authentication – Identity Provider

• Deployment into separate Web Site• https://sts.domain.com

• Use SSL for all communication• Ensure SharePoint 2010 trusts the certificate being used by

the Provider• Methods of override:• Authenticate User• GetClaimTypeForRole• GetOutputClaimsIdentity

• Create User Class – methods to get values from backend into claims

• Create Claim Types class• Create custom login methods and validation

Page 22: SharePoint Authentication And Authorization SPTechCon San Francisco

Authorization

• SharePoint does this after Authentication• Is user member of group?• Is user account added to ACL of object?• Does user have required attribute?

• SharePoint only understands what it is told• e.g. Just because user logged in at? Does not authorize

• Best Approach to Authorize• Active Directory Groups• Roles from Membership and Role Provider• Claims associated to user

• Don’t just add users to groups or individually – can cause issues

• SharePoint default “DENY”

Page 23: SharePoint Authentication And Authorization SPTechCon San Francisco

SharePoint AuthorizationAnonymous

Authentication

Is In Site Group?

Does user have claim attribute?

Web Application / Site Collection

Secured Site / Site Collection / Content

Content Repository

Content

Page 24: SharePoint Authentication And Authorization SPTechCon San Francisco

Expect the Unexpected

Page 25: SharePoint Authentication And Authorization SPTechCon San Francisco

Security – Real World

• Expect the unexpected• People will find a way to circumvent your security• Give users minimal permission• Starting with Less is good• Add functionality through permission as needed

• Be prepared to secure at all levels• Web Application• Site Collection• Site• List or Library• Item

• Use roles from Provider• Active Directory Groups• Membership and Role Provider Roles• Claims

Page 26: SharePoint Authentication And Authorization SPTechCon San Francisco

Thank You• Personal Email: [email protected]• Work: http://www.susqtech.com • Twitter: @helloitsliam • Blog: www.helloitsliam.com