Buscar

Livro

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 202 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 202 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 202 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Indaial – 2021
Segurança em Banco 
de dadoS
Sagah Educação S.A.
1a Edição
Elaboração:
Sagah Educação S.A
Revisão, Diagramação e Produção:
Centro Universitário Leonardo da Vinci – UNIASSELVI
Conteúdo produzido Copyright © Sagah Educação S.A.
Impresso por:
apreSentação
Caro acadêmico! Estamos iniciando o estudo da disciplina Segurança 
em Banco de Dados. Este livro é um dos instrumentos que contribuirá para 
a sua aprendizagem. A abordagem do livro é sobre conceitos importantes 
pertinentes às arquiteturas dos sistemas gerenciadores de bancos de dados, 
utilizando-os para a garantia da segurança e integridade às informações 
armazenadas. 
No decorrer deste livro, você será apresentado a diversos componentes 
inerentes aos bancos de dados, bem como suas possibilidades para garantir 
a segurança dos dados armazenados. Estudaremos cada componente de 
forma independente. Com a utilização de todos de modo integrado você será 
capaz de garantir a segurança do banco de dados. 
Na Unidade 1, você será introduzido a uma visão geral sobre segurança 
em banco de dados, reconhecendo os principais problemas de segurança em 
dados, e, a partir deles, criará estruturas de segurança, utilizando controle de 
acesso, gerenciamento de usuários e aplicando configurações de privilégios. 
Na Unidade 2, compreenderemos que existem recursos para mitigar 
caso haja problemas de invasão, tornando-se indispensável a criação de 
backups. Será nesta unidade também que você aprenderá sobre um dos 
ataques de invasão mais comum no que se refere aos bancos de dados na 
Web, o SQL Injection. 
Na Unidade 3, partiremos para uma visão da estrutura de um 
sistema gerenciador de banco de dados, utilizando recursos de tuning para 
garantir uma boa performance do banco de dados, bem como a aplicação de 
criptografia para reforçar a segurança dos dados armazenados. 
Aproveitamos a oportunidade para destacar a importância de 
desenvolver as autoatividades, lembrando que essas atividades não são 
opcionais. Elas objetivam a fixação dos conceitos apresentados. Em caso de 
dúvida, na realização das atividades, sugerimos que você entre em contato 
com seu tutor externo ou com a tutoria da UNIASSELVI, não prosseguindo 
as atividades sem ter sanado todas as dúvidas. 
Bons estudos!
Você já me conhece das outras disciplinas? Não? É calouro? Enfim, tanto para 
você que está chegando agora à UNIASSELVI quanto para você que já é veterano, há 
novidades em nosso material.
Na Educação a Distância, o livro impresso, entregue a todos os acadêmicos desde 2005, é 
o material base da disciplina. A partir de 2017, nossos livros estão de visual novo, com um 
formato mais prático, que cabe na bolsa e facilita a leitura. 
O conteúdo continua na íntegra, mas a estrutura interna foi aperfeiçoada com nova 
diagramação no texto, aproveitando ao máximo o espaço da página, o que também 
contribui para diminuir a extração de árvores para produção de folhas de papel, por exemplo.
Assim, a UNIASSELVI, preocupando-se com o impacto de nossas ações sobre o ambiente, 
apresenta também este livro no formato digital. Assim, você, acadêmico, tem a possibilidade 
de estudá-lo com versatilidade nas telas do celular, tablet ou computador. 
 
Eu mesmo, UNI, ganhei um novo layout, você me verá frequentemente e surgirei para 
apresentar dicas de vídeos e outras fontes de conhecimento que complementam o assunto 
em questão. 
Todos esses ajustes foram pensados a partir de relatos que recebemos nas pesquisas 
institucionais sobre os materiais impressos, para que você, nossa maior prioridade, possa 
continuar seus estudos com um material de qualidade.
Aproveito o momento para convidá-lo para um bate-papo sobre o Exame Nacional de 
Desempenho de Estudantes – ENADE. 
 
Bons estudos!
NOTA
Olá, acadêmico! Iniciamos agora mais uma disciplina e com ela 
um novo conhecimento. 
Com o objetivo de enriquecer seu conhecimento, construímos, além do livro 
que está em suas mãos, uma rica trilha de aprendizagem, por meio dela você terá 
contato com o vídeo da disciplina, o objeto de aprendizagem, materiais complementares, 
entre outros, todos pensados e construídos na intenção de auxiliar seu crescimento.
Acesse o QR Code, que levará ao AVA, e veja as novidades que preparamos para seu estudo.
Conte conosco, estaremos juntos nesta caminhada!
LEMBRETE
Sumário
UNIDADE 1 — SEGURANÇA, CONTROLE, GERENCIAMENTO E 
 ADMINISTRADOR DE BASE DE DADOS ........................................................ 1
TÓPICO 1 — SEGURANÇA E CONTROLE DE ACESSO ............................................................. 3
1 INTRODUÇÃO .................................................................................................................................... 3
2 PROBLEMAS DE SEGURANÇA EM BANCO DE DADOS ...................................................... 7
3 LINGUAGEM DE CONTROLE DE DADOS: CONCESSÃO E REVOGAÇÃO 
 DE PRIVILÉGIOS ................................................................................................................................ 8
4 LINGUAGEM DE CONTROLE DE DADOS: CONCESSÃO E REVOGAÇÃO 
 DE PRIVILÉGIOS .............................................................................................................................. 12
RESUMO DO TÓPICO 1..................................................................................................................... 15
AUTOATIVIDADE .............................................................................................................................. 17
TÓPICO 2 — GERENCIAMENTO DE USUÁRIOS E DE PRIVILÉGIOS 
 NO BANCO DE DADOS ........................................................................................... 19
1 INTRODUÇÃO .................................................................................................................................. 19
2 USUÁRIOS, GRUPOS E VISÕES .................................................................................................. 22
3 ETAPAS DE GERENCIAMENTO DE USUÁRIOS ..................................................................... 25
4 POLÍTICA DE SEGURANÇA DA INFORMAÇÃO ................................................................... 27
5 USO DE SCRIPTS .............................................................................................................................. 29
RESUMO DO TÓPICO 2..................................................................................................................... 38
AUTOATIVIDADE .............................................................................................................................. 41
TÓPICO 3 — CONHECENDO OS DESAFIOS DA ADMINISTRAÇÃO 
 DE BANCO DE DADOS ............................................................................................ 43
1 INTRODUÇÃO .................................................................................................................................. 43
2 TECNOLOGIAS ................................................................................................................................. 45
3 PERFORMANCE ................................................................................................................................ 46
4 SEGURANÇA ..................................................................................................................................... 48
RESUMO DO TÓPICO 3..................................................................................................................... 50
AUTOATIVIDADE .............................................................................................................................. 52
REFERÊNCIAS ...................................................................................................................................... 53
UNIDADE 2 — RECUPERAÇÃO DE BANCO DE DADOS, DISPONIBILIDADE 
 E LINGUAGEM SQL ............................................................................................. 55
TÓPICO 1 — BACKUPE RECUPERAÇÃO DE BANCO DE DADOS ...................................... 57
1 INTRODUÇÃO .................................................................................................................................. 57
2 CÓPIA DE SEGURANÇA EM BANCO DE DADOS ................................................................. 59
3 BACKUP APLICADO AO BANCO DE DADOS ........................................................................ 61
3.1 BACKUPS ON-LINE E OFF-LINE ............................................................................................. 61
3.2 BACKUPS FÍSICO E LÓGICO .................................................................................................... 62
3.3 BACKUPS COMPLETO E INCREMENTAL ............................................................................ 63
3.4 ARQUIVOS DE LOG DE TRANSAÇÕES – LOGS BINÁRIOS DO MYSQL ....................... 63
3.5 BACKUP COM REPLICAÇÃO EM SLAVE .............................................................................. 64
3.6 BACKUP EM BANCO DE DADOS POR LINHAS DE COMANDO .................................... 65
3.7 BACKUP LÓGICO POR MYSQLDUMP ................................................................................... 67
3.8 BACKUP COMPLETO E INCREMENTAL ............................................................................... 68
RESUMO DO TÓPICO 1..................................................................................................................... 70
AUTOATIVIDADE .............................................................................................................................. 71
TÓPICO 2 — ALTA DISPONIBILIDADE, TRANSAÇÕES E CONCORRÊNCIA 
 EM BANCO DE DADOS ........................................................................................... 73
1 INTRODUÇÃO .................................................................................................................................. 73
2 AMEAÇAS À DISPONIBILIDADE EM BANCO DE DADOS ................................................ 80
3 TÉCNICAS UTILIZADAS NA ALTA DISPONIBILIDADE DE BANCO DE DADOS ........... 83
4 SOLUÇÕES DE ALTA DISPONIBILIDADE E SUAS FUNCIONALIDADES ..................... 88
RESUMO DO TÓPICO 2..................................................................................................................... 93
AUTOATIVIDADE .............................................................................................................................. 95
TÓPICO 3 — LINGUAGEM SQL BÁSICA E SQL INJECTION ................................................. 99
1 INTRODUÇÃO .................................................................................................................................. 99
2 LINGUAGEM SQL BÁSICA ......................................................................................................... 104
3 SQL INJECTION .............................................................................................................................. 111
RESUMO DO TÓPICO 3................................................................................................................... 114
AUTOATIVIDADE ............................................................................................................................ 115
REFERÊNCIAS .................................................................................................................................... 117
UNIDADE 3 — INFLUÊNCIA DA SEGURANÇA NAS CARACTERÍSTICAS 
 E FUNÇÕES DOS BANCOS DE DADOS ........................................................ 119
TÓPICO 1 — CARACTERÍSTICAS DE UM BANCO DE DADOS ......................................... 121
1 INTRODUÇÃO ................................................................................................................................ 121
2 DISPONIBILIDADE E BACKUP ................................................................................................. 127
3 CONTROLE DE REDUNDÂNCIA .............................................................................................. 133
RESUMO DO TÓPICO 1................................................................................................................... 139
AUTOATIVIDADE ............................................................................................................................ 140
TÓPICO 2 — CRIPTOGRAFIA EM BANCOS DE DADOS ...................................................... 143
1 INTRODUÇÃO ................................................................................................................................ 143
2 CRIPTOGRAFIA DE TRIGGERS ................................................................................................ 149
3 CRIPTOGRAFIA DE VIEWS ....................................................................................................... 156
RESUMO DO TÓPICO 2................................................................................................................... 162
AUTOATIVIDADE ............................................................................................................................ 163
TÓPICO 3 — TUNING EM BANCOS DE DADOS ..................................................................... 165
1 INTRODUÇÃO ................................................................................................................................ 165
2 IMPORTÂNCIA DO TUNING NA MELHORIA DO DESEMPENHO DO 
 BANCO DE DADOS ....................................................................................................................... 171
