(Esse artigo faz parte da série Roles do SQL Server – Vida e Obra)
Bom dia!
Este post inicia o começo de uma série sobre as Server-roles: Roles no SQL Server.
Entendo que é um assunto importante tanto pra DBA’s (essencial aqui) quanto pra Desenvolvedores, que por vezes que precisam gerenciar o SQL Server por motivo ou outro.
1 – Básico sobre Segurança
Tem um artigo legal do Laurentiu que trata dos aspectos básicos de segurança no SQL Server. Em resumo:
- Existem dois escopos principais no SQL Server quando o assunto é segurança: Server (Instância) e Databases (Bancos de Dados);
- Logins são relacionados à Instância (Server) e Usuários, aos bancos de dados;
- Cada login é um principal. Principal é tudo aquilo que pode sofrer uma ação chamada permissionamento;
- Existem “principals” que possuem permissões já pré-definidas, embora você também possa criá-los. Tais principals são chamados de Role (Papel, função)
Mas…o que é uma role?
2- Roles: Analogia
Maria Queren é uma analista de sistemas pela manhã, trabalhando em uma multinacional. De tarde, ela vai para sua empresa, onde é dona, a fim de tomar decisões gerenciais. No final da tarde, vai para o curso de inglês, onde é aluna. De noite, vai pra casa, onde é esposa e mãe. Nos finais de semana, passa o tempo na casa dos pais.
Notou o que seriam “roles”? Observe a variedade de papéis que a Maria possui. Analistas de Sistema, proprietária de negócio, estudante, mãe, esposa, filha… Cada papel deste traz uma série de poderes e possui uma determinada atuação em determinado contexto (ambiente). Maria pode dar gerenciar pessoas em sua empresa, mas não na instituição onde tem curso de inglês.
3 – Voltando ao SQL Server
Então, o SQL Server possui também alguns papéis de servidor, tanto em contexto de servidor como em contexto de banco de dados. É importante associar o contexto de servidor aos logins (autenticação) do que usuários (estes estão no escopo de banco de dados). Cada papel possui uma série de privilégios, e garante ao principal associado X permissões. No caso em específico do assunto atual, que são roles de servidor, garante algumas permissões à nível de instância.
4- Mas o que são mesmo Server Roles?
Se dividem em duas categorias: Fixed Server Roles (Leia-se Funções fixas, pré-definidas) e as Custom Server Roles (referenciadas oficialmente como User Defined Server Roles, que é uma novidade trazida pelo SQL Server 2012). Vamos começar da raíz, conhecendo cada uma das roles fixas.
As nove Roles Fixas de Servidor, linkadas neste tópico, são:
5 – Mas porque falar sobre Server Roles em outros posts? “Faz um resumão aê”
Pode parecer simples resumir poucas linhas sobre cada role acima (como é comumente visto pela internet). Porém, algumas roles são extremamente peculiares, pois, possuem mais privilégios do que se comumente acredita que tenham e é difícil fixar isso sem teste. Algumas são irrelevantes no dia de hoje (em linhas gerais), outras fáceis de entender e outras bastante delicadas e que escondem um canhão (por exemplo, dbcreator) se mal utilizados.
Nas próximas postagens, vou seguir a ordem da lista acima e conversamos sobre as roles bulkadmin e dbcreator.
De antemão, caso tenha alguma pergunta ou queira dar uma sugestão sobre o assunto (e quiser fazer perguntas sobre as roles), não hesite em comentar ou entrar em contato. Todo e qualquer feedback é bem vindo, ok?
[]’s
Pingback: Roles do SQL Server – DBCREATOR | Radialog
Pingback: Vamos estudar SQL Server 2014? | Renato Siqueira
Republicou isso em Alex Souza.
Pingback: Permissionamento no SQL Server – Piloto | DBCC BLOG('SQL Server')