fabian moritz - sharepoint 2013 security v2
DESCRIPTION
TRANSCRIPT
SharePoint SecurityDas Sicherheitssystem von SharePoint 2013
Fabian MoritzMVP SharePoint Server, ITaCS GmbH
SharePoint Security
Apps SicherheitAbsicherung
Authentifizierung
Authentifizierung
Identitäten
App Pool
Farm
System
Benutzer
Classic
Authentifizierungsarten
NT TokenWindows Identität
Claims
NT TokenWindows Identität
ASP.NET (FBA)LDAP,
Custom, etc.
SAML 1.1ADFS, Live ID,
etc.
SAML TokenClaims
Identität
SPUser
Nur noch via PowerShell
Authentifizierungsprozess
Windows
FBA
SAML
Authentication Page
1 Web App
STS
2
3
4
5
6
78
4
Identität vs. Claims
Identität
Claims
Herausgeber
Claims Terminologie
IdentitätInformationen zu einer Person / einem
Objekt (AD, Facebook, Microsoft ID etc.)
Claims
Token
STS
Attribute der Identität (Nutzername, E-Mail, Alter, Schuhgröße etc.)
Binäre Repräsentanz der IdentitätEnthält einen Satz an Claims
Secure Token ServiceHerausgeber von Nutzer-Token
SharePoint Claims Encoding
i:0#.w|itacs\fabian
Claim Identität
c = andere Identitäten
i:/c:
Reserviert für zukünftige Claim Typen
0
#/./?/S etc.
Claim Typ# = Logon,5 = e-mail,- = role+ = group% = farm! = identity provider
Herausgeberw = windows,s = local STSm = membershipr = rolet = trusted STSp = personalc = claim providerf = formsw/s/m/r/t/c/f
etc.
Claim Wert Bei Forms mit weiteren | für den Namen des Herausgebers
Login Name
Claims Encoding Beispiele
i:0#.w|contoso\fabianmWindows Accountcontoso\fabianm
c:0!.s|windowsAlle authentifizieten
Windows-Nutzer
c:0+.w|s-1-5-21… Windows-Sicherheitsgruppe
i:0#.f|membership|fmForm-based Membership
Provider
i:05.t|azure|[email protected] Location mit E-Mail als Login Namen
Identität ermitteln
• Der alte WegHttpContext.Current.Identity;
• Weiterhin möglichSPContext.Current.Web.CurrentUser;
• Der Claims WegIClaimsIdentity identity = (ClaimsIdentity)Thread .CurrentPrincipal.Identity;
SPWeb.EnsureUser
• Der alte Weg
• Der Weg mit Claims
SPUser theOldWay = SPContext.Current.Web.EnsureUser(@"contoso\fritzh");
SPClaimProviderManager claimProviderManager = SPClaimProviderManager.Local; if (claimProviderManager != null){
SPClaim claim = new SPClaim(SPClaimTypes.UserLogonName, "fritzh", "http://www.w3.org/2001/XMLSchema#string",SPOriginalIssuers.Format(SPOriginalIssuerType.Forms,
"ldapmember"));
string encodedClaimString = claimProviderManager.EncodeClaim(claim);
SPUser user = SPContext.Current.Web.EnsureUser(encodedClaimString);}
DemoFormular-basierte Authentifizierung
SharePoint Security
Apps SicherheitAbsicherung
Authentifizierung
Absicherung
Die Rolle der Site Collection
• Sicherheitsgrenze• Gruppendefinition• Höchste Ebene der Berechtigungsvererbung• Backup / Recovery• Papierkorb
Das Berechtigungsdreieck
Identität
Objekt
Recht
Berechtigungen Best Practices
AD / SP Gruppen sinnvoll einsetzen
Lockdown Feature anwenden
Single Item Permissions vermeiden (wenn möglich)
Freigeben ausblenden (oder passend schulen)
Code ggf. heraufstufen / impersonifizieren
DemoBerechtigungen Best Practices
Daten klassifizieren
Öffentlich Keine besonderen Schutzbestimmungen
Intern
Vertraulich
Absicherung über Berechtigungen
Verschlüsselung für erforderlich
Privat Sensible persönliche Daten
Daten verschlüsseln
SQL Verschlüsselung
Dateiverschlüsselung
Rights Management Services
Inhaltsdatenbanken
BitLocker & EFS
Auf Dokumentenebene
Richts Management Services
Autor
Active Directory
SQL Server
AD RMS
Dokumente, E-
Mails
Empfänger
PLPL
UL
ReadPrintModify
Rights Management Services
SharePoint WFE
Active Directory
SQL Server
AD RMS
Empfänger
PL
UL
RMS Key Features
SharePoint Online und On-Premise
Support für Office Web Applications
Gruppenschutz
PDF Support
DemoRights Management Services in SharePoint
SharePoint Security
Apps SicherheitAbsicherung
Authentifizierung
Apps Sicherheit
SharePoint 2013 Apps
Plattformen Dienste und DatenApps
Apps Store und Katalog
Urlaubs-antrag
EventManagement
Währungsrechner
Urlaubs-antrag
RisikoManagementHelp Desk
App Architektur
Plat
tfor
mApp
Client Code: HTML / CSS / JavaScript
Server Code: HTML, ASP.NET, PHP, etc.
SharePoint(Online oder On-Premises)
Ser
vice
s
On Premises
SharePoint & Exchange Server
On-Premise PlattformenIIS
WorkflowSQL
Cloud
Office 365
Azure RuntimeAzure WebsitesAzure Workflows
SQL Azure
REST, OAuth, OData, Remote Events
3rd Party DiensteBing, SalesForce, SAP, Twitter, Facebook
SharePoint
SharePoint
App Web
Cloud App
SharePoint
Apps Authentifizierung
SharePoint
Sandbox
OA
uth
10
Authentifizierungsprozess
1
Browser App
2 3
5
9
8
7
6
4
App-Berechtigungen
• App-Berechtigungen… sind anders als Nutzer-Berechtigungen gelten für sämtliche Nutzer haben keine Hierarchie
• Apps haben eine Standard-Berechtigung Limitierte Leserechte auf das Host Web Apps können weitere Rechte beantragen Der installierende Nutzer vergibt die Rechte
Rechte definieren
• Wird über das App-Manifest gesteuert
<AppPermissionRequests> <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="FullControl" /> <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="Read" /> <AppPermissionRequest Scope="http://sharepoint/search" Right="QueryAsUserIgnoreAppPrincipal" /> <AppPermissionRequest Scope="http://sharepoint/taxonomy" Right="Write" /> </AppPermissionRequests>
SharePoint Security
Apps SicherheitAbsicherung
Authentifizierung
Fabian MoritzITaCS GmbHMVP SharePoint Server
[email protected]://www.itacs.de
@FabianMoritz
http://sharepointcommunity.de/fabianm