• Nenhum resultado encontrado

Aula22 Administração BD

N/A
N/A
Protected

Academic year: 2021

Share "Aula22 Administração BD"

Copied!
37
0
0

Texto

(1)

Tecnologia em Análise e Desenvolvimento de Sistemas

Administração de Banco de Dados

Aula 22

(2)

Segurança em Banco de Dados

❖ Com a disseminação da Internet os sistemas computacionais, tornam-se onipresentes bem como vulneráveis a ataques;

❖ Assim, os SGBD contém uma camada de segurança para compor o arsenal de segurança da informação em uma corporação

(3)

Segurança em Banco de Dados

❖ Ameaças ao Banco de Dados

❖ Podem resultar na perda ou

degradação dos objetivos de

segurança:

❖ integridade;

❖ disponibilidade;

(4)

Segurança em Banco de Dados ❖ Medidas de controle ❖ Controle de acesso; ❖ Controle de inferência; ❖ Controle de fluxo; ❖ Criptografia de dados.

(5)

Segurança em Banco de Dados

❖ Mecanismos de Segurança ❖ Discricionários

❖ Concede privilégios aos usuários, incluindo a capacidade de acessar arquivos de dados, registros ou campos específicos em um modo específico (leitura, inserção, exclusão ou atualização)

(6)

Segurança em Banco de Dados

❖ Mecanismos de Segurança ❖ Obrigatórios

❖ Impõe segurança multinível pela classificação de dados e usuários em várias classes (ou níveis) de segurança e depois pela implementação da política de segurança.

(7)

Segurança em Banco de Dados e o DBA

❖ Conta de DBA

❖ Conta de sistema ou conta de

superusuário;

❖ Oferece capacidades que não estão disponíveis às contas comuns.

(8)

Segurança em Banco de Dados e o DBA

❖ Criação de conta

❖ Cria conta/senha para um usuário (ou grupo) para permitir acesso ao SGBD;

❖ Concessão de privilégio

❖ Permite que o DBA conceda certos privilégios a determinadas contas

(9)

Segurança em Banco de Dados e o DBA

❖ Revogação de privilégio

❖ Permite que o DBA revogue (cancele) privilégios dados anteriormente;

❖ Atribuição de nível de segurança

❖ Consiste em atribuir contas de usuários ao nível adequado de liberação de segurança

(10)

SQL/DCL: Data Control Language

Proteção Privilégio Aplica-se a

ver SELECT Tabelas, métodos invocados

criar INSERT Tabelas

modificar UPDATE Tabelas

remover DELETE Tabelas

referenciar REFERENCES Tabelas

ativar TRIGGER Tabelas

(11)

SQL/DCL: Data Control Language

create database db_biblioteca;

use db_biblioteca;

