Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

61
SharePoint Apps for the IT Pro Thomas Vochten

description

SharePoint Apps for the IT Pro slides. ITPROceed 2014 Session by Thomas Vochten

Transcript of Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Page 1: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

SharePoint Apps for the IT Pro

Thomas Vochten

Page 2: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten
Page 3: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

About Me

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

@thomasvochtenhttp://[email protected]

Page 4: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

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

Page 5: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

INTRODUCTION TO APPS

Page 6: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten
Page 7: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

The problem with Full Trust Code

• Performance• Maintenance• Security• Upgrades• Supportability• …

Page 8: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Previous attempt to fix the problem

Custom code in Sandboxed Solutions is deprecated with SharePoint 2013

Page 9: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

More Frustrations

SharePoint developers felt, well… a bit left behind

Page 10: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Welcome to the Cloud App Model

• 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 11: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

The new Microsoft?

http://officespdev.uservoice.com/

https://officeams.codeplex.com/

Page 12: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Everything is an App

Page 13: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

TYPES OF APPS

Page 14: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

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 15: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

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

Page 16: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Provider Hosted Apps

Page 17: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Auto Hosted Apps

• Web & Azure components are provisioned automatically

• Can interact with the host web• Automagically provisioned provider-

hosted apps

Page 18: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Apps Positioning

Page 19: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

APPS USER EXPERIENCE

Page 20: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

SharePoint Store

Page 21: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Who do you trust?

Page 22: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

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

Page 23: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Full Page• Mimics SharePoint look and feel

Page 24: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

UI ComponentsRibbon extensions App Parts

Page 25: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

PREPARE THE INFRASTRUCTURE

Page 26: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

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 27: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

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

sites in SharePoint 2013”

From: TechNet

Page 28: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

DEMO | EXPLORE

Page 29: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

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 30: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Choose an App Domain• Unique domain• No subdomains please• You need one…per farm!

Page 31: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Certificates

Wildcard Certificate*.contoso.com

Wildcard Certificate*.contosoapps.com

SAN Certificate*.contoso.com*.contosoapps.com

Multiple web applicationsIIS Host headers

Routing web application for apps

Single web applicationHost named site collections

No IIS host headers

Page 32: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Routing Web Applicationhttps://app-bdf2016ea7dacb.contosoapps.com/...

DNS Lookupapp-bdf2016ea7dacb.contosoapps.com

Web AppHost header: intranet.contoso.com

Web AppHost header: teams.contoso.com

Default WebsiteNo host headerDefault WebsiteNo host header

Routing Web AppNo host header

Certificate

Certificate

WC Certificate

Page 33: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

No Routing Web Applicationhttps://app-bdf2016ea7dacb.contosoapps.com/...

DNS Lookupapp-bdf2016ea7dacb.contosoapps.com

Web AppNo host header

SAN Certificate

Page 34: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

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 35: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

SharePoint Prerequisites• Claims based authentication only

• Subscription Settings Service ApplicationGenerates & manages App ID’s

• App Management Service ApplicationGeneral settingsApp licensing

Page 36: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

SharePoint Configuration• Provision service applications• Configure App domain• Configure App prefix• Configure App Catalog• Configure SharePoint Store settings

Page 37: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

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()

New-SPWebApplicationAppDomain -AppDomain <AppDomain> -WebApplication

<WebApplicationID> -Zone <Zone> -Port <Port> -SecureSocketsLayer

• Use SSL… everywhere!

Page 38: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

DEMO | CONFIGURE

Page 39: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

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 40: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

APPS SECURITY

Page 41: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Security Basics• User principals vs App principals• Authentication vs Authorization

SharePoint 2013 can authenticate Apps!

Page 42: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

App Identity using OAuth• Client Id of the app• Display name of the app• App domain where the remote app is

hosted

Page 43: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

App Authentication• Internal Authentication

It just works

• External Authentication using S2S Trusts

• External Authentication using OAuth

Page 44: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

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 45: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

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

Page 46: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

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 47: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

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 48: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Kerberos?

Page 49: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

SAML Authentication• Identity provider should support:

Wildcard return URLWreply parameter

• Supported by latest ADFS version

Page 50: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

APPS MANAGEMENT

Page 51: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

The G-Word

Page 52: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

App Management• Timer Job:

App Installation Service

• Cmdlets:Import-SPAppPackageInstall-SPAppUninstall-SPAppInstance

Page 53: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Licensing• Timer Job:

License renewal

• Powershell for DR:$appProxy = Get-SPServiceApplicationProxy “AppManagementProxyId”$appProxy.GetDeploymentID()Set-SPAppManagementDeploymentID

Page 54: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Upgrade Apps• Site collection admin needs to upgrade apps• SharePoint manages notification state

• Timer Jobs:App State UpdateInternal App State Update

• Cmdlets:Get-SPAppStateUpdateIntervalGet-SPAppStateSyncLastRunTimeSet-SPAppStateUpdateIntervalUpdate-SPAppInstance

Page 55: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Backup/Restore• Site exports do not include app assets:

Export-SPWeb and Import-SPWeb

• Site backup and restore:Backup-SPSite and Restore-SPSite

• App exports:Export-SPAppPackage

Page 56: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

DEMO | MANAGE

Page 57: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

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 58: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

QUESTIONS ?@thomasvochten #itproceed

Page 59: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

And take home the Lumia 1320

Present your feedback form when you exit the last session & go for the drink

Give Me Feedback

Page 60: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Follow Technet Belgium@technetbelux

Subscribe to the TechNet newsletteraka.ms/benews

Be the first to know

Page 61: Office Track: SharePoint Apps for the IT Pro - Thomas Vochten

Belgiums’ biggest IT PRO Conference