MySQL: Controle de Acesso



Documentos relacionados
Administração de Usuários e Privilégios no Banco de Dados

Gerência de Banco de Dados

A criação de utilizadores no MySQL pode passar pela utilização de dois comandos: - Create user; - Grant;

No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:

Segurança de Acesso a Banco de Dados no MS SQL Server

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010

O essencial do comando mysqladmin, através de 18 exemplos

MySQL. Prof. César Melo. com a ajuda de vários

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;

Banco de Dados. Prof. Antonio

Banco de Dados. Structured Query Language SQL. Prof. Walteno Martins Parreira Jr 1.

Procedimentos armazenados e triggers o objectivo é implementar estes conceitos na versão 5.0 do MySQL.

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

BANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha.

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Visões. Definição de Visões

Notas sobre o MySQL: Resumo dos comandos no MySQL linha de comandos:

Banco de Dados SQL (Structured Query Language) Ana Paula Toome Wauke

Prof. Carlos Majer Aplicações Corporativas UNICID

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

MSN-Proxy v0.7 no Debian 5 (Atualizado)

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr

Banco de Dados. Marcio de Carvalho Victorino Exercícios SQL

EXERCÍCIOS PRÁTICOS. Banco de Dados

Aula 1 Acesso a Banco de Dados

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

Comandos de Manipulação

Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha

Linguagem SQL Sub-linguagem DDL

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

SQL Structured Query Language

Iniciando o MySQL Query Brower

Sensor de temperatura Parte 5 Cleiton Bueno Preparando o ambiente do Banco de dados Mysql

Introdução ao Sistema. Características

MySQL para DBAs Oracle

Instalando servidor Apache

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

um mecanismo, chamado de perfil, para controlar o limite desses recursos que o usuário pode

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Quando se seleciona os modos OS ou XML, arquivos são criados com os registros de auditoria, eles se localizam parâmetro audit_file_dest.

Treinamento em PHP. Aula 7. Ari Stopassola Junior

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Prof. Omero, pág. 63. Banco de Dados InterBase.

CRIANDO, ALTERADO E EXCLUINDO TABELAS, INSERINDO, SELECIONANDO, ALTERANDO E EXCLUINDO DADOS

SQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Profº Aldo Rocha. Banco de Dados

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Introdução à linguagem SQL

O que são Bancos de Dados?

Fábio Borges de Oliveira. MySQL

SQL. Hélder Antero Amaral Nunes

- O MySQL para além da sua utilização em modo linha de comandos, também pode ser utilizado através de ferramentas gráficas.

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

Curso PHP Aula 08. Bruno Falcão

Linguagem de Consulta Estruturada SQL- DML

SQL (Structured Query Language)

PgAdmin. O pgadmin é um software gráfico para administração do SGBD PostgreSQL disponível para Windows e UNIX.

Sistemas de Banco de Dados

SQL (Structured Query Language)

URL para teste

SQL (Structured Query Language)

trigger insert, delete, update

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Sumário Agradecimentos Sobre.o.autor Prefácio Capítulo.1..Bem-vindo.ao.MySQL... 22

CONFIGURAÇÃO PARA ENVIO DE

Banco de Dados. Conversão para o Banco de Dados SisMoura

FileZilla Server. O FileZilla Server é um ótimo servidor FTP, conta com diversas funções e fácil instalação e configuração.

EXEMPLOS DE COMANDOS NO SQL SERVER

Segurança com o MySQL

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

PHP INTEGRAÇÃO COM MYSQL PARTE 2

Guia do Usuário Windows

Introdução ao Tableau Server 7.0

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

Arquitetura de BDs Distribuídos. Victor Amorim - vhca Pedro Melo pam2

Noções de. Microsoft SQL Server. Microsoft SQL Server

Tutorial Instalação e configuração do Wordpress

BD II (SI 587) Segurança em Banco de Dados. Josenildo Silva.

ROTEIRO. A Linguagem SQL (I parte) CEFET.PHB - PI Prof. Jefferson Silva. As partes da linguagem SQL. A Linguagem de Definição de Dados (SQL-DDL)

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

PHP e MySQL Autenticação de Usuários

Banco de Dados. Maurício Edgar Stivanello

INSTALAÇÃO OASIS + WAMP SERVER NO AMBIENTE WINDOWS

Treinamento sobre SQL

Comandos DDL. id_modulo = id_m odulo

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Maker Planet Manual do Usuário

Esta nota apresenta como definir o SSL VPN no roteador Vigor.

Transcrição:

MySQL: Controle de Acesso Programação de Servidores Marx Gomes Van der Linden http://marx.vanderlinden.com.br/

