course topics

26
Course Topics Administering SQL Server 2012 Jump Start 01 | Install and Configure SQL Server 04 | Manage Data 02 | Maintain Instances and Databases 05 | Implement Security 03 | Performance Optimization and Troubleshooting 06 | High Availability Options

Upload: lauren

Post on 24-Jan-2016

18 views

Category:

Documents


0 download

DESCRIPTION

Course Topics. 05 | Security Implementation. George Squillace | Senior Technical Trainer – New Horizons Great Lakes Richard Currey | Senior Technical Trainer – New Horizons United. Module 5 Overview. Server Logins and Server-level Roles Database Users and Database-level Roles - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Course Topics

Course Topics

Administering SQL Server 2012 Jump Start

01 | Install and Configure SQL Server

04 | Manage Data

02 | Maintain Instances and Databases

05 | Implement Security

03 | Performance Optimization and Troubleshooting

06 | High Availability Options

Page 2: Course Topics

Click to edit Master subtitle style

05 | Security ImplementationGeorge Squillace | Senior Technical Trainer – New Horizons Great LakesRichard Currey | Senior Technical Trainer – New Horizons United

Page 3: Course Topics

Module 5 Overview

• Server Logins and Server-level Roles

• Database Users and Database-level Roles

• Implementing Permissions

Page 4: Course Topics

Topic: Server Logins and Server-level Roles

Page 5: Course Topics

Topic: Server Logins and Server-level Roles• Security Scopes

• Authentication Modes

• Login Objects

• Server Roles and Server-level Permissions

Page 6: Course Topics

Security Scopes

• Server / instance– Database

• Schema– Object

• Scope-specific permissions exist

• Permission statements– GRANT– REVOKE– DENY

Page 7: Course Topics

Authentication Modes

• Two modes

• SQL logins are protected better by using password policies

• Set during installation and they can be changed later

• Switching requires a service restart

• Functionally only a registry key change

Page 8: Course Topics

Login Objects

• Purpose

• Derived from– Windows

• Domain• Machine local

– SQL logins

• Administration tools– SSMS– CREATE / ALTER / DROP LOGIN– Options

Page 9: Course Topics

Server Roles and Server-level Permissions

• Types of server-level roles– Fixed server roles– User-defined server roles

• Server-scoped permissions

• Administration tools– SSMS– sp_AddSrvRoleMember– CREATE / ALTER / DROP SERVER ROLE

Page 10: Course Topics

DEMOImplementing Server-level Security

Page 11: Course Topics

Topic: Database Users and Database-level Roles

Page 12: Course Topics

Topic: Database Users and Database-level Roles• Database Users

• Database-level Roles

• Application Roles

• Contained Databases

Page 13: Course Topics

Database Users

• Database users– Derived from logins

• Types of database-level roles– Fixed– User defined

• Application roles

• Database-scoped permissions

Page 14: Course Topics

Database-level Roles

• Types of database-level roles– Fixed– User defined

• Database-scoped permissions

• Administration tools– SSMS– CREATE / ALTER / DROP ROLE– sp_AddRoleMember

Page 15: Course Topics

Application Roles

• The purpose of an Application Role is toprotect against making connectionsto SQL Server outside of front-end application logic (using Excel or Access, for example)

• Instead an application calls an Application Rolethat the end-user is unaware of (and that is assigned database permissions)

• Administration tools– SSMS– CREATE / ALTER / DROP ROLE– sp_AddRoleMember– sp_SetAppRole and sp_UnSetAppRole

Page 16: Course Topics

DEMOImplementing Database-level Security

Page 17: Course Topics

Contained Databases

• A problem with moving and restoring databases is that they have dependencies on login and other objects

• A possible solution is a contained database

• Requires a server-level and database-level option– sp_Configure N’Contained Database Authentication’– ALTER DATABASE DBx Set Containment = Partial

• Applicable principals– Windows user– Windows group– SQL login

Page 18: Course Topics

DEMOCreating Users for a Specific Database (Contained Database)

Page 19: Course Topics

Topic: Implementing Permissions

Page 20: Course Topics

Topic: Implementing Permissions

• Object Permissions

• Code and Module Permissions

• Applying Permissions

• Permission Management Strategies

“Principals are assigned Permissions to Securables.”

Page 21: Course Topics

Object Permissions

• Applies to tables, views and table-valued user-defined functions

• Primary permissions– ALTER– CONTROL– SELECT, INSERT, UPDATE, DELETE– VIEW DEFINITION

Page 22: Course Topics

Code and Module Permissions

• Applies to scalar user-defined functions and stored procedures

• Primary permissions– ALTER– CONTROL– EXECUTE– VIEW DEFINITION

Page 23: Course Topics

Applying Permissions

• SSMS– Begin with a principal– Begin with a securable

• T-SQL statements– GRANT– REVOKE– DENY• Security model anomaly (prior to SQL Server 2012)

– Column-level GRANT override Table-level DENY

Page 24: Course Topics

Permission Management Strategies

• Various strategies– Aim for “double

abstraction”

• Leverage roles– Roles can be nested

• Leverage schemas

Page 25: Course Topics

DEMOImplementing a Permission Strategy by Assigning a Role Permission to a Schema

Page 26: Course Topics

©2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.