1 / 14

BANCO DE DADOS EM APLICATIVOS WEB Aula 15

BANCO DE DADOS EM APLICATIVOS WEB Aula 15. Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com. Agenda. Gestão de usuário Exercícios Laboratório. Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com.

Download Presentation

BANCO DE DADOS EM APLICATIVOS WEB Aula 15

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BANCO DE DADOS EM APLICATIVOS WEBAula 15 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  2. Agenda • Gestão de usuário • Exercícios Laboratório. Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  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- professor.leomir@gmail.com –http://professorleomir.wordpress.com 25/10/2014 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- professor.leomir@gmail.com –http://professorleomir.wordpress.com 25/10/2014 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- professor.leomir@gmail.com –http://professorleomir.wordpress.com 25/10/2014 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- professor.leomir@gmail.com –http://professorleomir.wordpress.com 25/10/2014 6

  7. Gestão de usuario • Lista de previlégios : Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 25/10/2014 7

  8. Gestão de usuario • Lista de previlégios - Continuação: Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 25/10/2014 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 (user@host) • Caso você não informe o host para o usuário, o MySQL assumirá "%", isto é, todos os hosts Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 25/10/2014 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 é 12345. GRANT SELECT (nome, idade) ON rh.pessoa TO teste@localhostIDENTIFIED BY "12345"; • Para listar os privilégios deste usuário utilize o comando: SHOW GRANTS FOR teste@localhost; Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 25/10/2014 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 remoto@"%.mysqlbrasil.com.br" IDENTIFIED BY "remoto"; Ou utilizando IP: GRANT UPDATE, INSERT ON rh.* TO remoto@"200.236.13.%" IDENTIFIED BY "remoto"; Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 25/10/2014 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 " "@"%mysqlbrasil.com.br"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- professor.leomir@gmail.com –http://professorleomir.wordpress.com 25/10/2014 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- professor.leomir@gmail.com –http://professorleomir.wordpress.com 25/10/2014 13

  14. BIBLIOGRAFIA Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

More Related