Você está na página 1de 18

UNIDADE I -

ASPECTOS GERAIS DE SEGURANÇA

Prof. Maria Teresa Marino


Bacharelado em Sistemas de Informação
Faculdades Integradas Campo-Grandenses

Maria Teresa Marino 1


SEGURANÇA DE BANCO DE DADOS

• SEGURANÇA DE SISTEMA - cobre o acesso e


uso do BD no nível sistema
– nome e senha do usuário
– espaço em disco alocado aos usuários
– operações do sistema permitidas pelo usuário
• SEGURANÇA DE DADOS - cobre o acesso e o
uso dos objetos de BD e as ações que esses
usuários possam ter sobre os objetos

Maria Teresa Marino 2


SEGURANÇA - controlando o acesso

• Controlar o acesso ao BD
• Conceder acesso a objetos específicos no BD
• Confirmar privilégios privilégios concedidos e
recebidos

Maria Teresa Marino 3


PRIVILÉGIOS

• Constituem o direito de executar instruções DQL


particulares;
• DBA é um usuário de alto nível que pode
conceder aos usuários acesso ao BD e seus objetos
• PRIVILÉGIOS DE SISTEMA - obter acesso ao
BD
• PRIVILÉGIOS DE OBJETO - manipular o
conteúdo dos objetos (tabelas, views, etc.) de BD

Maria Teresa Marino 4


PRIVILÉGIOS DE SISTEMA - DBA

• Privilégios de sistema de alto nível


– criar novos usuários
– remover usuários
– remover tabelas
– fazer backup de tabelas

Maria Teresa Marino 5


PRIVILÉGIOS DE SISTEMA - concessão
(postgresql)

• GRANT CREATE ON nome_banco TO


nome_usuário/grupo [WIRH GRANT OPTION]
• CREATE USER nome_usuario WITH
CREATEUSER

Maria Teresa Marino 6


GERENCIANDO USUÁRIOS (postgresql)
• CRIANDO USUÁRIOS
– CREATE USER nome_usuario [ENCRYPTED/UNENCRYPTED]
PASSWORD ‘senha’ [{atributos}]

– ATRIBUTOS - definem os privilégios e a interação do usuário com o


sistema de autenticação de clientes
SUPERUSER
CREATEDB/NOCREATEDB
CREATEUSER/NOCREATEUSER
– EXEMPLO:
create user teresa encrypted password 'tete' superuser createdb

Maria Teresa Marino 7


GERENCIANDO USUÁRIOS (postgresql)

• ALTERANDO USUÁRIOS
– ALTER USER nome_usuario [ENCRYPTED/UNENCRYPTED]
PASSWORD ‘senha’ [{atributos}]
atributos: SUPERUSER
CREATEDB/NOCREATEDB
CREATEUSER/NOCREATEUSER
– EXEMPLO:
alter user teresa encrypted password 'tete' superuser nocreatedb

Maria Teresa Marino 8


GERENCIANDO USUÁRIOS (postgresql)

• REMOVENDO USUÁRIOS
– DROP USER nome_usuario
drop user teresa

Maria Teresa Marino 9


GERENCIANDO GRUPOS (papel/função)

• agrupamento lógico de usuários para facilitar o gerenciamento


(concessão e revogação) de privilégios
• um usuário pode ter acesso à varias funções e vários usuários
podem ter a mesma função
• CRIANDO GRUPOS (postgresql)
– CREATE ROLE nome_usuario [ENCRYPTED/UNENCRYPTED]
PASSWORD ‘senha’ [{atributos}]
EXEMPLO:

create role gerentes encrypted password 'tete' superuser createdb

Maria Teresa Marino 10


GERENCIANDO GRUPOS (postgresql)

• CRIANDO GRUPOS (PAPÉIS)


– CREATE GROUP nome_grupo [WITH USER (lista_usuario}]
• ADICIONANDO/REMOVENDO USUÁRIOS
– ALTER GROUP nome_grupo ADD USER nome_usuario
– ALTER GROUP nome_grupo DROP USER nome_usuario
• REMOVENDO GRUPO
– DROP nome_grupo
– somente o grupo é removido, permanecendo os usuários

Maria Teresa Marino 11


PRIVILÉGIOS DE OBJETO

• Direito de desempenhar uma determinada ação


em uma tabela, view, procedimento, etc.
• os privilégios de objeto variam de objeto para
objeto
• Um proprietário tem todos os privilégios sobre
o objeto
• Um proprietário pode fornecer privilégios
específicos sobre o objeto

Maria Teresa Marino 12


CONCESSÃO DE PRIVILÉGIOS
(postgresql)
• GRANT - permite a concessão de permissões específicas nos
objetos (tabela, visão, etc.) para um ou mais usuários ou para
grupos de usuários

GRANT {{ SELECT | INSERT | UPDATE | DELETE } | ALL


[PRIVILEGES]}
ON [TAB LE ] nome do objeto
TO {nome_usuario | GROUP nome_grupo | PUBLIC}

• PUBLIC - concede privilégios para todos os usuários. PUBLIC pode ser


considerado como um grupo

Maria Teresa Marino 13


CONCESSÃO DE PRIVILÉGIOS
(postgresql)
• SELECT - permite consultar coluna da tabela ou visão
• INSERT - permite incluir novas linhas na tabela
especificada
• UPDATE - permite modificar os dados de qualquer
coluna da tabela especificada
• DELETE - permite excluir linhas da tabela
especificada
• RULE - permite criar regras para a tabela especificada

Maria Teresa Marino 14


CONCESSÃO DE PRIVILÉGIOS
(postgresql)
• REFERENCES - só é possível criar restrições de
chave estrangeira se existir o privilégio na tabela
com a chave referenciada
• ALL PRIVILEGES - concede todos os
privilégios de uma só vez

Maria Teresa Marino 15


REVOGANDO PRIVILÉGIOS
(postgresql)
• REVOKE - revogar a concessão de permissões
concedidas para um ou mais usuários,ou para grupos de
usuários

REVOKE {{ SELECT | INSERT | UPDATE | DELETE } |


ALL [PRIVILEGES]}
ON [TAB LE ] nome do objeto
FROM {nome_usuario | GROUP nome_grupo | PUBLIC}

Maria Teresa Marino 16


RESUMO

• CREATE USER - permite que o DBA crie um usuário


• GRANT - permite que um usuário conceda a outros
usuários privilégios para acessar os seus objetos
• CREATE ROLE - permite que o DBA cria um
conjunto (papéis) de privilégios
• REVOKE - remove os privilégios sobre um objeto

Maria Teresa Marino 17


REFERENCIAS

• MANUAAL ORACLE
• MANUAL POSTGRESQL

Maria Teresa Marino 18

Você também pode gostar