Você está na página 1de 32

SQL 2005 Protegendo o SQL Server

Guilherme de Azevedo
Product Expert
MCSD, MCAD, MCT

Microsoft Brasil v-guilaz@microsoft.com

Web Cast Series


SQL Server 2005

Configurando Alta Concorrncia Ferramentas Administrativas Ferramentas de Monitorao Gerenciando Bases de Dados de Grande Porte Usando Particionamento Melhorias em indexao Minimizando Downtime Migrando a partir do SQL Server 2000 Movendo Dados Entre Diferentes Fontes de Dados Protegendo o SQL Server Protegendo Dados Crticos

SQL Server 2005 - Security Model


Mecanismos de Segurana
Autenticao
Usurio & senha Certificados

Autorizao
Permisses

Criptografia
Chave simtrica Chave assimtrica

SQL Server 2005 - Security Model


Componentes de segurana

Identidade Windows
Groups Domain account Local account

Permisses Grant/Revoke/Deny
Create Alter Drop Control Connect Select Execute Update Delete Insert

Assegurveis Server Scope


Logins Endpoints Databases

SQL Server
SQL account Server role

Database Scope
Users Assemblies Schemas

Database
User Database role Application role Group

Schema Scope
Tables Procedures Views

SQL Server 2005 - Security Model


Processo para Acesso Seguro
Network connection request/pre-login handshake

Conexo ao SQL Server


Autenticao do usurio (Login)

Estabelecer as credencias de login


Switch para o banco especificado / Autorizao para acesso

Estabelecer o contexto do banco de dados


Executar comando

Verificar as permisses para acesso aos objetos

Autenticao e Policy
EndPoints do SQL Server 2005
Ponto de entrada no SQL Server Configurao para mltiplos transportes
Hypertext Transport Protocol (HTTP) Shared Memory (SM) Named Pipes (NP) Transmission Control Protocol (TCP) Virtual Interface Adapter (VIA)

Autenticao e Policy
Configurando o Endpoints
Para todos os transportes diferentes de HTTP
Endpoint default criado para todos os protocolos habilitados durante o start-up Permisses de conexo so atribudas durante o login Permisses podem ser configuradas por EndPoint
{GRANT|DENY|REVOKE} CONNECT ON ENDPOINT:: <EndPointName> TO <login>

Autenticao e Policy
HTTP Endpoints
Beneficiado pelo suporte nativo a HTTP HTTP Endpoints
Deve ser criado explicitamente No possui permisses atribudas por default

Requer o Windows Server 2003 (HTTP.sys) mas no necessrio o IIS ( Internet Information Server)

Autenticao e Policy
Criando um HTTP Endpoint
CREATE ENDPOINT sql_AdventureWorks STATE = STARTED AS HTTP( PATH = '/sql/AdventureWorks', AUTHENTICATION = (INTEGRATED), PORTS = (CLEAR)) FOR SOAP ( WEBMETHOD 'GetProducts' (name='AdventureWorks.dbo.GetProducts', schema=STANDARD), WSDL = DEFAULT, BATCHES = ENABLED, DATABASE = 'AdventureWorks', NAMESPACE = 'http://AdventureWorks/' )

Autenticao e Policy
Password Policy no SQL Server 2005
Exige Windows Server 2003 Windows Authentication
Logins de usurios do Windows Refora a Poltica para senha do domnio

SQL Server Authentication


Logins do SQL Server Refora a partir da poltica para senhas da mquina local

Autenticao e Policy
Criando Logins

Demonstrao

Agrupamento por Schema


Estende a funcionalidade de outras verses Namespace para objetos do banco de dados
Objetos agrupados no dependem do ownership Permisses so concedidas para o Schema como tambm para os objetos individualmente Permisses concedidas diretamente no Schema afetam todos os objetos relacionados

Utilizando Agrupamento por Schema


Schema Default
O Schema default pode ser atribudo quando o banco de dados criado

CREATE USER user_name [ FOR {LOGIN login_name | CERTIFICATE cert_name | ASYMMETRIC KEY asym_key_name } ] [ WITH DEFAULT_SCHEMA = schema_name ]

Utilizando Agrupamento por Schema


