2.2 - Controle de acesso baseado em papéis
Imagine a seguinte situação: um determinado sistema possui 1000 usuários, destes, 2 são administradores, 10 são gerentes e os demais são usuários comuns que só fazem consultas. Para o DBA, garantir que cada usuário possua sua respectiva configuração de segurança correta pode ser bastante complexo. Há uma grande chance de que um entre os novecentos e poucos usuários comuns possua uma diferença de acesso.
Dessa forma, ao invés de um DBA dar concessões de acessos à usuários, ele passa a dar concessões de acesso a papéis. Por exemplo, ele define quais permissões o papel “Administrador de sistema” pode ter, depois ele define quais permissões o papel “Usuário comum” pode ter e assim sucessivamente. Configurados os papéis, o segundo passo é relacionar quais papéis um determinado usuário pode assumir. E, nesse ponto, o SGBD é bastante flexível, um usuário pode receber vários papéis diferentes.
O João, por exemplo, pode ser o administrador de um sistema, o gerente do sistema e um usuário comum do sistema.
Para a SQL, um papel é definido pelo objeto ROLE. Um papel é criado com o comando CREATE ROLE e é excluído com o comando DESTROY ROLE. Depois que um papel é criado, o método de atribuir e revogar permissões é exatamente o mesmo utilizado para usuários.
|
Com a criação de papéis, fica muito mais fácil para o DBA criar usuários e atribuir segurança a eles.
|