SharePoint Apps for the IT Pro

50
Thomas Vochten SharePoint Apps for the IT Pro #spsnl 2014

description

SharePoint Saturday Netherlands 2014

Transcript of SharePoint Apps for the IT Pro

Page 1: SharePoint Apps for the IT Pro

Thomas Vochten

SharePoint Apps for the IT Pro #spsnl 2014

Page 2: SharePoint Apps for the IT Pro

ABOUT ME

Thomas Vochten SharePoint MVP. Platform architect. Speaker. Trainer. Involuntary DBA. Consultant at Xylos. V-TSP at Microsoft.

@thomasvochtenhttp://thomasvochten.com

Page 3: SharePoint Apps for the IT Pro

AGENDA

• Introduction to Apps• Preparing the infrastructure• Apps Management• Apps Security

Page 4: SharePoint Apps for the IT Pro

INTRODUCTION TO APPS

Page 5: SharePoint Apps for the IT Pro
Page 6: SharePoint Apps for the IT Pro

THE PROBLEM WITH FULL TRUST CODE (FTC)• Performance• Maintenance• Security• Upgrades• Supportability• …

Page 7: SharePoint Apps for the IT Pro

PREVIOUS ATTEMPTS TO FIX THE PROBLEM

Custom code in Sandboxed Solutions is deprecated with SharePoint 2013

Page 8: SharePoint Apps for the IT Pro

MORE FRUSTRATIONS

SharePoint developers felt, well… a bit left behind

Page 9: SharePoint Apps for the IT Pro

WELCOME TO THE CLOUD APP MODEL (CAM)• Apps don’t run on the SharePoint server• Can still interact with SharePoint• On-Premises and in the cloud• Free choice of tools, languages & platforms

Page 10: SharePoint Apps for the IT Pro

EVERYTHING IS AN APP

Page 11: SharePoint Apps for the IT Pro

THE NEW MICROSOFT ?

http://officespdev.uservoice.com/

https://officeams.codeplex.com/

Page 12: SharePoint Apps for the IT Pro

TYPES OF APPS

Page 13: SharePoint Apps for the IT Pro

SHAREPOINT HOSTED APPS

• Run in the browser• Use client side technologies only• Relatively easy• Can interact with the host web• Use an app web with a funky URL• On-Premises and in the cloud• AuthZ with user privileges

Page 14: SharePoint Apps for the IT Pro

PROVIDER HOSTED APPS

• Bring your own hosting• Use any language or platform• Greater flexibility• Greater responsibility• Can interact with the host web

Page 15: SharePoint Apps for the IT Pro

PROVIDER HOSTED APPS

Page 16: SharePoint Apps for the IT Pro

AUTO HOSTED APPS

• Web & Azure components are provisioned automatically• Can interact with the host web• Automagically provisioned provider-hosted apps

Page 17: SharePoint Apps for the IT Pro

APPS POSITIONING

Page 18: SharePoint Apps for the IT Pro

APPS USER EXPERIENCE

Page 19: SharePoint Apps for the IT Pro

SHAREPOINT STORE

Page 20: SharePoint Apps for the IT Pro

WHO DO YOU TRUST ?

Page 21: SharePoint Apps for the IT Pro

APP PROVISIONING

• Timer job kicks in• App web is provisioned• Permissions are configured

Page 22: SharePoint Apps for the IT Pro

FULL PAGE

Mimics SharePoint look and feel

Page 23: SharePoint Apps for the IT Pro

APPS UI COMPONENTS

Ribbon extensions

App Parts

Page 24: SharePoint Apps for the IT Pro

PREPARING THE INFRASTRUCTURE

Page 25: SharePoint Apps for the IT Pro

DEMO ENVIRONMENT

• Single farm• Single content application pool• Single services application pool• Single content web application• Host named site collections• No host headers• SSL Everywhere

Page 26: SharePoint Apps for the IT Pro

“Host-named site collections are the preferred method to deploy sites in

SharePoint 2013”

From: TechNet

Page 27: SharePoint Apps for the IT Pro

DEMO

Exploring the demo environment

Page 28: SharePoint Apps for the IT Pro

DNS PREREQUISITES

• Choose your app domain• Request a wildcard or SAN certificate• Configure DNS with a wildcard record• Setup SharePoint & IIS to accommodate requests for your app domain

Page 29: SharePoint Apps for the IT Pro

CHOOSE AN APP DOMAIN

• Unique domain• No subdomains please• You need one…per farm!

Page 30: SharePoint Apps for the IT Pro

CERTIFICATES

Wildcard Certificate*.contoso.com

Wildcard Certificate*.contosoapps.com

SAN Certificate*.contoso.com

*.contosoapps.com