Gerenciando Schemas
CREATE SCHEMA
Utilizado para criar o Schema Atribui o ownership do Schema Criao dos objetos do banco de dados como membros do Schema

ALTER SCHEMA
Utilizado para mudar o ownership Move objetos do banco de dados entre Schemas

DROP SCHEMA
Remover o Schema

Utilizando Agrupamento por Schema


Object Namespace

Sales

Customer LON-SQL-01 AdventureWorks

LON-SQL-01.AdventureWorks.Sales.Customer

Utilizando Agrupamento por Schema


Acessando os Objetos do Banco
Sales
SELECT * FROM Customer

SELECT * FROM JobCandidate

Customer dbo

SELECT * FROM dbo.JobCandidate

ALTER USER Peter WITH DEFAULT_SCHEMA = Sales

JobCandidate

Utilizando Agrupamento por Schema


Compatibilidade com as verses anteriores
Owned by Celia
SELECT CustomerID FROM Celia.Customer

App

Customer

Change owner to Caitlin


SELECT CustomerID FROM Celia.Customer

App

Customer

Utilizando Agrupamento por Schema


Compatibilidade com as verses anteriores
Owned by Celia Sales

App

SELECT CustomerID FROM Sales.Customer

Customer Change owner to Caitlin Sales

App

SELECT CustomerID FROM Sales.Customer

Customer

Demonstrao

Module Execution Context


Introduo
Configurao do contexto de execuo do mdulo O caller no requer permisses EXECUTE AS
Caller (Default) Username Self Owner

Module Execution Context


Modelo de execuo
DENY SELECT ON sales.customer TO Bill GRANT SELECT ON sales.customer TO Jane

Bill

CREATE PROCEDURE GetCusts WITH EXECUTE AS OWNER AS SELECT * FROM sales.customer Stored Procedure (Owner: Jane)

Jane

Demonstrao

Permisses Granulares
Introduo
Assegurveis so organizados em hierarquias
Herana de permisses

Todos os objetos possuem permisses associadas Principio do privilgio mnimo

Permisses Granulares
Permisses por Escopo
Servidor
Permisses devem ser atribudas ao banco de dados master Permisses especficas para cada objeto assegurado

Banco de dados
Podem ser atribudas permisses especficas para cada papel Permite que usurios executem tarefas no banco de dados As permisses devem ser atribudas na base de dados que contem o objeto assegurado a qual as permisses se aplicam

Schema
Utilizado para agrupar objetos do banco de dados Atribuir permisses ao schema afetam todos os seus objetos

Permisses Granulares
Escopo: Servidor

GRANT CONTROL ON LOGIN::Tom TO Fred

Control permission on individual login

Permisses concedidas ao servidor

Permisses Granulares
Escopo: Banco de dados
Sales.AddOrder

Sales

Accounts
Accounts.AddAcct GRANT EXECUTE TO Jim

HR

Permisses herdadas a partir do Banco de dados

HR.ViewEmps

Permisses Granulares
Escopo: Schema
sales.customers

Sales
sales.accounts

GRANT SELECT ON SCHEMA::Sales TO Mary

sales.figures

Permisses herdadas a partir do Schema

Permisses Granulares
Objetos individuais
sales.customers

sales.accounts

Sales.accounts

GRANT SELECT ON sales.accounts TO Joe

sales.figures

Permisses somente para os objetos especficos

Microsoft Learning
Treinamentos Oficiais sobre SQL Server
Curso 2733 Ttulo Updating Your Database Administration Skills to Microsoft SQL Server 2005 Updating Your Database Development Skills to Microsoft SQL Server 2005
Maiores detalhes visite:

Disponvel Agora

2734

Agora

www.microsoft.com/learning

Mais Recursos
Eventos Microsoft http://msevents.microsoft.com/cui/default.aspx?culture=pt-br WebCasts

www.microsoft.com/events/series/technetsqlserver2005.mspx
www.microsoft.com/sql/community/webcasts.asp Laboratrio Virtual http://msdn.microsoft.com/vstudio/tryit/hosted/sql SQL Server 2005 Home Page http://www.microsoft.com/brasil/sql/2005

SQL Server 2005 White Papers em Portugus

http://www.microsoft.com/brasil/sql/2005/techinfo/default.mspx