3 TIPOS DE ATIVIDADES DE TUNING EM BANCOS DE DADOS...................................... 176
LEITURA COMPLEMENTAR .......................................................................................................... 184
RESUMO DO TÓPICO 3................................................................................................................... 189
AUTOATIVIDADE ............................................................................................................................ 191
REFERÊNCIAS .................................................................................................................................... 193
1
UNIDADE 1 — 
SEGURANÇA, CONTROLE, 
GERENCIAMENTO E ADMINISTRADOR 
DE BASE DE DADOS
OBJETIVOS DE APRENDIZAGEM
A partir do estudo desta unidade, você deverá ser capaz de:
• reconhecer problemas de segurança em banco de dados;
•	 definir	 as	 instruções	 SQL	 de	 linguagem	 de	 controle	 de	 dados	 para	
concessão	e	revogação	de	privilégios;
•	 ilustrar	modelos	de	segurança	de	acesso	aos	dados	em	bancos	de	dados	
comerciais;
•	 descrever	as	etapas	de	gerenciamento	de	usuários	do	banco	de	dados;
•	 determinar	como	criar,	alterar	e	remover	usuários	por	meio	de	scripts;
•	 reconhecer	os	conceitos	de	gerenciamento	de	usuários;
•	 descrever	o	que	são	privilégios	de	um	banco	de	dados;
•	 reconhecer	os	comandos	de	permissões	e	suas	consequências;
•	 aplicar	o	uso	de	comandos	de	permissões	do	banco	de	dados	e	identificar	
os	seus	desafios	com	relação	à	administração;
•	 aplicar	comandos	que	auxiliam	na	administração	do	banco	de	dados;
•	 reconhecer	as	técnicas	de	administração	de	banco	de	dados	e	identificar	
as	responsabilidades	do	administrador	destes;
•	 reconhecer	e	diferenciar	os	comandos	SQL,	que	auxiliam	o	administrador	
de banco de dados.
2
PLANO DE ESTUDOS
Esta	unidade	está	dividida	em	três	tópicos.	No	decorrer	da	unidade,	
você	 encontrará	 autoatividades	 com	 o	 objetivo	 de	 reforçar	 o	 conteúdo	
apresentado.
TÓPICO	1	–	SEGURANÇA	E	CONTROLE	DE	ACESSO
TÓPICO	2	–	GERENCIAMENTO	DE	USUÁRIOS	 E	DE	 PRIVILÉGIOS	NO	
BANCO	DE	DADOS
TÓPICO	3	–	CONHECENDO	OS	 DESAFIOS	 DA	ADMINISTRAÇÃO	DE	
BANCO	DE	DADOS
Preparado para ampliar seus conhecimentos? Respire e vamos 
em frente! Procure um ambiente que facilite a concentração, assim absorverá 
melhor as informações.
CHAMADA
3
TÓPICO 1 — 
UNIDADE 1
SEGURANÇAE CONTROLE DE ACESSO
1 INTRODUÇÃO
Os	 sistemas	 de	 gerenciamento	 de	 banco	 de	 dados	 (SGBDs)	 gerenciam	
diferentes	 ações,	 que	 podem	 ser	 executadas	 em	 um	 banco	 de	 dados,	 como	
inserção,	manipulação	ou	exclusão	de	dados.	No	entanto,	nem	todos	os	usuários	
do	 banco	 de	 dados	 necessitam	 –	 ou	mesmo	devem	 –	 ter	 acesso	 a	 todas	 essas	
funcionalidades,	tendo	em	vista	a	segurança	do	banco	de	dados.	Por	conta	dessa	
preocupação	com	a	segurança	dos	dados,	existem	diferentes	modelos	e	comandos	
em	linguagem	de	consulta	estruturada	(SQL,	do	inglês	structured query language)	
que	podem	ser	utilizados	para	realizar	o	controle	de	acesso	dos	usuários.
Neste	 tópico,	 você	 estudará	 os	 possíveis	 problemas	 de	 segurança	 que	
podem	acontecer	em	bancos	de	dados.	Você	também	compreenderá	as	instruções	
SQL	de	linguagem	de	controle	de	dados	para	concessão	e	revogação	de	privilégios	
de	usuários,	bem	como	os	diferentes	modelos	de	segurança	de	acesso	a	bancos	de	
dados	comerciais
Você	 já	parou	para	pensar	como	um	banco	de	dados	realiza	o	controle	
de	 conteúdo	 armazenado	 e	 como	 cada	 usuário	 pode	 acessar	 os	 estes	 dados?	
Existem	várias	formas	de	restringir	o	acesso	e	a	manipulação	indevida	de	dados	
nos	 sistemas	 de	 gerenciamento	 de	 banco	 de	 dados	 (SGBDS)	 em	 SQL.	 Estas	
configurações	e	operações	são	utilizadas	para	prevenir	problemas	na	segurança	
das	 informações	–	como	a	propagação	de	dados	pessoais,	entre	eles:	 telefones,	
CPFs	de	clientes	(por	pessoas	não	autorizadas)	etc.
A	 fim	 de	 saber	 como	 manter	 a	 segurança	 de	 um	 banco	 de	 dados,	 é	
necessário	 compreender	 os	 possíveis	 problemas	 que	 podem	 afetá-lo	 e,	 assim,	
elaborar	 uma	 estratégia	 ou	 política	 de	 segurança.	 Para	 colocar	 em	 prática	 a	
estratégia	 construída,	 são	 utilizadas	 instruções	 da	 linguagem	 de	 controle	 de	
dados	(DCL)	em	SQL.	Por	meio	da	DCL	é	possível	restringir	o	acesso	aos	dados	
com	a	concessão	ou	a	revogação	de	privilégios	aos	usuários	do	sistema.
Um	 banco	 de	 dados	 precisa	 manter	 as	 informações	 armazenadas	 de	
forma	segura,	para	poder	garantir	sua	integridade	e	disponibilidade	de	sigilo.	A	
segurança	de	um	banco	de	dados	é	relacionada	a	estas	três	propriedades,	que	tratam	
basicamente	de	manter	 as	 informações	protegidas	de	 alterações,	de	 acesso	 e	de	
divulgação	não	autorizada.	Por	este	motivo,	além	das	operações	que	possibilitam	
as	transações	e	a	manipulação	de	dados,	um	Sistema	de	Gerenciamento	de	Banco	
de	Dados	(SGBD)	precisa	disponibilizar	funções	de	segurança	e	controle	de	acesso.
UNIDADE 1 — SEGURANÇA, CONTROLE, GERENCIAMENTO E ADMINISTRADOR DE BASE DE DADOS
4
O	 controle	 de	 usuários	 de	 banco	de	 dados	 pode	 ser	 feito	 por	meio	 de	
diferentes	comandos	em	SQL.	Esses	comandos	garantem	que	cada	 função	seja	
autorizada	 somente	 aos	 usuários	 responsáveis	 e	 que	 necessitam	 do	 acesso	
específico,	a	fim	de	garantir	a	segurança	desses	dados.	
A seguir, você conhecerá os principais comandos utilizados para a concessão 
de privilégios utilizados em SQL.
FIGURA – OS PRINCIPAIS COMANDOS UTILIZADOS PARA A CONCESSÃO DE 
PRIVILÉGIOS UTILIZADOS EM SQL
FONTE: O autor
DICAS
TÓPICO 1 — SEGURANÇA E CONTROLE DE ACESSO
5
A	segurança	de	um	banco	de	dados	é	garantida	por	diferentes	 frentes,	
seja	acesso	à	rede	de	dados,	à	segurança	do	sistema	operacional,	assim	como	os	
acessos	à	base	de	dados	possibilitados	pela	criação	de	contas	aos	usuários.	Essas	
contas	devem	ter	restrições	de	acesso	ou	privilégios,	de	acordo	com	a	necessidade	
de	funcionalidade	de	cada	um	no	sistema.
A seguir, você conhecerá o caso de uma loja de celulares, acompanhando os 
processos de criação de novos usuários para o seu sistema de informações.
FIGURA – PROCESSO DE CRIAÇÃO DE NOVOS USUÁRIOS
DICAS
UNIDADE 1 — SEGURANÇA, CONTROLE, GERENCIAMENTO E ADMINISTRADOR DE BASE DE DADOS
6
FONTE: O autor
Neste	 tópico,	 você	 entenderá	 mais	 sobre	 as	 responsabilidades	 do	
administrador	de	banco	de	dados,	como	a	concessão	e	a	retirada	de	privilégios	de	
acesso	aos	usuários.
TÓPICO 1 — SEGURANÇA E CONTROLE DE ACESSO
7
2 PROBLEMAS DE SEGURANÇA EM BANCO DE DADOS
A	segurança	de	um	banco	de	dados	envolve	solucionar	diferentes	tipos	de	
problemas.	Entre	eles	estão	questões	legais	e	éticas	quanto	ao	direito	de	acessar	
informações	sigilosas.	Um	exemplo	é	a	venda	do	acesso	a	informações	pessoais	
de	clientes	de	um	estabelecimento	comercial	ou	de	pacientes	de	um	consultório	
médico	–	ou,	ainda,	a	implementação	de	diferentes	níveis	de	acesso	a	um	sistema	
de	informação,	em	que	se	permite	acesso	a	determinadas	funções	para	diferentes	
usuários.
As	possíveis	ameaças	a	um	banco	de	dados	podem	ser	relacionadas	a	um	
ou	a	 todos	os	objetivos	de	segurança	mais	gerais:	 integridade,	disponibilidade	
e	 confidencialidade	 ou	 sigilo.	A	 integridade	 trata	 da	 proteção	 da	 informação,	
para	 que	 ela	 não	 seja	 modificada	 sem	 a	 autorização	 necessária	 ou	 de	 forma	
incorreta.	 Já	 a	 disponibilidade	 é	 relacionada	 a	 permitir	 o	 acesso	 aos	 dados,	
deixando-os	 disponíveis	 aos	 seus	 usuários	 devidamente	 registrados.	 Por	 fim,	
a	confidencialidade	tem	relação	com	a	proteção	da	exposição	de	informações	a	
usuários	não	autorizados	(ELMASRI;	NAVATHE,	2010).
Para	proteger	os	bancos	de	dados	das	ameaças	e	manter	seus	objetivos	de	
segurança,	são	utilizados	quatro	tipos	de	medidas	de	controle:	controle	de	acesso,	
controle	de	 ingerência,	 controle	de	fluxo	e	 criptografia.	O	controle	de	acesso	é	
realizado	 ao	 se	 criar	 contas	de	usuários	 e	 senhas	para	moderar	 o	processo	de	
entrada	a	um	SGBD.	Já	o	controle	de	ingerência	se	refere	ao	controle	de	acesso	a	
bancos	de	dados	estatísticos,	que	possibilitam	interpretar	informações	estatísticas,	
ou	 seja,	 ler	 resumos	de	dados	 sobre	uma	população	ou	 sobre	 clientes	de	uma	
empresa,	por	exemplo	(ELMASRI;	NAVATHE,	2010).
O	controle	de	fluxo	impede	que	informações	fluam	de	modo	descontrolado	
a	usuários	não	autorizados.	Por	fim,	a	criptografia	é	empregada	para	proteger	
dados	 confidenciais,	 que	 precisam	 ser	 transmitidos	 por	 alguma	 rede	 de	
comunicação.	Ela	é	empregada	para	criptografar	partes	específicas	de	um	banco	
de	dados,	por	meio	de	 algum	algoritmo	de	 codificação,	 como	em	 sistemas	de	
transações	financeiras.
A integridade é aplicada quando os estudantes possuem acesso as suas notas, 
mas não podem modificá-las, por exemplo. Já a disponibilidade pode ser vista no fato de 
um professor precisar alterar uma nota de um estudante e ter acesso a essa modificação. 
Um exemplo de confidencialidade é um estudante não poder ter acesso para examinar 
as notas dos demais estudantes, mantendo o seu sigilo (RAMAKRISHNAN; GEHRKE, 2011).
DICAS
UNIDADE 1 — SEGURANÇA, CONTROLE, GERENCIAMENTO E ADMINISTRADOR DE BASE DE DADOS
8
De	acordo	com	Ramakrishnan	e	Gehrke	(2011),	é	necessário	definir	uma	
política	de	segurança	clara	e	consistente	para	atingir	os	objetivos	de	segurança	
de	um	banco	de	dados.	Essa	política	deve	descrever	as	medidas	de	segurança	a	
serem	impostas,	bem	como	quais	partes	do	banco	de	dados	devem	ser	protegidas	
por	cada	uma	delas.	De	forma	complementar,	os	mecanismos	de	segurança	do	
SGBD	e	do	 sistema	operacional,	bem	como	os	mecanismos	externos,	precisam	
seguir	essa	mesma	política	de	segurança.
Falhas	na	segurança	do	sistema	operacional	ou	da	conexão	de	rede	podem	
tornar	inúteis	os	mecanismos	de	segurança	de	um	banco	de	dados;	por	isso,	eles	
devem	trabalhar	de	forma	cooperativa.	Por	exemplo,	um	acesso	indevido	à	rede	
de	 dados	 de	 uma	 empresa	 pode	 possibilitar	 que	 um	 intruso	 acesse	 a	 base	 de	
dados	com	acesso	de	administrador	e,	portanto,	com	acesso	total	às	informações	
armazenadas.
O	administrador	de	banco	de	dados	(DBA,	do	inglês	data base administrator)	
é	o	principal	responsável	pela	administração	e	pelo	gerenciamento	de	um	sistema	
de	banco	de	dados.	Ao	DBA	pertence	a	conta	do	sistema	ou	conta	superusuário,	
a	qual	permite	todos	os	acessos	aos	dados	–	o	quenão	pode	ser	disponibilizado	a	
contas	de	usuário	comuns.	Esses	acessos	privilegiados	do	DBA	abrangem:	criação	
de	conta,	concessão	de	privilégio,	revogação	de	privilégio	e	atribuição	de	nível	de	
segurança	(ELMASRI;	NAVATHE,	2010).
Portanto,	cabe	ao	DBA	criar	contas	e	senhas	para	os	grupos	de	usuários	do	
sistema,	para	que	tenham	acesso	ao	SGBD.	Ele	deve,	também,	conceder	e	revogar	
privilégios	especiais	sobre	os	dados,	como	modificação,	exclusão	ou	inclusão	de	
registros.	Por	fim,	também	é	sua	responsabilidade	atribuir	às	contas	de	usuário	
diferentes	níveis	de	segurança.
O	 gerenciamento	 de	 contas	 e	 senhas	 em	 um	 SGBD	 pode	 ser	 feito	 por	
meio	de	uma	 tabela	criptografada	com	apenas	dois	 campos:	número	ou	nome	
de	conta	e	senha.	Assim,	sempre	que	for	necessária	a	criação	de	uma	nova	conta,	
um	novo	registro	é	incluído	nessa	tabela.	Consequentemente,	quando	uma	conta	
é	cancelada,	o	respectivo	registro	deve	ser	excluído.	O	SGBD	também	necessita	
manter	um	registro	de	todas	as	alterações	no	banco	de	dados	efetuadas	por	cada	
usuário,	durante	sua	sessão	de	acesso,	para	que,	em	caso	de	adulteração	do	banco	
de	dados,	o	DBA	possa	identificar	qual	é	o	usuário	responsável.
3 LINGUAGEM DE CONTROLE DE DADOS: CONCESSÃO E 
REVOGAÇÃO DE PRIVILÉGIOS
O	método	mais	comum	de	imposição	de	controle	de	acesso	a	um	sistema	
de	banco	de	dados	se	baseia	na	concessão	e	revogação	de	privilégios.	O	SGBD	
deve	fornecer	acesso	seletivo	a	cada	relação	do	seu	banco	de	dados,	com	base	nas	
contas	de	usuários	específicos.	Segundo	Elmasri	e	Navathe	(2010),	existem	dois	
níveis	principais	de	atribuição	de	privilégios	para	utilizar	o	banco	de	dados:
TÓPICO 1 — SEGURANÇA E CONTROLE DE ACESSO
9
• o	nível	de	conta,	que	trata	dos	acessos	a	dados	independentemente	de	suas	
relações;	e
• o	nível	de	relação,	no	qual	o	DBA	realiza	a	liberação	de	acesso	a	cada	relação	
ou	visão	do	banco	de	dados.
Os	privilégios	do	nível	de	conta	se	aplicam	às	capacidades	fornecidas	
à	 própria	 conta	 e	 podem	 incluir	 o	 privilégio	 CREATE	 SCHEMA	
ou	 CREATE	 TABLE,	 para	 criar	 um	 esquema	 ou	 relação	 da	 base;	 o	
privilégio	CREATE	VIEW;	o	privilégio	ALTER,	para	aplicar	mudanças	
de	esquema	(como	a	inclusão	ou	remoção	de	atributos	das	relações);	o	
privilégio	DROP,	para	excluir	relações	ou	visões;	o	privilégio	MODIFY,	
para	inserir,	excluir	ou	atualizar	tuplas;	e	o	privilégio	SELECT,	para	
recuperar	informações	do	banco	de	dados	usando	a	consulta	SELECT	
(ELMASRI;	NAVATHE,	2010,	p.	567).
Nesse	sentido,	os	privilégios	do	nível	de	conta	são	aplicados	à	conta	de	
maneira	geral.	Portanto,	se	uma	conta	não	possui	o	privilégio	CREATE	TABLE,	
não	poderá	criar	nenhuma	relação,	bem	como	se	não	possui	o	privilégio	SELECT,	
não	será	capaz	de	recuperar	dados	do	banco	de	dados	por	meio	de	consultas.	Os	
privilégios	também	podem	ser	aplicados	em	nível	de	relação,	tanto	para	visões	
quanto	relações	da	base.
A	concessão	dos	privilégios	de	relação	costuma	seguir	um	modelo	de	matriz	
de	acesso,	em	que	as	 linhas	da	matriz	representam	sujeitos	 (usuários,	contas	ou	
programas),	e	as	colunas	representam	objetos	(relações,	registros,	colunas,	visões	
ou	operações).	Assim,	cada	posição	dessa	matriz	de	acesso	representa	um	nível	de	
privilégio,	que	pode	ser	concedido	ao	usuário	(ELMASRI;	NAVATHE,	2010).
De	 forma	parecida	 aos	privilégios	de	nível	de	 conta,	 os	privilégios	 em	
nível	de	relação	que	podem	ser	concedidos	são:
• SELECT	para	recuperação	ou	leitura;
• UPDATE,	DELETE	e	INSERT	para	modificação;	e
• privilégio	de	 referências,	que	possibilita	 referir-se	a	uma	relação	ao	definir	
restrições	de	integridade.
Cada	um	desses	privilégios	pode	 ser	 restrito	 a	 atributos	 específicos	do	
banco	de	dados	(ELMASRI;	NAVATHE,	2010).
A	fim	de	deixar	claro	todos	os	privilégios	que	podem	ser	concedidos	aos	
usuários	de	bancos	de	dados	em	SQL,	apresentamos	a	tabela	a	seguir.	Nela,	estão	
listados	os	privilégios	e	as	suas	respectivas	descrições	ou	funções.
UNIDADE 1 — SEGURANÇA, CONTROLE, GERENCIAMENTO E ADMINISTRADOR DE BASE DE DADOS
10
TABELA 1 – LISTA DE PRIVILÉGIOS EM SQL
FONTE: Adaptado de Cardoso e Cardoso (2012)
Veja	 na	 sequência	 exemplos	 de	 concessão	 de	 privilégios	 em	 SQL,	 nos	
quais	o	DBA	necessita	criar	quatro	contas,	A1,	A2,	A3	e	A4,	com	diferentes	níveis	
de	privilégios.	Vamos	conferir	alguns	exemplos	a	seguir.	
• GRANT CREATE TO U1
Concede	um	privilégio	do	nível	de	conta,	que	permite	criar	 tabelas,	visões,	
triggers	ou	banco	de	dados	U1.
• GRANT INSERT, DELETE ON COLABORADOR, DEPARTAMENTO 
TO U2;
Concede	um	privilégio	do	nível	de	conta,	que	permite	à	conta	U2	 inserir	e	
excluir	tuplas	das	relações	COLABORADOR	e	DEPARTAMENTO,	mas	não	
permite	que	esses	privilégios	sejam	repassados	a	outras	contas.
TÓPICO 1 — SEGURANÇA E CONTROLE DE ACESSO
11
• GRANT INSERT, DELETE ON COLABORADOR, DEPARTAMENTO 
TO U3 WITH GRANT OPTION;
Concede	um	privilégio	do	nível	de	conta,	que	permite	à	conta	U3	 inserir	e	
excluir	 tuplas	 das	 relações	 COLABORADOR	 e	 DEPARTAMENTO.	 Além	
disso,	permite	que	esses	privilégios	sejam	repassados	a	outras	contas.
• GRANT SELECT ON DEPARTAMENTO TO U4;
Concede	um	privilégio	do	nível	de	conta,	que	permite	à	conta	U4	recuperar	
tuplas	da	relação	DEPARTAMENTO,	mas	não	permite	que	esses	privilégios	
sejam	repassados	a	outras	contas.
• REVOKE SELECT ON DEPARTAMENTO TO U4;
Revoga	o	privilégio	de	A4	de	recuperar	tuplas	da	relação	DEPARTAMENTO.
• CREATE VIEW U3COLABORADOR AS SELECT Nome, Data _ Nasc, 
Endereco FROM FUNCIONARIO
• WHERE Dnr = 4;
Concede	um	privilégio	do	nível	de	conta,	que	permite	que	a	conta	U3	tenha	
uma	capacidade	limitada	de	SELECT	na	relação	COLABORADOR,	em	que	
será	autorizada	a	recuperar	apenas	os	atributos	Nome,	Data_Nasc	e	Endereco	
para	as	tuplas	com	o	Dnr	=	4.	Primeiro,	cria-se	a	visão:
• GRANT SELECT ON A3 COLABORADOR TO U3 WITH GRANT 
OPTION
Depois,	é	concedido	à	conta	U3	o	privilégio	da	visão,	assim	como	o	privilégio	
de	propagar	o	seu	acesso	à	relação	FUNCIONÁRIO	a	outras	contas.
• GRANT UPDATE ON COLABORADOR (Salario) TO U4;
Concede	 à	 conta	A4	 o	 privilégio	 de	 atualizar	 apenas	 o	 atributo	 salário	 da	
relação	COLABORADOR.
Como	foi	possível	verificar	no	último	exemplo,	o	privilégio	UPDATE	–	e	da	
mesma	forma	o	INSERT	–	possibilita	especificar	atributos	em	particular,	que	
podem	ser	atualizados	ou	inseridos	em	uma	relação.	Já	os	privilégios	SELECT	
e	DELETE	não	permitem	essa	especificação	de	atributo.
UNIDADE 1 — SEGURANÇA, CONTROLE, GERENCIAMENTO E ADMINISTRADOR DE BASE DE DADOS
12
4 LINGUAGEM DE CONTROLE DE DADOS: CONCESSÃO E 
REVOGAÇÃO DE PRIVILÉGIOS
Um	banco	de	dados	de	uma	organização	possui	um	grande	número	de	
informações	e,	geralmente,	vários	diferentes	grupos	de	usuários.	A	maior	parte	
dos	usuários	precisa	ter	acesso	a	somente	uma	pequena	parte	específica	do	banco	
de	dados	para	realizar	as	suas	atribuições.	Autorizar	o	acesso	ao	banco	de	dados	
sem	 restrições	 a	 todos	 os	 usuários	 é	 indesejável,	 principalmente	 em	 grandes	
organizações.	Por	esse	motivo,	um	SGBD	fornece	formas	para	controlar	o	acesso	
aos dados.
Por	 exemplo,	 colaboradores	do	 setor	de	 comunicação	de	uma	empresa	
não	precisam	ter	acesso	a	dados	funcionais	dos	seus	colegas	–	esses	dados	são	
úteis	apenas	para	o	setor	de	gestão	de	pessoas.	Por	esse	motivo,	cada	setor	de	
uma	empresa	deve	possuir	níveis	diferentes	de	acesso	às	informações	do	banco	
de	dados,	de	acordo	com	suas	necessidades,	 a	fim	de	aumentar	a	 eficiência,	 a	
segurança	e	o	controle	de	acesso.
Existem	várias	técnicas	de	controle	de	acesso	em	bancos	de	dados.	Uma	
delas	 é	 a	 técnica	 de	 controle	 de	 acesso	discricionário,	 que	permite	 conceder	 e	
revogar	privilégios	 em	 relações,	 sendo	a	 forma	mais	utilizada	 em	 sistemas	de	
banco	 de	 dados	 relacionais.	 É	 um	 método	 explícito,	 no	 qual	 basicamente	 o	
usuário	tem	determinado	privilégio	ou	não	tem.	Essa	técnica	também	é	aplicada	
em	conjunto	com	uma	política	de	segurança	adicional,	chamada	de	controle	de	
acesso	 obrigatório(mandatory access control).	 Cabe	 ressaltar	 que	 a	maioria	 dos	
SGBDs	comerciais	atuais	oferece	somente	mecanismos	para	o	controle	de	acesso	
discricionário	(ELMASRI;	NAVATHE,	2010).
As	 políticas	 de	 controle	 de	 acesso	 discricionário	 (DAC)	 têm	 como	
característica	um	alto	grau	de	flexibilidade;	por	 esse	motivo,	 são	 adequadas	 a	
uma	variedade	grande	de	domínios	de	aplicação.	Contudo,	como	desvantagem,	
o	uso	de	modelos	DAC	é	vulnerável	a	ataques	maliciosos,	como	cavalos	de	Troia	
embutidos	em	programas	de	aplicação.	Isso	porque	esses	modelos	de	autorização	
não	realizam	um	controle	sobre	como	a	informação	é	propagada	e	utilizada	depois	
de	ter	sido	acessada	pelos	usuários	autorizados	(ELMASRI;	NAVATHE,	2010).
Outro	modelo	de	acesso	é	o	de	política	obrigatória,	que	garante	um	alto	
grau	de	proteção	no	fluxo	de	informações.	É	utilizada	para	aplicações	militares	ou	
demais	áreas	que	necessitam	de	um	grau	de	proteção	maior.	A	desvantagem	da	
política	obrigatória	é	a	sua	rigidez,	pois	exige	uma	classificação	precisa	de	sujeitos	
e	objetos	nos	diferentes	níveis	de	segurança,	sendo	aplicada	em	poucos	ambientes.	
Por	esse	motivo,	a	política	discricionária	é	mais	empregada,	pela	sua	facilidade	de	
escolha	entre	aplicabilidade	e	segurança	(ELMASRI;	NAVATHE,	2010).
No	 dia	 a	 dia	 de	 uma	 empresa,	 geralmente,	 os	 privilégios	 de	 acesso	 são	
relacionados	com	o	trabalho	dos	usuários	ou	o	seu	papel	na	organização.	Por	esse	
motivo,	utiliza-se	o	modelo	de	segurança	de	acesso	de	autorização	baseada	em	papéis.	
TÓPICO 1 — SEGURANÇA E CONTROLE DE ACESSO
13
Nesse	modelo,	os	privilégios	são	atribuídos	a	papéis	no	SGBD.	Os	papéis	podem	ser	
criados	com	o	comando	CREATE	ROLE	e	destruídos	com	o	comando	DROP	ROLE.	
Assim,	 os	 usuários	 podem	 receber,	 revogar	 e	 também	 repassar	 papéis	 a	 outros	
usuários	 por	 meio	 dos	 comandos	 Grant	 e	 Revoke,	 apresentados	 anteriormente	
(RAMAKRISHNAN;	GEHRKE,	2011).	Veja	na	Figura	1	uma	representação	gráfica	
da	concessão	de	privilégios	de	papéis	por	meio	do	comando	GRANT.
FIGURA 1 – CONCESSÃO DE PRIVILÉGIOS PARA PAPÉIS
FONTE: Adaptada de Exasol (c2020a)
Por	exemplo,	uma	empresa	pode	possuir	os	papéis	de	operador	de	caixa,	
coordenador	de	vendas,	gerente,	entre	outros.	Vários	usuários	podem	ser	designados	
para	 cada	um	dos	papéis,	para	que	os	privilégios	de	 segurança	mais	 comuns	de	
determinado	papel	sejam	concedidos	a	ele	e	possam	ser	designados	aos	funcionários	
que	necessitem	desses	mesmos	privilégios.
O	 controle	 de	 acesso	 baseado	 em	 papéis	 pode	 ser	 usado	 tanto	 com	 o	
controle	 de	 acesso	 discricionário	 quanto	 com	 o	 obrigatório.	 Com	 seu	 uso,	 é	
garantido	 que	 somente	 usuários	 autorizados	 em	 papéis	 específicos	 recebam	 o	
acesso	 a	determinados	dados	 ou	 recursos	do	banco	de	dados,	 o	 que	possibilita	
que	os	usuários	criem	sessões	durante	as	quais	possam	ativar	um	subconjunto	de	
papéis	aos	quais	pertencem.	Cada	sessão	pode	ter	mais	de	um	papel	atribuído,	mas	
é	mapeada	para	um	usuário	apenas	(ELMASRI;	NAVATHE,	2010).	Na	Figura	2	é	
apresentada	a	revogação	de	privilégios	de	papéis,	utilizando	o	comando	REVOKE.
FIGURA 2 – REVOGAÇÃO DE PRIVILÉGIOS PARA PAPÉIS
FONTE: Adaptada de Exasol (c2020b)
Acessando o link a seguir, você pode conhecer mais conceitos e exemplos 
sobre o uso do comando REVOKE, utilizado para remover privilégios de usuários. Confira 
em: http://bit.ly/3b3GTyP.
DICAS
UNIDADE 1 — SEGURANÇA, CONTROLE, GERENCIAMENTO E ADMINISTRADOR DE BASE DE DADOS
14
Separar	as	tarefas	é	outra	função	importante	para	os	SGBDs	comerciais.	
Essa	 ação	 é	 importante	 para	 impedir	 que	 um	 usuário	 realize	 o	 trabalho	 que	
requer	 o	 envolvimento	 de	 mais	 pessoas,	 impedindo,	 assim,	 falsificações,	 por	
exemplo.	Um	método	utilizado	para	esse	fim	é	a	exclusão	mútua	de	papéis,	em	
que	dois	ou	mais	papéis	são	definidos	como	mutuamente	exclusivos	–	assim,	não	
podem	ser	utilizados	ao	mesmo	tempo	pelo	mesmo	usuário.	Esse	método	pode	
ser	controlado	de	duas	formas	(ELMASRI;	NAVATHE,	2010):
•	 Exclusão	 –	 em	 tempo	 de	 autorização,	 em	 que	 em	 nenhum	momento	 dois	
papéis	podem	ser	utilizados	simultaneamente;
•	 Exclusão	–	por	tempo	de	execução,	na	qual	se	determina	um	tempo	máximo.
Há	 ainda	 o	 controle	 de	 acesso	 em	 nível	 de	 linha,	 utilizado	 em	muitos	
SGBDs	 comerciais.	 Nesse	 modelo,	 regras	 de	 controle	 de	 acesso	 podem	 ser	
aplicadas	 ao	 considerar	 dados	 linha	 por	 linha,	 em	 que	 cada	 linha	 recebe	 um	
rótulo,	que	é	empregado	para	armazenar	as	 informações	sobre	a	sensibilidade	
dos	dados.	Assim,	as	permissões	não	são	especificadas	por	tabelas	ou	colunas,	
mas,	sim,	em	cada	linha.	Para	isso,	o	usuário	recebe	um	rótulo	de	sessão	padrão	
com	um	número	correspondente	ao	seu	nível	de	acesso	do	DBA.	Quanto	maior	o	
nível	de	segurança,	maior	o	número	do	rótulo.	Portanto,	usuários	com	um	baixo	
nível	 de	 autorização	 conseguem	 acessar	 somente	 dados	 com	 rótulos	menores	
(ELMASRI;	NAVATHE,	2010).
15
Neste tópico, você aprendeu que:
•	 A	DCL	é	um	subconjunto	da	SQL.	Ela	é	utilizada	para	controlar	o	acesso	e	
gerenciar	permissões	de	usuários	em	bancos	de	dados.	
•	 A	 disponibilidade	 trata	 da	 permissão	 de	 acesso	 aos	 dados,	 deixando-os	
disponíveis	aos	seus	usuários	devidamente	registrados.	Já	a	integridade	trata	
da	proteção	da	informação,	para	que	ela	não	seja	modificada	sem	a	autorização	
necessária	ou	de	forma	incorreta.	E	a	confidencialidade	(ou	sigilo)	tem	relação	
com	a	proteção	da	exposição	de	informações	a	usuários	não	autorizados.	
•	 O	controle	de	fluxo	impede	que	informações	fluam	de	modo	descontrolado	
a	 usuários	 não	 autorizados,	 enquanto	 a	 criptográfica	 é	 empregada	 para	
proteger	dados	confidenciais,	que	precisam	ser	transmitidos	por	alguma	rede	
de	comunicação.	Já	o	controle	de	acesso	é	realizado	ao	criar	contas	de	usuários	
e	senhas	para	moderar	o	processo	de	login	pelo	SGBD.	
•	 O	controle	de	 ingerência	se	refere	ao	controle	de	acesso	a	bancos	de	dados	
estatísticos,	que	possibilitam	interpretar	informações	estatísticas,	ou	seja,	ler	
resumos	de	dados	sobre	uma	população	ou	sobre	clientes	de	uma	empresa,	
por	exemplo.	
•	 O	 comando	GRANT	 é	 utilizado	 nas	 instruções	 que	 concedem	 e	 repassam	
privilégios	a	usuários	de	um	banco	de	dados.	A	sintaxe	básica	do	uso	desse	
comando	é:	GRANT	{lista	de	privilégios}	ON	{relação	ou	visão}	TO	{usuário	
ou	lista	de	usuários}.
•	 Ao	utilizar	a	frase	“WITH	GRANT	OPTION”,	o	usuário	está	sendo	autorizado	
a	repassar	este	mesmo	privilégio	a	outras	contas.	O	privilégio	SELECT	concede	
a	permissão	para	 realizar	 consultas	de	 recuperação	de	dados.	O	privilégio	
UPDATE	permite	 atualizar	 dados	 das	 tabelas,	 no	 caso	 da	 questão,	 apenas	
o	 atributo	NOTA	da	 relação	ALUNOS	à	 conta	PROFESSOR5.	O	privilégio	
INSERT	permite	 incluir	dados	nas	 tabelas,	 e	 o	privilégio	DELETE	permite	
excluir	dados	das	tabelas.
•	 O	comando	REVOKE	é	utilizado	nas	 instruções	que	revogam	privilégios	a	
usuários	de	um	banco	de	dados.	A	sintaxe	básica	do	uso	desse	comando	é:	
REVOKE	{lista	de	privilégios}	ON	{relação	ou	visão}	TO	{usuário	ou	lista	de	
usuários}.
RESUMO DO TÓPICO 1
16
•	 ALTER	 permite	 alterar	 tabelas,	 colunas	 e	 índices.	 DROP	 permite	 excluir	
tabelas,	visões,	triggers	ou	banco	de	dados.	UPDATE	permite	atualizar	dados	
das	tabelas.	DELETE,	excluir	dados	da	tabela.	USAGE,	conectar	ao	servidor.	
INDEX,	adicionar	ou	excluir	índices.	CREATE,	criar	tabelas,	visões,	triggers	
ou banco de dados.
•	 O	 controle	 de	 acesso	 baseado	 em	 papéis	 pode	 ser	 usado	 tanto	 com	 os	
controles	de	acesso	discricionário	quanto	obrigatório.	Ele	possibilita	que	os	
usuários	 criem	sessões	durante	as	quais	possam	ativar	um	subconjunto	de	
papéis	 aos	quais	pertencem,	onde	 cada	 sessão	pode	 ter	mais	de	um	papel	
atribuído,	 sendo	 mapeada	 para	 apenas	 um	 usuário.	 Separar	 as	 tarefas	 é	
outra	função	importante	para	impedir	que	um	usuário	realize	o	trabalho	que	
requer	o	envolvimento	de	mais	pessoas,o	que	é	feito	pela	exclusão	mútua.	Os	
papéis	podem	ser	criados	com	o	comando	CREATE	ROLE	e	destruídos	com	o	
comando	DROP	ROLE.
17
1	 As	ameaças	de	segurança	a	banco	de	dados	são	relacionadas	a	três	objetivos	
de	segurança	mais	gerais.	Assinale	a	alternativa	em	que	um	desses	objetivos	
de	segurança	é	descrito	de	forma	CORRETA:
a)	(			)	 Acessibilidade:	controlar	o	acesso	a	bancos	de	dados	específicos.
b)	(			)	 Sigilo:	possibilitar	a	atualização	dos	dados	por	usuários	externos.
c)	(			)	 Confidencialidade:	proteger	a	informação	de	modificações	indevidas.
d)	(			)	 Disponibilidade:	permitir	acesso	aos	dados	a	usuários	autorizados.
2	 A	proteção	dos	bancos	de	dados	 contra	 ameaças	 é	garantida	por	quatro	
tipos	de	medidas	de	controle	específicas.	Assinale	a	alternativa	na	qual	uma	
dessas	medidas	é	descrita	de	forma	CORRETA:
a)	(			)	 Controle	 de	 acesso:	 proteção	 de	 dados	 ao	 transmiti-los	 por	 rede	 de	
comunicação.
b)	(			)	 Controle	de	ingerência:	criação	de	contas	de	usuários	para	moderar	a	
entrada	no	SGBD.
c)	(			)	 Controle	de	fluxo:	controle	do	deslocamento	de	informações	a	usuários	
não	autorizados.
d)	(			)	 Criptografia:	 interpretação	de	resumos	de	dados	sobre	um	grupo	de	
atributos	de	uma	tabela.
3	 O	 administrador	 de	 banco	 de	 dados	 é	 o	 principal	 responsável	 pela	
administração	e	pelo	gerenciamento	de	um	sistema	de	banco	de	dados.	Entre	
suas	responsabilidades	estão	a	criação	de	conta	e	a	concessão	e	revogação	de	
privilégios.	Assim,	observe	a	expressão	a	seguir:
GRANT SELECT, UPDATE (NOTA), INSERT, DELETE ON ALUNOS TO 
PROFESSOR5 WITH GRANT OPTION;
Assinale	a	alternativa	CORRETA	que	descreve	a	função	da	expressão	apresentada:
a)	(			)	 Concede	 privilégios	 que	 permitem	 a	 conta	 PROFESSOR	 recuperar,	
atualizar	 o	 atributo	 nota	 e	 excluir	 tuplas	 da	 relação	 ALUNOS,	
possibilitando	que	esses	privilégios	sejam	repassados	a	outras	contas.
b)	(			)	 Concede	privilégios	que	permitem	a	 conta	PROFESSOR5	 recuperar,	
atualizar	o	atributo	nota	e	inserir	e	excluir	tuplas	da	relação	ALUNOS,	
possibilitando	que	esses	privilégios	sejam	repassados	a	outras	contas.
c)	(			)	 Concede	privilégios	que	permitem	a	 conta	PROFESSOR5	 recuperar,	
atualizar	o	atributo	notas,	inserir	e	excluir	tuplas	da	relação	ALUNO,	
possibilitando	que	esses	privilégios	sejam	repassados	a	outras	contas.
d)	(			)	 Concede	privilégios	que	permitem	a	conta	PROFESSOR5	recuperar	o	
atributo	(nota),	atualizar,	inserir	e	excluir	tuplas	da	relação	ALUNOS,	
possibilitando	que	esses	privilégios	sejam	repassados	a	outras	contas.
AUTOATIVIDADE
18
4	 Assim	como	a	concessão,	a	revogação	de	privilégios	para	usuários	em	um	
banco	de	dados	é	 importante	para	garantir	a	 segurança	das	 informações	
armazenadas.	Sendo	assim,	com	relação	à	afirmação	em	que	são	revogados	
os	privilégios	da	relação:
• CLIENTE	da	conta	usu_teste:	o	que	permite	alteração	de	tabelas.
• Colunas	e	índices;	o	que	permite	excluir	tabelas,	visões,	triggers	ou	banco	
de dados.
Assinale	a	alternativa	CORRETA:
a)	(			)	 REVOKE	ALTER,	DROP	ON	CLIENTE	TO	USU_TESTE.
b)	(			)	 REVOKE	UPDATE,	DELETE	ON	CLIENTE	TO	USU_TESTE.
c)	(			)	 REVOKE	USAGE,	INDEX	ON	CLIENTE	TO	USU_TESTE.
d)	(			)	 REVOKE	ALTER,	DELETE	ON	CLIENTE	TO	USU_TESTE.
5	 O	 modelo	 de	 segurança	 de	 acesso	 de	 autorização	 baseado	 em	 papéis	
auxilia	a	conceder	os	privilégios	de	acesso	relacionados	com	o	trabalho	dos	
usuários,	ou	o	seu	papel	na	organização.	Sendo	assim,	assinale	a	alternativa	
CORRETA	que	descreve	uma	das	 características	da	 autorização	baseada	
em	papéis.
a)	(			)	 Os	 papéis	 podem	 ser	 criados	 por	meio	 do	 uso	 do	 comando	DROP	
ROLE.
b)	(			)	 Pode	 ser	 utilizado	 tanto	 com	 os	 controles	 de	 acesso	 discricionário	
quanto	obrigatório.
c)	(			)	 O	controle	da	inclusão	múltipla	de	papéis	pode	ser	feito	por	meio	da	
exclusão	mútua.
d)	(			)	 Cada	sessão	de	usuário	pode	ter	mais	que	um	papel	atribuído	e	mais	
que	um	usuário.
19
TÓPICO 2 — 
UNIDADE 1
GERENCIAMENTO DE USUÁRIOS E DE PRIVILÉGIOS NO 
BANCO DE DADOS
1 INTRODUÇÃO
O	usuário	faz	parte	do	grupo	de	pessoas	que	compõem	a	visão	sociotécnica	
dos	sistemas	empresariais,	 formados	por	hardware,	dados,	software	e	pessoas.	
Segundo	Sommerville	(2007),	os	usuários	são	pessoas	influenciadas	pela	forma	
como	 a	 organização	 é	 gerenciada.	 Eles	 também	 são	 influenciados	 pelas	 suas	
interações	com	outras	pessoas	dentro	e	fora	da	organização.
Decorre	 daí	 a	 importância	 do	 usuário	 no	 banco	 de	 dados.	A	 partir	 dos	
dados	 armazenados	 e	 por	meio	 de	 seus	 processos	 e	 atitudes,	 o	 usuário	 atribui	
o	verdadeiro	valor	ao	alcance	dos	objetivos	do	negócio.	A	confidencialidade,	ou	
seja,	a	proteção	aos	dados,	também	é	determinada	pelo	modo	como	os	usuários	
lidam	com	as	informações.	Nesse	contexto,	é	importante	conhecer	as	visões	que	os	
usuários	possuem	com	relação	ao	desenvolvimento	de	suas	atividades.	Em	síntese,	
a	visão	é	a	forma	como	o	usuário	enxerga	e	aplica	os	dados.	Muitos	usuários	podem	
compartilhar	uma	mesma	visão,	o	que	justifica	o	uso	de	grupos	de	usuários.
Neste	tópico,	você	conhecerá	os	conceitos	de	usuário	e	grupo	de	usuários.	
Você	também	vai	ver	a	importância	de	conhecer	a	visão	adequada	de	cada	usuário.	
Além	disso,	estudará	as	etapas	de	gerenciamento	e	a	utilização	de	scripts	para	a	
execução	de	comandos	SQL	e	para	a	manutenção	de	usuários.
O	sistema	de	banco	de	dados	é	formado	por	hardware,	software	e	pessoas.	
Cada	um	atua	de	uma	forma:	o	hardware	na	disponibilização	dos	recursos	físicos	
de	comunicação,	espaço	físico,	processamento	e	armazenamento;	o	software	na	
realização	das	atividades	de	acesso	ou	de	disponibilidade	dos	dados;	as	pessoas	
na	definição,	gerência	e	utilização	dos	dados.	Cada	parte	com	sua	função,	mas	
todas	com	total	importância	para	o	contexto	geral.	Especificamente,	com	relação	
às	 pessoas,	 para	 que	 elas	 possam	 utilizar	 os	 recursos,	 é	 preciso	 que	 sejam	
devidamente	cadastradas	no	banco	de	dados.	O	cadastramento	é	realizado	pelo	
DBA	e,	a	partir	daí,	as	pessoas	são	usuários	do	banco	de	dados,	com	identificação	
e senha de acesso. 
A	 administração	 de	 um	 banco	 de	 dados	 envolve	 ações	 referentes	 à	
criação	e	à	manutenção	do	dicionário	de	dados,	ao	gerenciamento	de	espaço,	ao	
acompanhamento	de	utilização	de	recursos	e	ao	gerenciamento	de	usuários	e	de	
privilégios.	
20
UNIDADE 1 — SEGURANÇA, CONTROLE, GERENCIAMENTO E ADMINISTRADOR DE BASE DE DADOS
O	 gerenciamento	 de	 usuários	 envolve,	 em	 um	 primeiro	 momento,	 a	
conceituação	 de	 usuários,	 grupos	 e	 visões.	 Na	 sequência,	 as	 atividades	 de	
identificação	do	usuário,	planejamento	de	grupos	e	de	visões,	as	quais	buscam	
conhecer	que	tipo	de	uso	ele	fará	com	os	dados.	Por	fim,	o	gerenciamento	dos	
usuários	e	a	manutenção	desses,	criando,	alterando	e	excluindo	usuários,	sempre	
no	propósito	de	gerar	confidencialidade,	integridade	e	disponibilidade	dos	dados.
A seguir, você visualizará o processo de gerenciamento e de manutenção de 
usuários do banco de dados, os níveis de abstração e o tipo de usuário para cada nível.
FIGURA – PROCESSO DE GERENCIAMENTO E MANUTENÇÃO DE USUÁRIOS
FONTE: Adaptada de <https://blog.saphir.com.br/gerenciamento-do-banco-de-dados-
por-que-se-preocupar-com-isso/>. Acesso em: 11 ago. 2021.
DICAS
TÓPICO 2 — GERENCIAMENTO DE USUÁRIOS E DE PRIVILÉGIOS NO BANCO DE DADOS
21
A	empresa	é	um	organismo	dinâmico	em	que	todos	os	dias	procedimentos	
são	 ajustados,	 pessoas	 são	 contratadas	 e,	 também,	 dispensadas.	 Toda	 essa	
movimentação	gera	manutenção	nos	 ambientes	operacionais	 e	 tecnológicos.	No	
caso	dos	bancos	de	dados,	é	preciso	registrar	a	entrada	de	novas	pessoas	autorizadas	
para	o	 acesso	aos	dados	 e	 retirar	 as	pessoas	que	 são	desligadas,	pois	 essas	não	
devem	mais	ter	acesso	aos	dados,	visto	que	é	necessário	preservar	a	integridade	e	a	
confidencialidade	dos	dados.
A seguir, você verá, a partir de uma situação de contratação de novos 
funcionários, quais procedimentos um DBA deve realizarpara a concessão de identificação 
de usuário aos novos funcionários.
FIGURA – IDENTIFICAÇÃO DE USUÁRIOS
DICAS
22
UNIDADE 1 — SEGURANÇA, CONTROLE, GERENCIAMENTO E ADMINISTRADOR DE BASE DE DADOS
FONTE: O autor
2 USUÁRIOS, GRUPOS E VISÕES
Segundo	Graves	(2003),	o	sistema	de	um	banco	de	dados	é	formado	pelo	
banco	de	dados	e	pelo	ambiente	disponível	para	o	seu	uso,	que	inclui	usuários,	
software	e	hardware.	O	hardware	é	necessário	para	hospedar	e	prover	recursos	
de	 interação	entre	os	 serviços	disponibilizados	pelos	 softwares.	Por	 sua	vez,	o	
software	 é	 composto	 pelo	 sistema	 operacional,	 pelo	 Sistema	 Gerenciador	 de	
Banco	de	Dados	(SGBD)	e	por	programas	de	diversas	finalidades.	Os	usuários	
são	as	pessoas	que,	de	alguma	forma,	utilizam	os	dados,	seja	para	desenvolver	os	
softwares	–	caso	dos	analistas	e	programadores	—,	para	gerenciar	os	dados	–	caso	
dos	administradores	de	banco	de	dados	(DBA)	—,	ou	para	utilizar	os	dados	–	caso	
dos	clientes	ou	usuários	finais	(figura	a	seguir).
TÓPICO 2 — GERENCIAMENTO DE USUÁRIOS E DE PRIVILÉGIOS NO BANCO DE DADOS
23
FIGURA 3 – INTERAÇÃO DOS USUÁRIOS COM BANCO DE DADOS
FONTE: O autor
Em	um	ambiente	operacional	de	tecnologia,	há	servidores	que	atendem	
aos	 sistemas	corporativos	e	bancos	de	dados	que	 trabalham	coordenados	pelo	
sistema	 operacional	 do	 servidor	 onde	 estão	 instalados,	 mas	 com	 autonomia	
em	suas	definições.	Há	 também	usuários	do	sistema	operacional	utilizando	os	
sistemas	corporativos,	e	devem	existir	os	usuários	do	banco	de	dados.
Os	usuários	do	banco	de	dados	possuem	definição	própria	com	relação	às	
definições	no	servidor	hospedeiro.
Se	um	usuário	é	criado	no	âmbito	do	banco	de	dados,	o	SGBD	tem	total	
controle	das	ações	e	visões	deste	usuário.	A	cada	usuário	é	associado	um	nome	de	
identificação,	que	serve	de	meio	para	a	definição	de	sua	visão	no	banco	de	dados.	
Segundo	Macedo	(2011),	os	nomes	dos	usuários	de	banco	de	dados	são	globais	para	
todo	o	agrupamento	de	bancos	de	dados	(e	não	próprios	de	cada	banco	de	dados).
Em algumas instalações, os usuários do banco de dados são criados a partir 
dos usuários nos servidores hospedeiros, mas é fato que o SGBD possui seus próprios 
usuários cadastrados, independentemente da origem da criação.
INTERESSA
NTE
Segundo	 o	 dicionário	Aurélio	 (2018),	 a	 visão	 é	 o	 ato	 ou	 efeito	 de	 ver.	
Para	 o	 banco	 de	 dados,	 a	 visão	 se	 refere	 às	 informações	 ou	 ao	 conjunto	 de	
informações	 que	 o	usuário	 busca.	Assim,	 entende-se	 visão	 como	um	 conjunto	
virtual	de	informações	formado	a	partir	da	junção	de	informações	do	banco	de	
24
UNIDADE 1 — SEGURANÇA, CONTROLE, GERENCIAMENTO E ADMINISTRADOR DE BASE DE DADOS
dados.	Silberschatz,	Korth	e	Sudarshan	(2012)	consideram	que	proporcionar	ao	
usuário	uma	visão	abstrata	é	um	dos	maiores	benefícios	de	um	banco	de	dados.	
Na	visão	abstrata,	o	sistema	oculta	a	forma	de	armazenamento	e	de	manutenção	
dos	dados.	Nesse	sentido,	os	mesmos	autores	propõem	três	níveis	de	abstração	
de	 usuário,	 cada	 um	 com	 sua	 representação	 conceitual	 dos	 dados.	 Buscando	
eficiência	na	abstração	dos	dados,	o	SGBD	fornece	as	 informações	apropriadas	
para	cada	nível	de	abstração	de	usuário.	Assim,	cada	nível	 terá	uma	abstração	
que	estará	ocultando	a	complexidade	e	simplificando	a	interação.	Os	três	níveis	
de	abstração	de	usuário	são:	físico,	lógico	e	visão.	Veja	a	seguir:
•	 O	 nível	 de	 abstração	 físico	 ou	 interno	 é	 considerado	 o	 nível	mais	 baixo	 e	
apresenta	os	dados	como	são	armazenados	no	banco	de	dados	(estruturas).
•	 O	nível	de	abstração	lógico	ou	conceitual	é	o	nível	intermediário,	que	apresenta	
os	dados	e	os	seus	relacionamentos.
•	 O	nível	de	visão	ou	nível	externo	é	o	mais	alto,	utilizado	pelos	usuários	finais.	
Ele	apresenta	somente	o	que	é	necessário	a	esses	usuários.
Na	figura	a	seguir,	você	pode	ver	os	níveis	de	abstração.	
FIGURA 4 – NÍVEIS DE ABSTRAÇÃO
FONTE: Adaptada de Silberschatz, Korth e Sudarshan (2012)
De	acordo	com	Silberschatz,	Korth	e	Sudarshan	(2012),	um	banco	de	dados	
deve	prover	informações	a	todo	tipo	de	usuário,	conforme	as	suas	necessidades	
específicas.	Essas	necessidades	acabam	gerando	visões	distintas.	Dessa	forma,	há	
múltiplas	visões	dos	dados.	Por	exemplo,	em	uma	organização,	os	funcionários	
do	departamento	pessoal	precisam	ver	as	informações	necessárias	para	a	folha	de	
pagamento	e	para	o	recolhimento	dos	impostos	e	das	obrigações	legais.	Entre	as	
informações	da	folha	de	pagamento,	você	pode	considerar:	funcionário,	situação	
(ativo,	 férias,	 desligado,	 licença-maternidade,	 afastamento	 etc.),	 salário,	 faltas	
no	mês,	 folha	de	ponto,	departamento,	plano	de	saúde,	entre	outras.	Assim,	o	
administrador	do	banco	de	dados	cria	uma	visão	específica	com	essas	informações.	
Já	os	funcionários	do	setor	de	compras	precisam	ver	as	informações	relativas	a	
contratos	(vendas),	estoque,	fornecedores,	mercado,	entre	outras.
TÓPICO 2 — GERENCIAMENTO DE USUÁRIOS E DE PRIVILÉGIOS NO BANCO DE DADOS
25
Cada	visão	pode	atender	a	vários	usuários	e,	para	o	banco	de	dados,	os	
vários	usuários	 formam	um	grupo.	Assim,	em	um	banco	de	dados,	um	grupo	
representa	o	 conjunto	de	usuários	que	 têm	a	mesma	visão	dos	dados.	Manter	
grupos	de	usuários	simplifica	a	administração	de	usuários	em	um	banco	de	dados	
na	medida	em	que	as	visões	e	ações	podem	ser	atribuídas	a	partir	do	grupo	e	não	
individualmente	a	cada	usuário.
3 ETAPAS DE GERENCIAMENTO DE USUÁRIOS
Até	agora,	você	viu	que	no	banco	de	dados	o	acesso	é	feito	por	usuários	
e	 que	 os	 dados	 são	 apresentados	 a	 ele	 de	 acordo	 com	 as	 suas	 necessidades.	
Além	disso,	todo	usuário	deve	ser	identificado.	Assim,	é	muito	importante	para	
a	 segurança,	 a	 integridade	 e	 a	 confidencialidade	do	 banco	de	dados	 conhecer	
os	usuários	que	o	utilizam	e	classificá-los	de	acordo	com	as	suas	necessidades	e	
apropriações	de	uso.
Portanto,	o	gerenciamento	de	usuários	controla	os	usuários	do	banco	de	
dados,	disponibilizando	as	visões	dos	objetos	que	proverão	os	dados	necessários.	
Os	usuários	são	classificados	em	função	do	tipo	de	utilização	que	se	dá	no	banco	
de	dados:	administradores,	técnicos,	especialistas	e	finais	(figura	a	seguir).
FIGURA 5 – TIPOS DE USUÁRIOS
FONTE: O autor
 
