daniel paulo [email protected]. login e usuário login – é um objeto que tem a finalidade...
TRANSCRIPT
Daniel [email protected]
Login e Usuário
Login – é um objeto que tem a finalidade de acessar a instância do SQL
Usuário – Associado ao login é responsável pelo acesso no banco de dados
Principals e Securables
*Principals são objetos que podem receber permissões para acessar um outro objeto particular de um banco de dados.
Ex: Usuário, role ou aplicação.
Classes de Principals- Windows Principals: Contas de usuário ou grupos do
Windows autenticados usando autenticação do Windows
- SQL Server Principals: Contas de usuário ou grupos que se autenticam utilizando o SQL Server
- Database Principals: São usuários membros dos roles (usuários, grupos, roles e application roles)
Securables: São objetos para os quais as permissões podem ser dadas.
Server Scope: São os logins, HTTP endpoints, event notifications e databases.
- Estes objetos são controlados no nível do servidor
- Fora de qualquer banco de dados individual
Database Scope: São users, roles e CLR Assemblies, que existem em um banco de dados definido pelo usuário.
SchemaScope: São os objetos que estão em um Schema, como: tabelas, views e stored procedures.
Server Securables – Endpoint- Atribuídos no nível da Instance- Endpoints tem a finalidade de ser um meio de
conexão- São utilizados por aplicações e por conexões
remotas- Tipos: System, Database Mirroring, Service Broker e
SOAP
Server Securables – LOGINS- Utilizados para conexão com a INSTANCE- Pode estar associado a um usuário- Permissões:
- ALTER – alterar o LOGIN- CONTROL –Permissão total sobre o login (ALTER, CONTROL
e IMPERSONATE)- IMPERSONATE – executa ou acessa objeto como outro login
Server Securables – LOGINS- Utilizados para conexão com a INSTANCE- Pode estar associado a um usuário- Permissões:
- ALTER – alterar o LOGIN- CONTROL –Permissão total sobre o login (ALTER, CONTROL
e IMPERSONATE)- IMPERSONATE – executa ou acessa objeto como outro login
Criando LOGINS- Comando CREATE LOGIN - Modo Gráfico
Criando usuáriosCREATE USER {domínio\login} WITH DEFAULT_SCHEMA = {nome do
schema}ouCREATE USER {usuario} WITH DEFAULT_SCHEMA = {nome do
schema}
*Modo Gráfico
LOGINS DEFAULTSystem Administrator (SA): é o login especial que tem todos
os direitos no SQL Server. Esta conta somente é ativada quando for configurado no modo Mix Autentication
BUILTIN Administrator: é fornecido como o mapeamento default para os administradores do Windows. Possui todos os direitos sobre o SQL Server.
GUEST – Conta que deve ser eliminada
Gerenciando o Acesso aos Databases- Além do acesso ao SQL é necessário
registrar nos databases
Fixed Server Rolessysadmin: Os membros da função podem executar
qualquer atividade no servidordbcreator: Os membros da função podem criar, alterar,
descartar e restaurar qualquer banco de dadosdiskadmin: usada para gerenciar arquivos em disco.processadmin: Os membros podem encerrar os processos
em execução em uma instância do SQL Server
securityadmin: Os membros gerenciam os logins na INSTANCE.
serveradmin: Gerencia as configuração da INSTANCE.setupadmin: Os membros da função de servidor fixa
setupadmin podem adicionar e remover servidores vinculados.
bulkadmin: Os membros da função de servidor fixa bulkadmin podem executar a instrução BULK INSERT.
Fixed Database rolespublic: Mantém todas as permissões default,
inicialmente contém permissões de leitura em todas as tabelas do database
db_owner: Executa qualquer atividade no databasedb_accessadmin: Os membros podem adicionar ou
remover o acesso ao banco de dados para logons do Windows, grupos do Windows e logons do SQL Server.
db_securityadmin: Os membros podem modificar a associação de funções e gerenciar permissões. A adição de entidades nesta função pode habilitar o escalonamento não intencional de privilégios
db_ddladmin: Os membros podem executar qualquer comando Data Definition Language (DDL) em um banco de dados.
db_backupoperator: Os membros podem fazer backup do banco de dados.
db_datareader: Os membros podem ler todos os dados de todas as tabelas de usuário.
db_datawriter: Os membros podem adicionar, excluir ou alterar dados em todas as tabelas de usuário.
db_denydatareader: Os membros não podem ler nenhum dado nas tabelas de usuário de um banco de dados.
db_denydatawriter: Os membros não podem adicionar, modificar ou excluir nenhum dado nas tabelas de usuário de um banco de dados.
Adicionando usuários nos databases roles
- Enterprise Manager- sp_addRoleMember
Exec sp_addRoleMember role_user
User Defined database rolesRoles definidas pelo usuário- Enterprise Manager- sp_addRole
- Exec sp_addRole role_user- Uma linha é adicionada na sysusers do banco corrente
Grupos de permissões criados para aplicações
- Enterprise Manager- sp_addRole- Create application ROLE- SP_SETAPPROLE
Permissões- Os fixed server roles e os fixed database
roles já contêm permissões predeterminadas
- Caso não adicionarmos os usuários a estes roles, precisamos atribuir-lhes permissões
Tipos de permissão- Permissões predefinidas (determinadas pelas
roles)- Permissões de comando: Permissões para a
criação de objetos. Apenas membros sysadmin, db_owner, db_segurityadmin podem conceder permissões de comando
- Permissões de Objeto: Permissão atribuída para trabalho com dados e execução de procedures * Pode ser atribuída para colunas específicas * O Object Owner possui permissões implícitas que permite a execução de todas as atividades nos objetos que ele possui.
Atribuindo PermissõesGrant: Garante o direito de executar uma
determinada ação- Podemos conceder permissões apenas no database
corrente- Apenas membros sysadmin, db_owner,
db_segurityadmin podem conceder permissões de comando
DENY: Nega o direito de executar uma determinada ação
- Podemos negar permissões apenas no database corrente
- Apenas membros sysadmin, db_owner, db_segurityadmin podem negar permissões de comando
REVOKE: Revoga o direito ou a negação de executar uma determinada ação
- Desativa uma permissão- REVOKE desativa a permissão não impedindo que o usuário herde
a permissão de outra role- Podemos revogar permissões apenas no database corrente- Apenas membros sysadmin, db_owner, db_segurityadmin podem
revogar permissões de comando- Ao revogar uma permissão, removem-se as entradas na tabela
sys.sysprotects
SchemaUm Schema é o proprietário de um conjunto
de Objetos.
Benefícios da Separação User - Schema- Vários usuários podem possuir um único schema - Eliminar usuários de um database ficou mais simples- Eliminar um usuário de um database não requer a
renomeação dos objetos contidos no schema deste usuário
- Múltiplos usuários podem compartilhar um único schema
CredentialsUma credencial é um registro que contém as
informações de autenticação necessárias para conectar-se a um recurso fora do SQL Server. A maioria das credenciais inclui um usuário e uma senha do Windows.
Laboratório página: 408 à 425