Controle de Acesso MySQL tem um sistema de controle de acesso de usuários que é independente do sistema de usuários empregado pelo sistema operacional. Permite controle preciso de restrições e privilégios para uso, modificação e exclusão de dados. Em uma nova instalação de MySQL só há um usuário: root. http://marx.vanderlinden.com.br/ 2

CREATE USER Para criar um novo usuário no sistema, utilizase o comando CREATE USER. Sintaxe: CREATE USER conta [IDENTIFIED BY senha] http://marx.vanderlinden.com.br/ 3

Conta Um usuário em MySQL é especificado por uma conta, que define o nome do usuário e o servidor de acesso. Formato: 'usuário'[@'servidor'] No nome do servidor, pode ser usado um padrão, de acordo com a sintaxe de LIKE. Padrão para o nome do servidor: '%' http://marx.vanderlinden.com.br/ 4

Exemplos mysql> CREATE USER 'boris'@'localhost' -> IDENTIFIED BY 'frost'; Query OK, 0 rows affected (0.00 sec) mysql> CREATE USER 'fred'@'ares.mars.net' -> IDENTIFIED BY 'steam'; Query OK, 0 rows affected (0.00 sec) http://marx.vanderlinden.com.br/ 5

Exemplos mysql> CREATE USER 'joe'@'%' -> IDENTIFIED BY 'tatu'; Query OK, 0 rows affected (0.00 sec) mysql> CREATE USER 'mary'@'%.snake.net' -> IDENTIFIED BY 'fog'; Query OK, 0 rows affected (0.00 sec) http://marx.vanderlinden.com.br/ 6

Exemplos mysql> CREATE USER 'joe'@'192.168.128.3' -> IDENTIFIED BY 'water'; Query OK, 0 rows affected (0.00 sec) mysql> CREATE USER 'ardis'@'192.168.128.%' -> IDENTIFIED BY 'snow'; Query OK, 0 rows affected (0.00 sec) mysql> CREATE USER -> 'rex'@'192.168.128.0/255.255.255.0' -> IDENTIFIED BY 'ice'; Query OK, 0 rows affected (0.01 sec) http://marx.vanderlinden.com.br/ 7

DROP USER, RENAME USER Para remover um usuário do sistema: DROP USER nome Para renomear um usuário: RENAME USER nome_antigo TO nome_novo http://marx.vanderlinden.com.br/ 8

GRANT Para especificar os privilégios de uma conta de usuário, utiliza-se o comando GRANT. Sintaxe: GRANT privilégios (campos) ON nível TO conta [IDENTIFIED BY senha] [REQUIRE requerimentos de conexão] [WITH opções]; Se a conta especificada já não existir, ela é criada. http://marx.vanderlinden.com.br/ 9

Privilégios O controle específico de acesso em MySQL é definido por uma série de privilégios. Cada privilégio define um tipo de ação que um usuário pode executar. Cada usuário pode ter uma combinação de um ou mais privilégios. Há duas categorias principais de privilégios: Privilégios Administrativos. Privilégios de Bancos de Dados e Tabelas. http://marx.vanderlinden.com.br/ 10

Privilégios Administrativos CREATE USER Permite o uso dos comandos CREATE USER, DROP USER, RENAME USER, e REVOKE ALL PRIVILEGES. http://marx.vanderlinden.com.br/ 11

Privilégios Administrativos FILE Permite executar ações que acessam arquivos do servidor. Retrições: Só podem ser lidos arquivos com permissões de leitura para todos. Não é possível sobrescrever arquivos préexistentes. http://marx.vanderlinden.com.br/ 12

Privilégios Administrativos GRANT OPTION Possibilita passar para outros usuários os mesmos privilégios que o usuário tem, inclusive GRANT OPTION. Deve ser especificado na cláusula WITH. PROCESS Permite usar o comando SHOW PROCESSLIST, para ver todas as threads usadas por qualquer usuário conectado ao MySQL no momento. http://marx.vanderlinden.com.br/ 13

Privilégios Administrativos RELOAD Permite executar várias operações de controle administrativo, como FLUSH (usado para limpar caches) e RESET (usado para limpar caches e excluir logs) SHOW DATABASES Permite usar o comando SHOW DATABASES, para ver os nomes de todos os bancos de dados instalados no sistema. http://marx.vanderlinden.com.br/ 14

Privilégios Administrativos SHUTDOWN Permite desligar o servidor (comando mysqladmin shutdown) SUPER Permite terminar threads de outros usuários utilizando o comando KILL. http://marx.vanderlinden.com.br/ 15

