Usuário de SGBD Álvaro Vinícius de Souza Coêlho [email protected] O que é um usuário de SGBD • “Pessoa” que acessa o Sistema Gerenciador de Banco de Dados • Tem atributos – Identificação (nome) – Senha – Banco de Dados – Podem haver muitos sob a guarda de um mesmo SGBD O que é um usuário de SGBD • Exemplo • Um usuário: Degas – Identificação - Degas – Senha – Degas123 – Banco de Dados – ContAcad, RecHum Ser usuário de um SGBD • Um usuário de SGBD pode – Incluir, excluir, alterar, consultar dados – Criar, Destruir, Modificar objetos do banco de dados – Modificar os parâmetros de funcionamento do SGBD – Administração • Cada uma destas prerrogativas pode estar garantida ou revogada a um usuário Ser usuário de um SGBD • Degas pode – Incluir na tabela a, excluir na tabela b – Modificar tabelas em ContAcad – mas não pode criar nenhuma – Não pode Modificar os parâmetros de funcionamento do SGBD – Pode criar usuários Ser usuário de um SGBD • Como se inicia um SGBD • Logo após sua instalação, o SGBD cria um usuário inicial que é o administrador do Banco. – Por padrão é identificado por Sys e System. – Muitos SGBDs mudam isso (Admin, Administrator, etc.) Ser usuário de um SGBD • O usuário System (ou outro qualquer, a depender do caso) tem privilégios totais no SGBD. • A senha inicial é dada pelo fabricante, mas pode ser modificada – Em SQL: Alter User NomeUsuário identified by NovaSenha – Alter user Degas identified by alvaro123 • Para mudar uma senha é necessário ter permissão Ser usuário de um SGBD • A partir de System, pode-se criar outros usuários – Em SQL: Create User NomeUsuário identified by Senha – Create user Degas identified by degas123 • E dar-lhe permissões – entre as quais as de administrar o banco – Em SQL: Grant permissão (DBA) to NomeUsuário [with grant option] – Grant Connect to Degas Ser usuário de um SGBD • With Grant Option habilita o usuário a “Transferir” suas permissões a outro • Ou permissões de acesso a dados: – Grant [select, insert, update, delete] on NomeTabela to NomeUsuário – Grant insert, update on tb_funcionario to Degas • Da mesma forma, comandos DDL podem ou não ser executados por um usuário a partir de permissões: – Grant Create Table to NomeUsuário Ser usuário de um SGBD • As permissões de um usuário podem ser revogadas a qualquer tempo: – Revoke permissão from NomeUsuário – Revoke insert on tb_funcionario from Degas • E pode ser excluído do esquema do banco: – Drop User NomeUsuário Ser usuário de um SGBD • Um usuário é “dono” de todos os objetos que cria no SGBD – Exceto os de uso na administração (Usuários, Tablespaces, Bancos de Dados, etc.) • Caso de exclusão de usuário do esquema do banco, todos os objetos que ele é “dono” são destruídos – Muitos SGBDs proíbem a exclusão de usuários que possuem objetos Grupos, ou Regras • Em muitos casos, um conjunto qualquer de usuários pode necessitar de um conjunto comum de permissões – Pessoas de um mesmo setor, usuários que apenas fazem consulta, etc. • Ao se modificar as permissões desses usuários, é difícil administrar • Ao incluir um usuário num conjunto desses, muitos comandos de acesso precisam ser dados Grupos, ou Regras • Para incluir um usuário num grupo, deve-se garantir o privilégio a ele com o comando grant – Grant Grupo to NomeUsuário – Grant desenvolvedores to Degas • Revoga-se o privilégio da mesma forma – Revoke Grupo from NomeUsuário – Revoke desenvolvedores from Degas Grupos, ou Regras • Os grupos de usuários congregam um conjunto de usuários com permissões em comum – Incluir uma permissão ao grupo faz isso a todos os usuários – Excluir uma permissão, analogamente – Incluir um usuário num grupo dá a ele todas as permissões do grupo Grupos, ou Regras • Grant alter table to desenvolvedores • Grant select, insert, delete, update on tb_funcionarios to desenvolvedores • Grant insert on tb_rubrica to desenvolvedores • Revoke update on tb_faixa_salario to desenvolvedores Grupos, ou Regras • Em alguns SGBDs os grupos são chamados de Regras (Rules) • Usuários que são membros de mais de um grupo acumulam as permissões • As permissões são sobrepostas hierarquicamente Usuário de Banco de Dados. FIM! “Dizes-me com quem andas e eu te direi se vou contigo” Barão de Itararé Escher