Professional Documents
Culture Documents
Aula 07
SEGURANA DE
BANCO DE DADOS
Integridade Referencial
Instrues Grant e Revoke
O SQL probe fazer a excluso de um objeto se esse objeto referenciado em outro
lugar no banco. Voc no pode excluir uma tabela se a tabela referenciada por um check,
constraint, trigger, stored procedure ou outro objeto.
2.2 A instruo GRANT
Use a instruo GRANT para garantir privilgios de acesso para um objeto de banco
de dados tal como tabela ou view.
Sintaxe:
GRANT lista_de_ privilgios ON [Tabela] TO usurios
Onde:
Lista_de_privilgios: pode ser todos os privilgios ALL [PRIVILEGES] ou alguns
separados por vrgula, como: SELECT, INSERT, UPDATE ou DELETE.
Usurios: pode ser PUBLIC (todos) ou os nomes dos usurios que deseja atribuir o
direito. Utiliza-se vrgula para separar o nome dos usurios que se deseja atribuir acesso.
Atravs dessa instruo fazemos concesses de acesso ao banco de dados, ou seja,
disponibilizamos o(s) direito(s) para que usurios possam ter os seguintes acessos:
SELECT => Extrair dados do banco.
UPDATE => Atualizar registros nas tabelas.
INSERT => Inserir registros nas tabelas.
DELETE => Excluir registros das tabelas.
REFERENCES => Denir chaves para relacionamento.
Antes de comearmos a criar usurio e denir acessos ao nosso banco de dados
importante ressaltar que aplicamos um GRANT para PUBLIC (usurios), estamos
disponibilizando os direitos at para usurios que vierem a ser cadastrados, portanto cuidado
ao usar PUBLIC.
No IBExpert a visualizao dos usurios se torna bem interativa onde temos mas
tabelas a visualizao dos GRANTS onde mostrado os usurios que tem direitos a esta
tabela bem como os privilgios de acesso deste usurio. Notem que tambm podemos
restringir o acesso as colunas da tabela. Sendo que no IBExpert basta somente clicar em cima
da instruo (Select, update, delete, insert, execute, reference, description) e colocar ou tirar
um privilgio de acesso.
63
Note que utilizando a clausula GRANT os usurio so criado e aparecem para todas
as outras tabelas, mas sem qualquer direito de acesso ou consulta.
64
O uso de roles no obrigatrio, mas pode ser muito til em ambientes com muitos
usurios e uma diversidade ampla de pers.
Para criar uma Role em seu banco de dados voc pode utilizar o IBExpert utilizando
o comando New Role a partir do menu de contexto do item Role:
Sintaxe SQL:
CREATE ROLE role_name
GRANT privilgios ON tabela TO role_name
GRANT role_name TO lista_usurios
Na utilizao do IBExpert a criao e manipulao destes privilgios e usurios
torna-se mais interativa.
66
ATIVIDADES
As atividades referentes a esta aula esto disponibilizadas na ferramenta
Atividades. Aps respond-las, envie-nas por meio do Portflio- ferramenta do
ambiente de aprendizagem UNIGRAN Virtual. Em caso de dvidas, utilize as ferramentas
apropriadas para se comunicar com o professor.
67