Multiple web applicationsIIS Host headersRouting web application for apps

Single web applicationHost named site collectionsNo IIS host headers

Page 31: SharePoint Apps for the IT Pro

ROUTING WEB APPLICATION

https://app-bdf2016ea7dacb.contosoapps.com/...

DNS Lookupapp-bdf2016ea7dacb.contosoapps.com

Web AppHost header: intranet.contoso.com

Web AppHost header: teams.contoso.com

Default WebsiteNo host header

Default WebsiteNo host header

Routing Web AppNo host header

Certificate

Certificate

WC Certificate

Page 32: SharePoint Apps for the IT Pro

ROUTING WEB APPLICATION

https://app-bdf2016ea7dacb.contosoapps.com/...

DNS Lookupapp-bdf2016ea7dacb.contosoapps.com

Web AppNo host header

SAN Certificate

Page 33: SharePoint Apps for the IT Pro

ROUTING WEB APPLICATION• When you need to use IIS host headers• Web application without a host header• Contains no site collections• Delete/disable the Default Website in IIS• Consider multiple IP addresses• Use the same application pool identity as your content application pool

Page 34: SharePoint Apps for the IT Pro

SHAREPOINT PREREQUISITESClaims based authentication only

Subscription Settings Service ApplicationGenerates & manages App ID’s

App Management Service ApplicationGeneral settingsApp licensing

Page 35: SharePoint Apps for the IT Pro

SHAREPOINT CONFIGURATION• Configure App domain• Configure App prefix• Configure App Catalog• Configure SharePoint Store settings

Page 36: SharePoint Apps for the IT Pro

CONSIDERATIONS

• You can use multiple zones for your app domain (needs March 2013 PU)

$contentService = [Microsoft.SharePoint.Administration.SPWebService]::ContentService$contentService.SupportMultipleAppDomains = $true $contentService.Update() iisreset

New-SPWebApplicationAppDomain -AppDomain <AppDomain> -WebApplication <WebApplicationID> -Zone <Zone> -Port <Port> -SecureSocketsLayer

• Use SSL… everywhere!

Page 37: SharePoint Apps for the IT Pro

DEMO

Configuring infrastructure for Apps

Page 38: SharePoint Apps for the IT Pro

SIMPLE, RIGHT?

• Your environment is now ready to host SharePoint Hosted Apps

• Office365 can use provider hosted apps without extra configuration

• Connecting on-premises farms to provider hosted apps requires additional configuration!

Page 39: SharePoint Apps for the IT Pro

APPS SECURITY

Page 40: SharePoint Apps for the IT Pro

SECURITY BASICS

• User principals vs App principals• Authentication vs Authorization

SharePoint 2013 can authenticate Apps!

Page 41: SharePoint Apps for the IT Pro

APP AUTHENTICATION

• Internal AuthenticationIt just works

• External Authentication using S2S Trusts

• External Authentication using OAuth

Page 42: SharePoint Apps for the IT Pro

AUTHENTICATION FLOWstart

authentication

does request target aCSOM/REST endpoint?

does request carrya claims token?

does request carryan access token?

yes

no

endauthentication

No Authentication(anonymous access)

no

App Authentication(app and user

identity)

User Authenticationdoes request targetURL of an app web?

does access token Carry user identity?

App OnlyAuthentication

yes no

yes yes

yes

no

no

Page 43: SharePoint Apps for the IT Pro

APP PERMISSIONS

• Granted by user approval• All or nothing• Default permissions (like app web control)

Page 44: SharePoint Apps for the IT Pro

LOW TRUST VS HIGH TRUST

• Low trust apps need ACS as trust broker (via Office365)

• High trust apps need Server To Server trust (no need for Office365)

Page 45: SharePoint Apps for the IT Pro

LOW TRUST VS HIGH TRUST

SharePoint Remote App Trust broker

On premises In cloud ACS, certificate

On premises On premises ACS, certificate

Office 365 In cloud ACS

Office 365 On premises ACS

You might need to open firewall ports towards ACS

Page 46: SharePoint Apps for the IT Pro

KERBEROS?

Sorry, something went wrong

Page 47: SharePoint Apps for the IT Pro

SAML AUTHENTICATION

Identity provider should support:

• Wildcard return URL• Wreply parameter

ADFS 2.0 does not, ADFS 3.0 does

Page 48: SharePoint Apps for the IT Pro

SUMMARY

• Apps are good for you• Don’t underestimate infrastructure impact• Understand the security model of apps• Strongly consider using host named site collections• Use SSL - Everywhere!

Page 49: SharePoint Apps for the IT Pro

QUESTIONS ?

Page 50: SharePoint Apps for the IT Pro

THANK YOU#spsnl @thomasvochten