• Usuários administradores
Há	dois	usuários	administradores:	administrador	de	dados	e	administrador	
de	banco	de	dados	(DataBase	Administrator	[DBA]).	Eles	atuam	no	nível	físico	do	
banco	de	dados	e	têm	as	funções	listadas	a	seguir.
o	 Administrador	de	dados:	define	os	dados,	seus	relacionamentos	e	o	modo	
como	as	aplicações	podem	compartilhar	os	dados;	atualiza	o	esquema	do	
banco	de	dados;	mantém	a	consistência	das	informações.
26
UNIDADE 1 — SEGURANÇA, CONTROLE, GERENCIAMENTO E ADMINISTRADOR DE BASE DE DADOS
o	 Administrador	de	banco	de	dados:	gerencia	a	estrutura	de	armazenamento,	
a	 estratégia	 e	 a	 autorização	 de	 acesso	 aos	 dados;	 define	 controles	 de	
integridade	 e	 estratégias	 de	 backup	 e	monitoramento	 do	 desempenho.	
Gerencia	 e	 planeja	 as	 atividades	 de	manutenção	 dos	 bancos	 de	 dados,	
define	políticas	de	segurança	e	planos	de	contingência.
• Usuários técnicos
Os	usuários	técnicos	atuam	no	nível	lógico,	pois	utilizam	os	dados	para	o	
desenvolvimento	de	sistemas	diretamente	no	SGBD.	Nessa	atuação,	é	necessária	a	
utilização	direta	do	banco	de	dados	para	testes	e	definições.	Analistas	de	sistemas	
e	desenvolvedores	são	usuários	técnicos,	como	você	pode	ver	a	seguir.
o	 Analista	de	sistemas:	define	os	requisitos	dos	usuários	finais	e	desenvolve	
especificações	para	transações	que	atendam	a	esses	requisitos.
o	 Desenvolvedor	de	aplicações:	implementa	as	especificações	dos	programas,	
testando,	depurando,	documentando	e	fazendo	a	manutenção.
o	 Desenvolvedor	de	banco	de	dados:	trabalha	com	a	construção	de	triggers	
e	linguagens	de	programação	do	banco	de	dados,	como:	PL/	SQL	(Oracle),	
Transact	SQL	(SQL	Server)	e	PL/pgSQL	(PostgreSQL).	Essas	linguagens	
costumam	ter	um	bom	desempenho,	pois	ficam	armazenadasno	banco	
de	dados.	O	MySQL	não	possui	uma	 linguagem	de	programação,	mas	
disponibiliza	 todos	 os	 recursos	 necessários	 para	 o	 desenvolvimento	 de	
procedures	e	triggers.
• Usuários especialistas
Os	usuários	especialistas	atuam	no	nível	de	visão	com	a	função	do	usuário	
final,	mas	também	atuam	no	nível	lógico,	pois	manipulam	dados	sem	o	uso	de	
aplicativos	 e	 utilizam	 linguagens	 de	 consulta	 diretamente	 no	 banco	 de	 dados	
para	obter	consultas	com	o	intuito	de	extração	de	conhecimento.	Para	isso,	esses	
usuários	precisam	conhecer	a	estrutura	do	banco	de	dados.	Como	exemplo	de	
usuário	especialista,	você	pode	considerar	o	analista	de	negócio	que	utiliza	o	data	
warehouse	e	ferramentas	de	Business	Intelligence.
•	 Usuários	finais
Os	 usuários	 finais	 atuam	 no	 nível	 de	 visão.	 Eles	manipulam	 os	 dados	
do	 banco	 de	 dados	 por	 meio	 de	 interfaces	 construídas	 pelos	 aplicativos	 das	
organizações	em	atendimento	aos	processos	de	negócio.	Contudo,	desconhecem	
a	estrutura	do	SGBD.
TÓPICO 2 — GERENCIAMENTO DE USUÁRIOS E DE PRIVILÉGIOS NO BANCO DE DADOS
27
4 POLÍTICA DE SEGURANÇA DA INFORMAÇÃO
A	 informação	 é	 o	 elemento	 básico	 para	 que	 a	 evolução	 aconteça	 e	 o	
desenvolvimento	 humano	 se	 realize	 de	 forma	 completa	 (COURY,	 2001	 apud 
CARDOSO;	 OLIVEIRA,	 2013).	 Para	 Campos	 (2007,	 p.	 21),	 “a	 informação	 é	
elemento	essencial	para	 todos	os	processos	de	negócio	da	organização,	 sendo,	
portanto,	um	bem	ou	ativo	de	grande	valor”.	Dessa	forma,	é	possível	dizer	que	a	
informação	é	o	coração	que	pulsa	nas	organizações.
Portanto,	diante	de	uma	variedade	de	ameaças	e	vulnerabilidades,	o	DBA	
deve	 se	 preocupar	 com	a	 confidencialidade,	 a	 integridade	 e	 a	 disponibilidade	
da	informação.	A	confidencialidade	é	a	garantia	de	que	a	 informação	pode	ser	
acessada	somente	por	pessoas	autorizadas	(ABNT,	2005).	Se	o	acesso	acontecer	
por	 pessoa	 não	 autorizada,	 ocorrerá	 a	 quebra	 de	 sigilo,	 o	 que	 pode	 acarretar	
danos	para	a	organização.	Como	exemplo,	considere	o	uso	de	senhas	que	não	
sejam	de	propriedade	do	usuário.
A	 integridade	é	a	garantia	da	exatidão	e	da	 completeza	da	 informação	
e	dos	métodos	de	processamento	(ABNT,	2005).	Assim,	“garantir	a	integridade	
é	 permitir	 que	 a	 informação	 não	 seja	 modificada,	 alterada	 ou	 destruída	 sem	
autorização,	que	ela	seja	 legítima	e	permaneça	consistente”	(DANTAS,	2011,	s.	
p.).	Qualquer	violação	da	informação	ocasionará	quebra	de	integridade.	Por	sua	
vez,	 a	 disponibilidade	 é	 a	 garantia	 de	 que	 os	 usuários	 autorizados	 obtenham	
acesso	à	informação	e	aos	ativos	correspondentes	sempre	que	necessário	(ABNT,	
2005).	A	indisponibilidade	por	quaisquer	motivos,	voluntários	ou	não,	acarreta	
quebra	de	disponibilidade.
A	gerência	de	usuários	do	banco	de	dados	tem	importância	fundamental	
na	definição	de	uma	boa	política	de	segurança.	A	vulnerabilidade	se	dá	também	a	
partir	de	equipamentos	tecnológicos,	mas	principalmente	a	partir	dos	usuários.	Isso	
potencializa	a	importância	da	inclusão	de	regras	relacionadas	ao	comportamento	
e	à	postura	dos	usuários	na	implantação	de	uma	política	de	segurança.
Vamos lembrar que um o data warehouse, considerado a base para a business 
intelligence, é um armazém de dados utilizado para armazenar dados históricos dos 
sistemas. Normalmente, os dados são desnormalizados. Eles são utilizados somente para 
consultas, levando o grupo estratégico das empresas a tomar decisões baseadas em fatos, 
não em intuições e especulações.
Por sua vez, a business intelligence é um processamento de dados que gera informações 
que embasam a tomada de decisão. Essas informações podem ser apresentadas em formato 
de relatórios ou dashboard. Para saber mais sobre a business intelligence, confira o trabalho 
de Moura “Business Intelligence” (de 2000) na íntegra em: https://qrgo.page.link/qzvp.
DICAS
28
UNIDADE 1 — SEGURANÇA, CONTROLE, GERENCIAMENTO E ADMINISTRADOR DE BASE DE DADOS
A	 Política	 de	 Segurança	 da	 Informação	 é	 um	 documento	 elaborado	
na	 empresa	 que	 contém	 normas,	 métodos	 e	 procedimentos	 que	 garantem	 a	
viabilidade	e	o	uso	dos	ativos	somente	por	pessoas	autorizadas	e	que	realmente	
necessitam	deles	para	realizar	as	suas	funções	na	organização	(FONTES,	2008).	
Entre	 as	 seções	da	Política	de	Segurança	da	 Informação,	 está	 a	de	 controle	de	
acesso,	diretamente	ligada	aos	usuários,	pois	é	por	meio	da	concessão	de	acesso	
que	o	usuário	passa	 a	 ter	 visibilidade	dos	objetos	 e	do	 ambiente	do	banco	de	
dados.	O	acesso	é	fornecido	ao	usuário	por	meio	de	duas	informações:	nome	de	
usuário,	para	identificar	os	usuários,	e	uma	senha,	para	garantir	o	acesso	restrito	
ao	ambiente.	É	importante	definir	uma	política	de	senhas	a	fim	de	proteger	os	
dados	do	banco	de	dados.	A	política	de	senhas	pode	incluir	regras	de	criação	e	
atualização,	como	estas:
 