create table tb_autores ( id_autor int,

nome_autor varchar(50),

sobrenome_autor varchar(20)

(12)

SQL/DCL: Data Control Language

#Verificar os usuários no bd select User from mysql.user;

(13)

SQL/DCL: Data Control Language

# exibe as permissões do usuário show grants for root@localhost;

(14)

SQL/DCL: Data Control Language

# Opcional Create user

create user 'mariana' identified by '123';

(15)

SQL/DCL: Data Control Language

# Para visualizarmos os privilégios de um usuário SHOW GRANTS FOR mariana;

# A saída do comando mostra que o usuário mariana # possui o privilégio “USAGE” em todas as tabelas

(16)

Resumo dos privilégios mais comuns

❖ INSERT

❖ Inserir dados em uma tabela

❖ UPDATE

❖ Atualizar dados em uma tabela

❖ DELETE

❖ Excluir dados de uma tabela

❖ EXECUTE

❖ Executar funções ou procedimentos armazenados

❖ SELECT

(17)

Privilégios para modificar a estrutura do BD

❖ CREATE

❖ Criar tabela ou banco de dados

❖ ALTER

❖ Modificar uma tabela ❖ DROP

❖ Excluir uma tabela ou um banco de dados

❖ CREATE VIEWS

(18)

Privilégios para modificar a estrutura do BD

❖ TRIGGER

❖ Criar ou excluir um trigger em uma tabela

❖ INDEX

❖ Criar ou excluir um índice

❖ CREATE ROUTINE

❖ Criar uma função ou um procedimento armazenado

❖ ALTER ROUTINE

❖ Alterar ou excluir uma função ou procedimento armazenado

(19)

Privilégios administrativos

❖ CREATE USER

❖ Criar contas de usuários

❖ SHOW DATABASES

❖ Ver os nomes dos bancos de dados no servidor

❖ SHUTDOWN

❖ Desligar o servidor

❖ RELOAD

❖ Recarregar as tabelas que armazenam os privilégios dos usuários dos bancos de dados.

(20)

Outros privilégios ❖ ALL

❖ Todos os privilégios disponíveis em um determinado nível, exceto GRANT OPTION

❖ GRANT OPTION

❖ Permite dar privilégios a outros usuários

❖ USAGE

❖ Não altera privilégios; usado para tarefas administrativas na conta do usuário.

(21)

Níveis de privilégios

❖ No MySQL os privilégios são atribuídos em quatro níveis diferentes:

❖ Global

❖ O usuário tem acesso a todas as tabelas de todos os bancos de dados (*.*)

❖ Database

❖ Esse privilégio dá ao usuário acesso a todas as tabelas de um banco de dados específico

(22)

Níveis de privilégios

❖ No MySQL os privilégios são atribuídos em quatro níveis diferentes:

❖ Table

❖ O usuário tem acesso a todas as colunas de uma tabela específica em um banco de dados

❖ Column

❖ O usuário possui acesso apenas a colunas especificadas em uma determinada tabela.

(23)

Armazenando informações sobre privilégios

❖ O MySQL utiliza tabelas especiais denominada grant tables para armazenar informações sobre os privilégios dos usuários, em um banco de dados interno de nome mysql.

(24)

Armazenando informações sobre privilégios

❖ A seguir são detalhadas essas tabelas de privilégios:

❖ user

❖ Armazena nomes e senhas de todos os usuários do servidor. Também armazena os privilégios globais que são aplicados a todos os bancos de dados do servidor.

❖ db

❖ Armazena privilégios dos bancos de dados ❖ tables_priv

(25)

Armazenando informações sobre privilégios

❖ A seguir são detalhadas essas tabelas de privilégios:

❖ columns_priv

❖ Armazena privilégios de colunas ❖ procs_priv

❖ Armazena privilégios de acesso a funções e stored procedures (procedimentos

(26)

GRANT - para atribuir privilégios

Usando a declaração GRANT para atribuir privilégios

Sintaxe:

GRANT lista_privilégios

ON [nome_banco.]tabela

TO usuário1 [IDENTIFIED BY ‘senha1’], usuário2 [IDENTIFIED BY ‘senha2’] [WITH GRANT OPTION]

(27)

GRANT - para atribuir privilégios

#1– Criar um usuário de nome julia, sem privilégios:

GRANT USAGE ON *.* TO julia@localhost IDENTIFIED BY '1234';

#Para verificar:

(28)

GRANT - para atribuir privilégios

#2 – Criar um usuário com privilégios globais:

GRANT ALL ON *.* TO alex IDENTIFIED BY '1234' WITH GRANT OPTION;

# Para verificar:

(29)

GRANT - para atribuir privilégios

# 3 – Dar privilégios específicos para execução de # comandos DML em todas as tabelas do banco # db_biblioteca ao usuário ana:

GRANT SELECT, INSERT, UPDATE, DELETE ON

db_biblioteca.* TO ana@localhost;

# Para verificar:

(30)

GRANT - para atribuir privilégios

#4 - Dar todos os privilégios no banco # db_biblioteca à usuária ana:

GRANT ALL ON db_biblioteca.* TO ana@localhost;

# Para verificar:

(31)

GRANT - para atribuir privilégios

#5 – Garantir privilégios de inserção e atualização # de registros e efetuar consultas na a tabela

# tb_autores do banco de dados db_biblioteca # ao usuário julia:

GRANT SELECT, INSERT, UPDATE ON

db_biblioteca.tb_autores TO julia@localhost;

#Para verificar:

(32)

GRANT - para atribuir privilégios

#6 – Garantir o privilégio de consultar nomes e # sobrenomes e alterar somente nomes dos # autores (coluna nome_autor) da tabela

# tb_autores do banco db_biblioteca ao usuário # alex:

GRANT SELECT (id_autor, nome_autor, sobrenome_autor), UPDATE (nome_autor) ON db_biblioteca.tb_autores TO alex;

(33)

Revogando privilégios

❖ Podemos revogar (retirar) privilégios dos usuários usando a declaração REVOKE.

❖ Sintaxe:

REVOKE lista_privilégios

ON objeto

(34)

REVOKE - para revogar privilégios

#1 – Vamos revogar o privilégio de exclusão de # dados no banco db_biblioteca à usuária ana:

REVOKE DELETE ON db_biblioteca.* FROM

ana@localhost;

#Para verificar:

(35)

REVOKE - para revogar privilégios

#2 – Retirando o privilégio de atualização da coluna nome_autor do banco db_biblioteca, na tabela de autores, do usuário fabio:

REVOKE UPDATE (nome_autor)

ON db_biblioteca.tb_autores

FROM alex;

#Conferindo:

(36)

REVOKE - para revogar privilégios

#3 – Remover todos os privilégios em todos os bancos de dados dos usuários alexandre e ana:

REVOKE ALL, GRANT OPTION FROM alex, ana@localhost;

#Para verificar:

SHOW GRANTS FOR alex;

(37)

Contato!!!!

Referências

Documentos relacionados

O separador Conjuntos de discos independentes dos recursos da solução de alta disponibilidade da página Gerir a solução de alta disponibilidade, apresenta uma lista de todos

➢ Agora que você assistiu e ouviu, as orientações e explicações na videoaula, desenvolva as atividades das páginas 58 até 60... SEQUÊNCIA DIDÁTICA–METODOLÓGICA

 Compreender a importância do domínio das técnicas da escrita para a produção de uma informação de qualidade e saber aplica-las às especificidades dos diferentes géneros

O que nos importa saber ao fi nal deste capítulo inicial é que a educação é o processo por meio do qual o homem tem desenvolvidas as habilidades, nas mais variadas dimensões de

Fibras poliméricas têm sido sistematicamente incorporadas às formulações de concretos refratários com o objetivo de diminuir os riscos de explosão durante o processo de

Em particular, a grade de coerˆ encia Zeeman induzida entre estados fundamentais possui longo tempo de vida e cont´ em informa¸c˜ ao sobre os campos incidentes, de forma que permite

Dessa forma, neste trabalho foi realizado o projeto do controlador de corrente do sistema para um sistema de grande porte, bem como é analisado o comportamento do sistema e a

MySQL High Availability MySQL Cluster MySQL DBA Introduction to MySQL 5.5 MySQL Developers Techniques MySQL for Beginners Ed 3 MySQL and PHP Developing Dynamic