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

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

BANCO DE DADOS EM APLICATIVOS WEB Aula 15

Apresentações semelhantes


Apresentação em tema: "BANCO DE DADOS EM APLICATIVOS WEB Aula 15"— Transcrição da apresentação:

1 BANCO DE DADOS EM APLICATIVOS WEB Aula 15
Professor Leomir J. Borba- –http://professorleomir.wordpress.com 25/03/2017 25/04/2011 Professor Leomir J. Borba- –http:professorleomir.wordpress.com 1

2 Agenda Gestão de usuário Exercícios Laboratório. 25/03/2017
Professor Leomir J. Borba- –http://professorleomir.wordpress.com 25/03/2017 25/04/2011 Professor Leomir J. Borba- –http:professorleomir.wordpress.com 2

3 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. Professor Leomir J. Borba- –http://professorleomir.wordpress.com 25/03/2017 3 25/04/2011 Professor Leomir J. Borba- –http:professorleomir.wordpress.com 3 3

4 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 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 25/03/2017 4 25/04/2011 Professor Leomir J. Borba- –http:professorleomir.wordpress.com 4 4

5 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. Professor Leomir J. Borba- –http://professorleomir.wordpress.com 25/03/2017 5 25/04/2011 Professor Leomir J. Borba- –http:professorleomir.wordpress.com 5 5

6 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 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 25/03/2017 6 25/04/2011 Professor Leomir J. Borba- –http:professorleomir.wordpress.com 6 6

7 CREATE TEMPORARY TABLES
Gestão de usuario Lista de previlégios : Privilégio Descrição ALL [PRIVILEGES] Todos os privilégios exceto GRANT OPTION ALTER Permite executar ALTER TABLE CREATE Permite executar CREATE TABLE CREATE TEMPORARY TABLES Permite executar CREATE TEMPORARY TABLE DELETE Permite executar DELETE DROP Permite executar DROP TABLE EXECUTE Permite executar stored procedures (MySQL 5.0) FILE Permite executar SELECT ... INTO OUTFILE e LOAD DATA INFILE INDEX Permite executar CREATE INDEX e DROP INDEX INSERT Permite executar INSERT LOCK TABLES Permite executar LOCK TABLES em tabelas que você tenha o privilégio SELECT PROCESS Permite executar SHOW FULL PROCESSLIST Professor Leomir J. Borba- –http://professorleomir.wordpress.com 25/03/2017 7 25/04/2011 Professor Leomir J. Borba- –http:professorleomir.wordpress.com 7 7

8 Gestão de usuario Lista de previlégios - Continuação: 25/03/2017 8
Privilégio Descrição RELOAD Permite executar FLUSH REPLICATION CLIENT Permite ao usuário obter a localização do Master ou Slave REPLICATION SLAVE Necessário para a replicação Slave (leitura dos eventos do log binário do Master) SELECT Permite executar SELECT SHOW DATABASES exibe todos os bancos de dados SHUTDOWN Permite 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 UPDATE Permite executar UPDATE USAGE Sinônimo para "no privileges'' GRANT OPTION Permite ao usuário repassar os seus privilégios INSERT Permite executar INSERT Professor Leomir J. Borba- –http://professorleomir.wordpress.com 25/03/2017 8 25/04/2011 Professor Leomir J. Borba- –http:professorleomir.wordpress.com 8 8

9 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)) Professor Leomir J. Borba- –http://professorleomir.wordpress.com 25/03/2017 9 25/04/2011 Professor Leomir J. Borba- –http:professorleomir.wordpress.com 9 9

10 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 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 25/03/2017 10 25/04/2011 Professor Leomir J. Borba- –http:professorleomir.wordpress.com 10 10

11 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"; Professor Leomir J. Borba- –http://professorleomir.wordpress.com 25/03/2017 11 25/04/2011 Professor Leomir J. Borba- –http:professorleomir.wordpress.com 11 11

12 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] ... Professor Leomir J. Borba- –http://professorleomir.wordpress.com 25/03/2017 12 25/04/2011 Professor Leomir J. Borba- –http:professorleomir.wordpress.com 12 12

13 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. Professor Leomir J. Borba- –http://professorleomir.wordpress.com 25/03/2017 13 25/04/2011 Professor Leomir J. Borba- –http:professorleomir.wordpress.com 13 13

14 BIBLIOGRAFIA 25/03/2017 BIBLIOGRAFIA BÁSICA 1 2
DATE, C.J. Introdução a Sistemas de Bancos de Dados. 8ª Ed. Rio de Janeiro: Campus, 2004. 2 NAVATHE, S. B.; ELMASRI, R. E. Sistemas de Banco de Dados, 4ª edição, Editora Pearson Addison Wesley, 2005. 3 SETZER, V. W., SILVA, F.S.C. Banco de Dados. 1ª Ed. São Paulo: Edgard Blucher, 2005. 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, 1999. 6 MACHADO, Felipe Nery Rodrigues: Análise Relacional de Sistemas; São Paulo: Editora Érica, 7 SETZER, V.W., NASSU, E.A. Banco de Dados Orientados a Objetos. São Paulo: Ed. Edgard Blucher, 25/03/2017 Professor Leomir J. Borba- –http://professorleomir.wordpress.com 25/04/2011 Professor Leomir J. Borba- –http:professorleomir.wordpress.com 14


Carregar ppt "BANCO DE DADOS EM APLICATIVOS WEB Aula 15"

Apresentações semelhantes


Anúncios Google