A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

15/1/20141 BANCO DE DADOS EM APLICATIVOS WEB Aula 15 Professor Leomir J. Borba- –http://professorleomir.wordpress.com.

Apresentações semelhantes


Apresentação em tema: "15/1/20141 BANCO DE DADOS EM APLICATIVOS WEB Aula 15 Professor Leomir J. Borba- –http://professorleomir.wordpress.com."— Transcrição da apresentação:

1 15/1/20141 BANCO DE DADOS EM APLICATIVOS WEB Aula 15 Professor Leomir J. Borba- –http://professorleomir.wordpress.com

2 15/1/20142 Professor Leomir J. Borba- –http://professorleomir.wordpress.com Agenda Gestão de usuário Exercícios Laboratório.

3 15/1/20143 Professor Leomir J. Borba- –http://professorleomir.wordpress.com Gestão de usuario Em todos bancos de dados para garantir a integridade de dados e segurança é necessario praticar a gestao de usuários. Gestão de usuário, significa, entre outras coisas, limitar/controlar acesso aos recursos do banco de dados. Controle de acesso se da através dos previlégios concedidos aos usuarios.

4 15/1/20144 Professor Leomir J. Borba- –http://professorleomir.wordpress.com Gestão de usuario Pode-se conceder previlegios diferentes por host de onde o usuario pode estabelecer conexão. É possivel determinar quais comandos podem ser executados por host, por exemplo localhost. O MySQL armazena as informações dos usuarios em 4 tabelas no banco de dados mysql. User Db Tables_priv Columns_priv

5 15/1/20145 Professor Leomir J. Borba- –http://professorleomir.wordpress.com Gestão de usuario Tabela user Armazena informações de todos usuário do banco e previlégios globais. Tabela DB Armazena os previlégios dos usuários especificos de um banco de dados Tabelas tables_priv e columns_priv armazenam os previlégios associados a tabelas e colunas Recomenda-se o acesso a essas tabelas somente ao administrador do banco de dados.

6 15/1/20146 Professor Leomir J. Borba- –http://professorleomir.wordpress.com Gestão de usuario Criação de usuário e privilégios Grant – Para usuários inexistentes força sua criação, Para usuários existentes adiciona privilégios aos já existentes. Sintaxe : GRANT priv [(colunas)] [, priv [(colunas)]]... ON {*.* | db.* | db.tabela} TO usuario [IDENTIFIED BY 'senha'] [, usuario [IDENTIFIED BY 'senha']]... [WITH [GRANT OPTION | MAX_QUERIES_PER_HOUR contador | MAX_UPDATES_PER_HOUR contador | MAX_CONNECTIONS_PER_HOUR contador]] ** [] indica comando opcional

7 15/1/20147 Professor Leomir J. Borba- –http://professorleomir.wordpress.com Gestão de usuario Lista de previlégios : PrivilégioDescrição ALL [PRIVILEGES]Todos os privilégios exceto GRANT OPTION ALTERPermite executar ALTER TABLE CREATEPermite executar CREATE TABLE CREATE TEMPORARY TABLES Permite executar CREATE TEMPORARY TABLE DELETEPermite executar DELETE DROPPermite executar DROP TABLE EXECUTEPermite executar stored procedures (MySQL 5.0) FILEPermite executar SELECT... INTO OUTFILE e LOAD DATA INFILE INDEXPermite executar CREATE INDEX e DROP INDEX INSERTPermite executar INSERT LOCK TABLESPermite executar LOCK TABLES em tabelas que você tenha o privilégio SELECT PROCESSPermite executar SHOW FULL PROCESSLIST

8 15/1/20148 Professor Leomir J. Borba- –http://professorleomir.wordpress.com Gestão de usuario Lista de previlégios - Continuação: PrivilégioDescrição RELOADPermite executar FLUSH REPLICATIO N CLIENT Permite ao usuário obter a localização do Master ou Slave REPLICATIO N SLAVE Necessário para a replicação Slave (leitura dos eventos do log binário do Master) SELECTPermite executar SELECT SHOW DATABASES exibe todos os bancos de dados SHUTDOWNPermite executar mysqladmin shutdown SUPER Permite executar CHANGE MASTER, KILL, PURGE MASTER LOGS e SET GLOBAL. Permite conectar-se ao servidor uma vez, mesmo que o max_connections tenha sido atingido UPDATEPermite executar UPDATE USAGESinônimo para "no privileges'' GRANT OPTION Permite ao usuário repassar os seus privilégios INSERTPermite executar INSERT