•	 adotar	prazo	de	validade	para	as	senhas,	obrigando	o	usuário	a	alterar	a	sua	
senha	em	um	período	determinado	(30	dias,	por	exemplo);
•	 estabelecer	 um	 critério	 de	 formação,	 por	 exemplo:	 tamanho,	 utilização	 de	
caracteres	especiais,	maiúscula	e	minúscula,	mistura	de	números	e	letras	etc.;
•	 determinar,	por	uma	lista,	um	conjunto	de	senhas	proibidas;
•	 não	permitir	a	repetição	de	senhas	já	utilizadas;
•	 buscar	informações	fáceis	de	memorizar,	mas	não	utilizar	datas	comemorativas	
pessoais.
A	política	pode	ainda	sugerir	ao	usuário	atitudes	como:
•	 Não	permitir	que	o	observem	enquanto	digita	a	senha.
•	 Não	fornecer	a	senha	a	terceiros	(a	senha	é	intransferível	e	confidencial).
•	 Ter	cuidado	para	utilizar	a	senha	em	equipamentos	confiáveis.
Dessa	 forma,	 o	 DBA	 deve	 buscar	 conhecer	 os	 usuários	 e	 as	 suas	
necessidades	 de	 uso	 efetivo	 dos	 recursos	 do	 banco	 de	 dados	 para	 não	 gerar	
visibilidade	desnecessária.	Outro	ponto	 importante	 refere-se	 à	 conscientização	
do	usuário	quanto	à	importância	do	cumprimento	dos	pontos	estabelecidos	na	
política	 de	 segurança	 da	 informação.	 Há	 diversos	 movimentos	 educacionais	
focados	em	desenvolver	esse	tipo	de	conscientização.
Para entender melhor a conscientização de usuários, acesse o link a seguir: 
https://qrgo.page.link/Uv4S
DICAS
TÓPICO 2 — GERENCIAMENTO DE USUÁRIOS E DE PRIVILÉGIOS NO BANCO DE DADOS
29
5 USO DE SCRIPTS
Um	script	é	um	conjunto	de	instruções	organizadas	para	a	execução	de	
um	procedimento,	denominado	no	MySQL	de	processamento	batch.	Em	síntese,	
o	script	é	um	arquivo	de	texto	com	a	extensão.	SQL	gerado	a	partir	de	softwares	de	
edição.	No	caso	de	bancos	de	dados,	utiliza-se	o	script	para	escrever	as	instruções	
a	realizar,	agilizando	a	execução	e	gerando	uma	documentação.	O	uso	de	scripts	
favorece	 também	a	 reutilização.	Esse	 recurso	pode	 ser	utilizado,	por	exemplo,	
em	um	conjunto	de	procedimentos	que	devem	ser	rodados	várias	vezes,	como	
rotinas	bimestrais	de	verificação	de	existência	de	usuários	inativos.
Considere	que	a	criação	de	um	usuário	implica	a	concessão	de	privilégios	
a	 várias	 tabelas.	 Toda	 vez	 que	 se	 cria	 um	 usuário,	 as	 permissões	 devem	 ser	
atribuídas.	Dessa	forma,	para	não	ter	de	montar	o	conjunto	de	instruções	sempre	
que	cria	um	usuário,	você	pode	criar	um	script:
QUADRO 1 – INSTRUÇÕES
FONTE: O autor
Todo	 comando	 oferecido	 pelo	 SGBD	 MySQL	 pode	 ser	 usado	 em	 um	
script.	Toda	instrução	deve	estar	em	uma	linha	e	deve	haver	ponto	e	vírgula	(;)	
ao	final	da	linha	para	identificar	o	fim	do	comando.	O	Manual	de	Referência	do	
MySQL	8.0	elenca	os	motivos	a	seguir	para	se	utilizar	um	script	(MYSQL,	2019a).
•	 utilizar	consulta	frequentemente	e	evitar	redigitação	dos	comandos;
•	 reaproveitar	instruções	já	existentes,	adaptando-as	a	novas	necessidades;
•	 otimizar	tempo	na	correção	de	arquivos	extensos.	Imagine	que	você	tem	40	
linhas	de	comandos	e	que	ocorre	um	erro	no	comando	20.	Se	você	não	tiver	
os	comandos	em	script,	terá	de	redigitar	os	19	comandos	que	já	haviam	sido	
executados	sem	erro.
30
UNIDADE 1 — SEGURANÇA, CONTROLE, GERENCIAMENTOE ADMINISTRADOR DE BASE DE DADOS
A	execução	do	arquivo	script	se	dá	por	meio	do	MySQL	interativo,	a	partir	
da commandline,	em	arquivo	script	e	a	partir	de	um	script shell.	Veja	a	seguir.
• Por meio do MySQL interativo
O	comando	para	a	execução	do	script	é:	SOURCE <endereço>nomeArquivo
Script.sql.	O	endereço	é	a	localização	do	arquivo	no	disco.	Recomenda-se	sempre	
utilizar	o	endereço	completo.	Quando	o	endereço	é	omitido,	o	arquivo	de	script	
será	 procurado	 somente	 no	 diretório	 padrão,	 ou	 seja,	 onde	 foi	 submetida	 a	
execução.	Por	exemplo:
Source C:\Program Files\Microsoft\mySQL\scripts\ criausuario.sql
• A partir da commandline
A	submissão	a	partir	da	commandline	implica	a	utilização	do	cliente	mysql.	
Deve-se	ter	uma	conexão	ativa.	Veja:
mysql -u root -p <C: \ Usuários \ Usuário \ Desktop \ 
nomeArquivoScript.sql
Em	casos	de	erros,	o	script	para	e	não	executa	as	instruções	a	partir	do	
erro.	Em	alguns	casos,	é	possível	permitir	a	execução	mesmo	em	casos	de	erro.	
Nessas	condições,	deve-se	utilizar	o	parâmetro	-f	ou	--f.	Veja:
mysql -u root -p <C: \ Usuários \ Usuário \ Desktop \ 
nomeArquivoScript.sql - f
ou
mysql -u root -p <C: \ Usuários \ Usuário \ Desktop \ 
nomeArquivoScript.sql --f
• Em arquivo script
Um	arquivo	script	pode	executar	o	comando	SOURCE	para	acionar	outros	
scripts	durante	a	execução,	mas	isso	não	é	aconselhável.
• A partir de um script shell
A	linha	de	execução	do	script	SQL	pode	ser	uma	linha	de	comando	em	
um	 arquivo	 shell.	 Dessa	 forma,	 é	 possível	 utilizar	 algoritmos	 para	 atender	 a	
necessidades,	com	instruções	de	decisão	e	repetição.	Veja	um	exemplo:
TÓPICO 2 — GERENCIAMENTO DE USUÁRIOS E DE PRIVILÉGIOS NO BANCO DE DADOS
31
• Procedimentos adicionais
O	resultado	da	execução	dos	comandos	pode:
•	 ser	mostrado	em	um	pager	por	meio	do	parâmetro	|more;
•	 SOURCE	<endereço>nomeArquivoScript.sql	|	more;
•	 ser	gravado	em	um	arquivo,	mas	para	isso	deve-se	fornecer	o	nome	do	arquivo	
na	execução	do	script;
•	 SOURCE	<endereço>nomeArquivoScript.sql	>	arquivoSaida.out.
Para	 gerar	 o	 formato	 de	 saída	 interativo,	 deve-se	 usar	mysql	 -t.	 Já	 para	
apresentar	na	tela	a	saída	das	instruções	que	são	executadas,	deve-se	usar	mysql	-v.
• Manutenção de usuários
No	banco	de	dados,	 todos	os	usuários	devem	ser	 identificados	para	ter	
acesso	aos	recursos.	Dessa	forma,	o	DBA	tem	como	função	manter	os	usuários	no	
sistema	de	banco	de	dados.	Para	manter	o	usuário,	o	SGBD,	por	meio	da	linguagem	
de	consulta	estruturada	(Structured Query Language [SQL]),	disponibiliza	recursos	
para	criação,	alteração	e	exclusão.
Aqui,	 você	 deve	 considerar	 a	 sintaxe	 apresentada	 pelo	 SGBD	MySQL,	
mas	todos	os	demais	SGBDs	possuem	instrução	semelhante,	visto	que	a	SQL	é	
padronizada	pelo	 Instituto	Americano	de	Padronização	 (ANSI),	 o	 que	 a	 torna	
uma	linguagem	padrão	para	os	bancos	de	dados	que	a	utilizam.
Script shell (ou simplesmente script) é um arquivo, executado pelo nome, que 
contém uma sequência de um ou mais comandos. Há vários programas shell: Bourne Shell, 
Korn Shell e C Shell.
DICAS
32
UNIDADE 1 — SEGURANÇA, CONTROLE, GERENCIAMENTO E ADMINISTRADOR DE BASE DE DADOS
• Criação de Usuários
A	criação	de	um	usuário	nos	SGBDs	é	efetivada	por	meio	do	comando	
CREATE	USER.	O	DBA	deve	definir	o	perfil	do	usuário	para	atribuir-lhe	a	melhor	
configuração.	É	recomendado	definir	um	padrão	de	utilização	para	o	ambiente,	de	
acordo	com	as	necessidades	de	operação.	As	opções	de	configuração	do	CREATE	
USER	são	apresentadas	na	seguinte	sintaxe:
CREATE USER [IF NOT EXISTS]
 nomeUsuario [opçãoAutenticação] [, nomeUsuário [opçãoAutenticação]] ...
 DEFAULT ROLE nomeLista [, nomeLista ] ... [REQUIRE {NONE | opçãoTLS
 [[AND] opçãoTLS] ...}]
 [WITH opçãoRecurso [opçãoRecurso] ...]
 [opçãoSenha | opçãoBloqueio] ...