Privilégios de BDs e Tabelas ALTER Permite usar ALTER TABLE. CREATE Permite usar CREATE TABLE. CREATE TEMPORARY TABLES CREATE VIEW DELETE http://marx.vanderlinden.com.br/ 16

Privilégios de BDs e Tabelas DROP Permite o uso de DROP DATABASE e DROP TABLE Não permite o uso de DROP INDEX INDEX Permite o uso de CREATE INDEX e DROP INDEX INSERT SELECT SHOW VIEW Permite o uso de SHOW CREATE VIEW http://marx.vanderlinden.com.br/ 17

Privilégios Especiais ALL [PRIVILEGES] Todos os privilégios USAGE Nenhum privilégio http://marx.vanderlinden.com.br/ 18

Nível do Privilégio ON *.* Todos os objetos, em todos os bancos de dados ON * Se não há um BD selecionado, mesmo que *.* Se há um BD selecionado, privilégio global para este BD apenas. http://marx.vanderlinden.com.br/ 19

Nível do Privilégio ON nomebd.* Privilégio global para o BD especificado. ON nomebd.nometabela ON nometabela Privilégio para a tabela especificada. http://marx.vanderlinden.com.br/ 20

Exemplos Superusuário: mysql> GRANT ALL ON *.* TO -> 'jacob'@'localhost' -> WITH GRANT OPTION; Query OK, 0 rows affected (0.06 sec) http://marx.vanderlinden.com.br/ 21

Exemplos Usuário limpador de logs e caches. mysql> GRANT RELOAD ON *.* TO -> 'flush'@'localhost'; Query OK, 0 rows affected (0.06 sec) http://marx.vanderlinden.com.br/ 22

Exemplos Usuário com totais poderes, restritos a um BD. mysql> GRANT ALL ON webdb.* TO -> 'fulano'@'provedor.com.br'; Query OK, 0 rows affected (0.06 sec) http://marx.vanderlinden.com.br/ 23

Exemplos Usuário com permissões de leitura em um BD: mysql> GRANT SELECT ON webdb.* TO -> 'leitor'@'%'; Query OK, 0 rows affected (0.06 sec) http://marx.vanderlinden.com.br/ 24

Exemplos Usuário com permissões específicas em um BD: mysql> GRANT SELECT,INSERT,DELETE,UPDATE -> ON webdb.* TO -> 'webdeveloper'@'%'; Query OK, 0 rows affected (0.06 sec) http://marx.vanderlinden.com.br/ 25

Exemplos Usuário com permissões específicas em tabelas e campos. mysql> GRANT SELECT, UPDATE -> (rua,numero,bairro,cep) -> ON webdb.endereco TO -> 'assistente'@'localhost'; Query OK, 0 rows affected (0.06 sec) http://marx.vanderlinden.com.br/ 26

Requerimentos de Conexão A opção REQUIRE permite especificar o tipo de conexão segura pela qual é aceitável que o usuário se conecte. http://marx.vanderlinden.com.br/ 27

Requerimentos de Conexão REQUIRE NONE Sem requerimentos especiais REQUIRE SSL Aceita apenas conexões seguras por SSL REQUIRE X509 Aceita apenas conexões em que o cliente possa se identificar por um certificado de chave pública X.509 http://marx.vanderlinden.com.br/ 28

Uso de Recursos A opção WITH pode ser usada para aplicar restrições adicionais ao usuário. Estas restrições limitam a quantidade de recursos que cada cliente pode utilizar no servidor. Para cada opção, 0=ilimitado http://marx.vanderlinden.com.br/ 29

Uso de Recursos MAX_QUERIES_PER_HOUR numero Número máximo de consultas por hora MAX_UPDATES_PER_HOUR numero Número máximo máximo de atualizações no BD por hora MAX_CONNECTIONS_PER_HOUR numero Número máximo de conexões realizadas ao BD por hora. MAX_USER_CONNECTIONS numero Número máximo de conexões simultâneas. http://marx.vanderlinden.com.br/ 30

Exemplos mysql> GRANT SELECT, UPDATE -> (rua,numero,bairro,cep) -> ON webdb.endereco TO -> 'assistente'@'localhost' -> REQUIRE SSL -> WITH MAX_QUERIES_PER_HOUR 1000 -> MAX_USER_CONNECTIONS 5; Query OK, 0 rows affected (0.06 sec) http://marx.vanderlinden.com.br/ 31

Mudando a senha Para mudar a senha de um usuário, é possível usar o comando SET PASSWORD. Sintaxe: SET PASSWORD FOR usuário = PASSWORD(senha) http://marx.vanderlinden.com.br/ 32