9 15/1/20149 Professor Leomir J. Borba- –http://professorleomir.wordpress.com Gestão de usuario Criação de usuário e privilégios - Continuação: Uma vez informados os privilégios do usuário, você deverá indicar o nível ao qual o privilégio se aplica, sendo possível especificar três níveis: Depois do nível você deverá indicar o usuário, ou a lista de usuários, para os quais os privilégios se aplicam. No MySQL o usuário é constituído de um nome mais o host de onde ele poderá acessar o servidor Caso você não informe o host para o usuário, o MySQL assumirá "%", isto é, todos os hosts *.*Privil é gio global db.*Qualquer tabela do banco db db.tb Apenas a tabela tb do banco de dados db. Para especificar apenas algumas colunas de uma determinada tabela, estas deverão ser listadas ao lado do privil é gio (priv (colunas))

10 15/1/ Professor Leomir J. Borba- –http://professorleomir.wordpress.com Gestão de usuario Criação de usuário e privilégios - Continuação : A senha do usuário é opcional, mas é recomendado sempre informá-la no momento de criação do usuário, por questões de segurança No exemplo a seguir é criado um usuário com o nome teste que pode se conectar somente do host onde o servidor está em execução (localhost), o usuário só poderá fazer SELECT nas colunas nome e idade da tabela pessoa, que se encontra no banco de dados rh. A senha do usuário é GRANT SELECT (nome, idade) ON rh.pessoa TO IDENTIFIED BY "12345"; Para listar os privilégios deste usuário utilize o comando: SHOW GRANTS FOR

11 15/1/ Professor Leomir J. Borba- –http://professorleomir.wordpress.com Gestão de usuario Criação de usuário e privilégios - Continuação : Você pode especificar um conjunto de hosts utilizando o caracter "%", neste caso é possível dar acesso a um usuário dentro de uma faixa de IPs ou DNS. Usuários anônimos também podem ser criados informando um nome com o caracter espaço (" "). No exemplo a seguir, o usuário remoto poderá executar UPDATE e INSERT em qualquer tabela do banco de dados rh, sendo possível a conexão ao servidor a partir de qualquer máquina no domínio mysqlbrasil.com.br: GRANT UPDATE, INSERT ON rh.* TO IDENTIFIED BY "remoto"; Ou utilizando IP: GRANT UPDATE, INSERT ON rh.* TO IDENTIFIED BY "remoto";

12 15/1/ Professor Leomir J. Borba- –http://professorleomir.wordpress.com Gestão de usuario Criação de usuário e privilégios - Continuação : Um usuário anônimo com os mesmos privilégios do usuário remoto seria criado da seguinte forma: GRANT UPDATE, INSERT ON rh.* TO " IDENTIFIED BY "anonimo"; A opção GRANT OPTION é utilizada para que o usuário possa conceder os seus privilégios para outros usuários do banco. Para remover privilegios de usuarios é utlizado o comando revoke : REVOKE priv [(colunas)] [, priv [(colunas)]]... ON {*.* | db.* | db.tabela} FROM usuario [, usuario]...

13 15/1/ Professor Leomir J. Borba- –http://professorleomir.wordpress.com Gestão de usuario Criação de usuário e privilégios - Continuação : Considerações do comando Revoke A parte ON do revoke deve conicidir com a part ON do GRANT que deseja remover, caso contrário não tera efeito. Remove apenas previlegios do usuario, não remove usuarios. Remoção de usuários é feita com comando DELETE na tabela de usuários, somente após terem sido removidos todos seus previlégios. Para execução do comando DELETE é necessário ter previlegio na tabela user do mysql (geralmente feito pelo usuario root). DELETE FROM mysql.user WHERE user="teste" AND host="localhost"; Finaliza-se com o comando FLUSH PRIVILEGES para atualizar os previlegios que estao em memória.

14 15/1/ Professor Leomir J. Borba- –http://professorleomir.wordpress.com BIBLIOGRAFIA BÁSICA 1 DATE, C.J. Introdução a Sistemas de Bancos de Dados. 8ª Ed. Rio de Janeiro: Campus, NAVATHE, S. B.; ELMASRI, R. E. Sistemas de Banco de Dados, 4ª edição, Editora Pearson Addison Wesley, SETZER, V. W., SILVA, F.S.C. Banco de Dados. 1ª Ed. São Paulo: Edgard Blucher, BIBLIOGRAFIA COMPLEMENTAR 4 COUGO, P. Modelagem Conceitual e Projeto de Banco de Dados, Editora Campus. 5 KORTH, H. F.; SILBERSCHATZ, A.; SUDARSHAN, S., Sistemas de Banco de Dados, Editora Makron Books, MACHADO, Felipe Nery Rodrigues: Análise Relacional de Sistemas; São Paulo: Editora Érica, SETZER, V.W., NASSU, E.A. Banco de Dados Orientados a Objetos. São Paulo: Ed. Edgard Blucher, BIBLIOGRAFIA


Carregar ppt "15/1/20141 BANCO DE DADOS EM APLICATIVOS WEB Aula 15 Professor Leomir J. Borba- –http://professorleomir.wordpress.com."

Apresentações semelhantes


Anúncios Google