O	nomeUsuário	representa	a	identificação	e	o	nome	do	host.	A	identificação	
e	o	nome	do	host	devem	estar	entre	aspas	e	separados	pelo	caractere	especial	@.	
Assim:	‘identificação’@’nomeHost’.	
A	formação	do	nomeUsuario	pode	ser	com	letras,	números	e	caracteres	
especiais.	Além	disso,	a	opção	Autenticação	define	o	método	de	autenticação:
IDENTIFIED BY ‘senha’
 | IDENTIFIED BY PASSWORD ‘senhaHash’
 | IDENTIFIED WITH pluginAutenticação
 | IDENTIFIED WITH pluginAutenticação AS ‘senhaHash’
A	seguir,	veja	as	definições.
•	 IDENTIFIED	BY:	 servidor	 atribui	 plug-in	 implicitamente	 e	 atribui	 a	 senha	
especificada.
•	 IDENTIFIED	 BY	 PASSWORD:	 servidor	 atribui	 plug-in	 implicitamente	 e	
atribui	o	valor	hash	(obtido	pelo	método	password())	a	uma	string	que	deseje	
a senha.
•	 IDENTIFIED	WITH:	servidor	atribui	plug-in	especificado	e	a	conta	não	tem	
senha.
Caso você tenha dúvidas na composição dos comandos SQL, sempre busque 
as informações disponíveis no site oficial de documentação do SGBD que escolher.
IMPORTANT
E
TÓPICO 2 — GERENCIAMENTO DE USUÁRIOS E DE PRIVILÉGIOS NO BANCO DE DADOS
33
•	 IDENTIFIED	 WITH	 pluginAutenticação	 AS	 ‘senhaHash’:	 servidor	 atribui	
plug-in	 especificado	 e	 a	 conta	 não	 tem	 senha.	Armazena	 a	 senhaHash,	 se	
informada.
•	 DEFAULT	ROLE	nomeLista	[,	nomeLista	]	 ...:	define	a	 lista	de	funções	que	
deverão	 estar	 ativas	 após	 a	 autenticação	 do	 usuário.	 A	 lista	 de	 funções	
equivale	à	inclusão	de	um	usuário	a	um	grupo.
•	 Opção	 TLS:	 especifica	 opções	 relacionadas	 à	 conexão.	 Quando	 usado	 o	
parâmetro	NONE	a	conta	não	possui	requisito	SSL	ou	X	509.	
Veja:	
SSL
| X509
| CIPHER 'cipher'
| ISSUER ‘emissor’
| SUBJECT ‘objeto’
Opção	recurso:	define	limite	no	uso	de	recursos	do	servidor.	Veja:
MAX_QUERIES_PER_HOUR valor
| MAX_UPDATES_PER_HOUR valor
| MAX_CONNECTIONS_PER_HOUR valor
| MAX_USER_CONNECTIONS valor
Opção	senha:	define	parâmetros	para	gerenciamento	de	senhas.	Veja:
PASSWORD EXPIRE [DEFAULT | NEVER | INTERVAL N DAY]
| PASSWORD HISTORY {DEFAULT | N}
| PASSWORD REUSE INTERVAL {DEFAULT | N DAY}
| PASSWORD REQUIRE CURRENT [DEFAULT | OPTIONAL]
Opção	bloqueio:	bloqueia	e	desbloqueia	contas.	Veja:
ACCOUNT LOCK
| ACCOUNT UNLOCK
Suponha	que,	 em	um	ambiente,	o	DBA	definiu	que	 todo	usuário	final,	
quando	criado,	tem	a	seguinte	configuração	em	sua	conta:
•	 deve	participar	do	grupo	USUARIOSVISAO;
•	 é	obrigado	a	criar	uma	nova	senha	no	primeiro	acesso;
•	 pode	reutilizar	senhas	em	um	espaço	de	60	dias;
•	 pode	exigir	redefinição	de	senha	a	cada	30	dias.
34
UNIDADE 1 — SEGURANÇA, CONTROLE, GERENCIAMENTO E ADMINISTRADOR DE BASE DE DADOS
O	comando	de	criação	do	usuário,	segundo	a	especificação,	seria:	CREATE 
USER ‘ana.silva’@'localhost' IDENTIFIED BY ‘123456’.
DEFAULT ROLE USUARIOSVISAO PASSWORD EXPIRE
PASSWORD REUSE INTERVAL 60 DAY PASSWORD EXPIRE INTERVAL 30 DAY;
• Alteração de usuários
A	alteração	de	um	usuário	nos	SGBDs	é	efetivada	por	meio	do	comando	
ALTER	USER,	cujas	opções	de	configuração	são	apresentadas	na	seguinte	sintaxe:
O nome de contas de usuários é armazenado na tabela mysql_user. Cada linha 
da tabela identifica o usuário, o nome do host, o password e os privilégios. O SGBD trata a 
identificação do usuário como case sensitive, ou seja, diferencia letras maiúsculas de letras 
minúsculas. Já para o nome do host, isso não se aplica.
IMPORTANT
E
ALTER	USER	[IF	EXISTS]
nomeUsuario	[opçãoAutenticação]	[,	nomeUsuário	[opçãoAutenticação]]	...
[REQUIRE	{NONE	|	opçãoTLS	[[AND]	opçãoTLS]	...}]
[WITH	opçãoRecurso	[opçãoRecurso]	...]
[opçãoSenha	|	opçãoBloqueio]	...
ALTER	USER	[IF	EXISTS]	USER()	opçãoAutenticaçãoUsuario
ALTER	USER	[IF	EXISTS]	user	DEFAULT	ROLE
{NONE	|	ALL	|	nomeLista	[,nomeLista]	...}	Onde:
•	 nomeUsuário	representa	a	identificação	e	o	nome	do	host.
•	 opçãoAutenticação	define	o	método	de	autenticação.
IDENTIFIED	 BY	 ‘identificação’	 [REPLACE	 ‘identificaçãoAtual’]	 [RETAIN	
CURRENT	PASSWORD]
|	IDENTIFIED	WITH	pluginAutenticação
|	IDENTIFIED	WITH	pluginAutenticação	BY	‘senha’	[REPLACE	‘senhaAtual’]
[RETAIN	CURRENT	PASSWORD]
|	IDENTIFIED	WITH	pluginAutenticação	AS	‘senhaHash’
|	DISCARD	OLD	PASSWORD
TÓPICO 2 — GERENCIAMENTO DE USUÁRIOSE DE PRIVILÉGIOS NO BANCO DE DADOS
35
•	 Opção	Autenticação	Usuário	modifica	senhas.
IDENTIFIED BY ‘senha’
[REPLACE ‘senhaAtual’]
[RETAIN CURRENT PASSWORD]
| DISCARD OLD PASSWORD
•	 Opção	 TLS	 especifica	 opções	 relacionadas	 à	 conexão.	 Quando	 é	 usado	 o	
parâmetro	NONE,	a	conta	não	possui	requisito	SSL	ou	X	509.
SSL
| X509
| CIPHER 'cipher'
| ISSUER ‘emissor’
| SUBJECT ‘objeto’
•	 Opção	Recurso	define	limite	no	uso	de	recursos	do	servidor.
MAX_QUERIES_PER_HOUR valor
| MAX_UPDATES_PER_HOUR valor
| MAX_CONNECTIONS_PER_HOUR valor
| MAX_USER_CONNECTIONS valor
•	 Opção	Senha	define	parâmetros	para	gerenciamento	de	senhas.
PASSWORD EXPIRE [DEFAULT | NEVER | INTERVAL N DAY]
| PASSWORD HISTORY {DEFAULT | N}
| PASSWORD REUSE INTERVAL {DEFAULT | N DAY}
| PASSWORD REQUIRE CURRENT [DEFAULT | OPTIONAL]
•	 Opção	Bloqueio	bloqueia	e	desbloqueia	contas.
ACCOUNT LOCK
| ACCOUNT UNLOCK
Por	 exemplo,	 suponha	 que,	 em	 um	 ambiente,	 o	 DBA	 resolveu	 que	 a	
partir	de	hoje	todos	os	usuários	deverão	trocar	as	suas	senhas	e	estar	inseridos	
nos	grupos	VENDEDOR	e	ASSISTENTE.	O	comando	de	alteração	do	usuário,	
segundo	a	especificação,	seria:
ALTER USER ‘ana.silva’@'localhost'
DEFAULT ROLE VENDEDOR, ASSISTENTE PASSWORD EXPIRE;
36
UNIDADE 1 — SEGURANÇA, CONTROLE, GERENCIAMENTO E ADMINISTRADOR DE BASE DE DADOS
• Exclusão de usuários
A	exclusão	de	um	usuário	nos	SGBDs	é	efetivada	por	meio	do	comando	
DROP	USER,	cujas	opções	de	configuração	são	apresentadas	na	seguinte	sintaxe:
DROP USER [IF EXISTS] nomeUsuario [,nomeUsuario] ...
A	utilização	da	cláusula	IF	EXISTS	implica	o	envio	de	um	aviso	em	caso	de	
erro	na	execução.	Quando	se	exclui	um	usuário,	todos	os	recursos	disponibilizados	
a	ele	devem	ser	excluídos.	No	caso	do	SGBD	MySQL,	os	privilégios	são	eliminados,	
mas	o	DBA	deve	se	encarregar	de	excluir	os	objetos	criados	pelo	usuário,	pois	
essa	não	é	uma	operação	realizada	automaticamente.	Sugere-se	que	os	objetos	
utilizados	na	produção	do	negócio	sejam	criados	com	o	usuário	ADMIN,	que	não	
será	eliminado,	pois	é	o	usuário	criado	na	instalação	do	banco	de	dados.
• Criação de listas
Uma	lista	representa	um	usuário	com	várias	funções	autorizadas	para	uso.	
Depois	que	o	usuário	é	criado,	é	possível	inseri-lo	em	listas	por	meio	da	cláusula	
DEFAULT	ROLE.	A	definição	das	listas	deve	ser	estabelecida	a	partir	do	tipo	de	
visibilidade	que	o	conjunto	de	usuários	pode	ter	dos	objetos.	A	administração	de	
listas	facilita	a	manutenção	e	padroniza	o	uso	dos	recursos,	mas	ela	nem	sempre	
é	possível.
Pode-se	 adicionar	 quantos	 usuários	 e/ou	 listas	 forem	 necessárias.	 A	
criação	de	uma	 lista	é	 feita	por	meio	do	comando	CREATE	ROLE,	 como	você	
pode	ver	a	seguir:
CREATE ROLE [IF NOT EXISTS nomeLista [, nomeLista] ...
Como	 exemplo,	 suponha	 que	 os	 estagiários	 da	 área	financeira	 de	uma	
empresa	devem	ter	a	mesma	visibilidade	dos	usuários	do	banco	de	dados.	Pode-
se	criar	uma	lista	para	esses	estagiários	do	departamento	financeiro.	Nesse	caso,	
o	comando	seria:
CREATE ROLE ESTAG-FIN;
• Alteração de listas
A	 alteração	 das	 configurações	 das	 listas	 deve	 ser	 realizada	 a	 partir	 do	
comando	ALTER	USER.
TÓPICO 2 — GERENCIAMENTO DE USUÁRIOS E DE PRIVILÉGIOS NO BANCO DE DADOS
37
• Exclusão de listas
A	 exclusão	 de	 listas	 é	 realizada	 a	 partir	 do	 comando	 DROP	 ROLE,	
conforme	sintaxe	a	seguir:
DROP ROLE [IF EXISTS] nomeLista [, nomeLista] ...
38
RESUMO DO TÓPICO 2
Neste tópico, você aprendeu que:
•	 Os	usuários	finais	somente	acessam	o	banco	de	dados	por	meio	de	aplicações.	
Atuam	no	nível	de	visão.	
•	 O	 usuário	 especialista	 acessa	 os	 dados	 via	 aplicação	 e,	 também,	 consegue	
realizar	consultas	diretamente	no	banco	de	dados,	por	linguagens	específicas.
•	 O	programador	é	o	usuário	que	constrói	as	aplicações	para	acesso	ao	banco	de	
dados	e	o	DBA	é	o	profissional	responsável	pela	manutenção	do	banco	de	dados.	
•	 O	 analista	 de	 sistemas	 é	 um	 profissional	 da	 área	 de	 tecnologia,	 mas	 é	
responsável	pela	definição	das	aplicações	que	utilizarão	os	dados.
•	 Confidencialidade	é	a	garantia	de	que	a	informação	é	acessível	somente	por	
pessoas	autorizadas.	
•	 Quando	NÃO	se	cumpre	a	confidencialidade	é	que	existe	quebra	de	sigilo	da	
informação.	Integridade	é	a	garantia	da	exatidão	e,	também,	completeza	da	
informação	e	dos	métodos	de	processamento.	
•	 Disponibilidade	é	a	garantia	de	que	os	usuários	autorizados	obtenham	acesso	
à	informação	e	aos	ativos	correspondentes	sempre	que	necessário.
•	 São	três	os	níveis	de	abstração:	visão,	conceitual	e	físico.	
•	 O	nível	de	visão	é	o	nível	utilizado	pelos	usuários	finais	e	é	definido	de	acordo	
com	as	necessidades	de	informações	de	cada	usuário	ou	grupo.	
•	 O	nível	de	abstração	 lógico	é	utilizado	pelos	administradores	do	banco	de	
dados	para	administração	dos	dados,	e	não	para	o	gerenciamento	do	espaço	
de	armazenamento.
•	 O	nível	de	abstração	físico	é	considerado	o	nível	mais	baixo	e	apresenta	os	
dados	como	são	armazenados	no	banco	de	dados.	O	nível	visão,	o	mais	alto	
nível,	é	utilizado	pelos	usuários	finais	e	apresenta	somente	o	que	é	necessário.
•	 Grupo	 é	um	 recurso	utilizado	para	 facilitar	 a	manutenção	de	usuários	 em	
um	 banco	 de	 dados.	 Ele	 agrupa	 usuários	 com	 o	 mesmo	 perfil.	 Não	 está	
relacionado	com	a	comunicação	entre	usuários.	O	particionamento	dos	dados	
que	 serão	 acessados	 é	 inerente	 à	 gerência	 de	 usuário.	A	 possibilidade	 de	
execução	de	procedimentos	de	forma	concorrente	é	dada	a	todos	os	usuários,	
independentemente	de	ter	grupos	formados,	pois	o	controle	de	transação	é	
por	usuário.
39
•	 FORCE,	 IMMEDIATE,	 AUTOMATIC	 E	 EXPIRE	 IMMEDIATE	 não	 são	
parâmetros	do	comando	create	user.	Para	expirar	a	senha	no	primeiro	acesso	
ao	parâmetro	é	EXPIRE.	
•	 A	concessão	de	privilégio	no	SGBD	é	efetivada	a	partir	do	comando	GRANT	
com	 o	 formato:	 GRANT	 <privilégio>	 ON	 <lista	 de	 nome	 de	 tabela>	 TO	
‘USER001@’localhost’;.	O	REVOKE	elimina	privilégio	e	não	concede.	O	create	
é	utilizado	para	criar	objetos	e	não	privilégios	para	o	objeto.	
•	 Para	 eliminar	 privilégios,	 o	 comando	 utilizado	 pelo	 SGBD	 é	 o	 REVOKE,	
com	 a	 sintaxe:	 REVOKE	ALL	 [PRIVILEGES]	 [,	 GRANT	 OPTION]	 FROM	
nomeUsuario	 |	 nomePapel	 [,nomeUsuario	 |	 nomePapel,	 ...].	 O	 comando	
DELETE	é	utilizado	para	apagar	linhas	dentro	das	tabelas.	O	comando	DROP	
é	para	 apagar	objetos,	 como	 tabela,	 visão	 e	 índices.	Portanto,	 como	é	para	
apagar	todos	os	privilégios,	utiliza-se	o	parâmetro	ALL.
•	 SELECT	é	o	tipo	de	privilégio	para	realizar	as	consultas	nas	tabelas.	UPDATE	
é	o	 tipo	de	privilégio	para	 alterar	dados	nas	 tabelas.	ALTER	é	o	 comando	
usado	para	alterar	características	de	objetos,	 como	tabelas	e	usuários.	LIST	
não	é	um	comando	adotado	pelo	SQL.	MODIFY	é	um	método	utilizado	para	
filtrar	documentos.	Portanto,	os	tipos	de	privilégios	para	consultar	e	alterar	
dados	em	uma	tabela	são	SELECT	e	UPDATE.
•	 Comandos	SQL	que	dão	acesso	aos	dados	são	instruções	de	consulta	(SELECT),	
alteração	(UPDATE),	 inserção	(INSERT)	e	remoção	(DELETE).	Não	existe	o	
conceito	de	hierarquia	entre	grupos	de	usuários	na	administração	de	banco	
de	dados.	Não	existe	favorecimento	aos	usuários	que	pertencem	ao	grupo.	Ter	
grupo	facilita	a	gestão	de	privilégios.	Privilégios	não	são	restrições,	mas	sim	
autorizações.	Não	se	diz	o	que	o	usuário	não	pode	fazer,	e	sim	o	que	ele	pode	
fazer.	Portanto,	PRIVILÉGIOS	são	permissões	que	um	grupo	de	usuários	têm	
para	a	manipulação	do	banco	de	dados.
•	 Comandos	SQL	que	dão	acesso	aos	dados	são	instruções	de	consulta	(SELECT),	
alteração	(UPDATE),	 inserção	(INSERT)	e	remoção	(DELETE).	Não	existe	o	
conceito	de	hierarquia	entre	grupos	de	usuários	na	administração	de	banco	
de	dados.	Não	existe	favorecimento	aos	usuários	que	pertencem	ao	grupo.	Ter	
grupo	facilita	a	gestão	de	privilégios.	Privilégios	não	são	restrições,	mas	sim	
autorizações.	Não	se	diz	o	que	o	usuário	não	pode	fazer,	e	sim	o	que	se	pode	
fazer.	Portanto,	PRIVILÉGIOS	são

Continue navegando