Controlando o Acesso Do Usuário
-
Upload
osvaldosan -
Category
Documents
-
view
714 -
download
0
description
Transcript of Controlando o Acesso Do Usuário
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
1414
Controlando oAcesso do Usuário
Controlando oAcesso do Usuário
14-2 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
ObjetivosObjetivos
Depois de completar esta lição, você poderá Depois de completar esta lição, você poderá fazer o seguinte:fazer o seguinte:
• Criar usuários
• Criar funções para facilitar a configuração e manutenção do modelo de segurança
• Usar as instruções GRANT e REVOKE para conceder e revogar os privilégios de objeto
Depois de completar esta lição, você poderá Depois de completar esta lição, você poderá fazer o seguinte:fazer o seguinte:
• Criar usuários
• Criar funções para facilitar a configuração e manutenção do modelo de segurança
• Usar as instruções GRANT e REVOKE para conceder e revogar os privilégios de objeto
14-3 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Controlando o Acesso do UsuárioControlando o Acesso do Usuário
AdministradorAdministradordo banco de dadosdo banco de dados
UsuáriosUsuários
Privilégiosde usuário e senha
14-4 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
PrivilégiosPrivilégios
• Segurança de banco de dados:– Segurança de sistema– Segurança de dados
• Privilégios de sistema: Obter acesso ao banco de dados
• Privilégios de objeto: Manipular o conteúdo dos objetos de banco de dados
• Esquema: Coleção de objetos como, por exemplo, tabelas, views e seqüências
• Segurança de banco de dados:– Segurança de sistema– Segurança de dados
• Privilégios de sistema: Obter acesso ao banco de dados
• Privilégios de objeto: Manipular o conteúdo dos objetos de banco de dados
• Esquema: Coleção de objetos como, por exemplo, tabelas, views e seqüências
14-5 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Privilégios de SistemaPrivilégios de Sistema
• Mais de 80 privilégios estão disponíveis.
• O DBA possui privilégios de sistema de alto nível:– Criar novos usuários– Remover usuários– Remover tabelas– Fazer back up de tabelas
• Mais de 80 privilégios estão disponíveis.
• O DBA possui privilégios de sistema de alto nível:– Criar novos usuários– Remover usuários– Remover tabelas– Fazer back up de tabelas
14-6 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Criando UsuáriosCriando Usuários
O DBA cria usuários usando a instrução O DBA cria usuários usando a instrução CREATE USER.CREATE USER.O DBA cria usuários usando a instrução O DBA cria usuários usando a instrução CREATE USER.CREATE USER.
SQL> CREATE USER scott 2 IDENTIFIED BY tiger;User created.User created.
SQL> CREATE USER scott 2 IDENTIFIED BY tiger;User created.User created.
CREATE USER usuárioIDENTIFIED BY senha;
14-7 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Privilégios de Sistema de UsuárioPrivilégios de Sistema de Usuário
GRANT privilégio [, privilégio...]TO usuário [, usuário...];
GRANT privilégio [, privilégio...]TO usuário [, usuário...];
• Um desenvolvedor de aplicação pode ter os seguintes privilégios de sistema:– CREATE SESSION– CREATE TABLE– CREATE SEQUENCE– CREATE VIEW– CREATE PROCEDURE
• Um desenvolvedor de aplicação pode ter os seguintes privilégios de sistema:– CREATE SESSION– CREATE TABLE– CREATE SEQUENCE– CREATE VIEW– CREATE PROCEDURE
• Quando o usuário for criado, o DBA poderá conceder privilégios de sistema específicos para ele.
• Quando o usuário for criado, o DBA poderá conceder privilégios de sistema específicos para ele.
14-8 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Concedendo Privilégios de Sistema
Concedendo Privilégios de Sistema
O DBA pode conceder privilégios de sistema O DBA pode conceder privilégios de sistema específicos a um usuário.específicos a um usuário.O DBA pode conceder privilégios de sistema O DBA pode conceder privilégios de sistema específicos a um usuário.específicos a um usuário.
SQL> GRANT create table, create sequence, create view 2 TO scott;Grant succeeded.Grant succeeded.
SQL> GRANT create table, create sequence, create view 2 TO scott;Grant succeeded.Grant succeeded.
14-9 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
O Que É uma Função?O Que É uma Função?
Alocando Alocando privilégiosprivilégios
sem uma funçãosem uma função
Alocando privilégiosAlocando privilégioscom uma funçãocom uma função
PrivilégioPrivilégioss
UsuáriosUsuários
GerenciadorGerenciador
14-10 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Criando e ConcedendoPrivilégios a uma FunçãoCriando e Concedendo
Privilégios a uma Função
SQL> CREATE ROLE manager;Role created.Role created.
SQL> CREATE ROLE manager;Role created.Role created.
SQL> GRANT create table, create view 2 to manager; Grant succeeded.Grant succeeded.
SQL> GRANT create table, create view 2 to manager; Grant succeeded.Grant succeeded.
SQL> GRANT manager to BLAKE, CLARK; Grant succeeded.Grant succeeded.
SQL> GRANT manager to BLAKE, CLARK; Grant succeeded.Grant succeeded.
14-11 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Alterando Sua SenhaAlterando Sua Senha
• O DBA cria a sua conta de usuário e inicializa a sua senha.
• Você pode alterar sua senha usando a instrução ALTER USER.
• O DBA cria a sua conta de usuário e inicializa a sua senha.
• Você pode alterar sua senha usando a instrução ALTER USER.
SQL> ALTER USER scott 2 IDENTIFIED BY lion;User altered.User altered.
14-12 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Privilégiode Objeto Tabela View Seqüência Procedimento
ALTER
DELETE
EXECUTE
INDEX
INSERT
REFERENCES
SELECT
UPDATE
Privilégios de ObjetoPrivilégios de Objeto
14-13 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Privilégios de ObjetoPrivilégios de Objeto
• Os privilégios de objeto variam de objeto para objeto.
• Um proprietário tem todos os privilégios sobre o objeto.
• Um proprietário pode fornecer privilégios específicos sobre o objeto de proprietário.
• Os privilégios de objeto variam de objeto para objeto.
• Um proprietário tem todos os privilégios sobre o objeto.
• Um proprietário pode fornecer privilégios específicos sobre o objeto de proprietário.
GRANT object_priv [(colunas)] ON objeto TO {usuário|função|PUBLIC} [WITH GRANT OPTION];
GRANT object_priv [(colunas)] ON objeto TO {usuário|função|PUBLIC} [WITH GRANT OPTION];
14-14 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Concedendo Privilégios de ObjetoConcedendo Privilégios de Objeto
SQL> GRANT select 2 ON emp 3 TO sue, rich;Grant succeeded.Grant succeeded.
SQL> GRANT select 2 ON emp 3 TO sue, rich;Grant succeeded.Grant succeeded.
SQL> GRANT update (dname, loc) 2 ON dept 3 TO scott, manager;Grant succeeded.Grant succeeded.
SQL> GRANT update (dname, loc) 2 ON dept 3 TO scott, manager;Grant succeeded.Grant succeeded.
• Concede privilégios de consulta na tabela EMP.
• Concede privilégios de consulta na tabela EMP.
• Concede privilégios para atualizar colunas específicas aos usuários e funções.
• Concede privilégios para atualizar colunas específicas aos usuários e funções.
14-15 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Usando palavras chave WITH GRANT OPTION e PUBLIC
Usando palavras chave WITH GRANT OPTION e PUBLIC
• Permitir que todos os usuários no sistema consultem dados na tabela DEPT de Alice.
• Permitir que todos os usuários no sistema consultem dados na tabela DEPT de Alice.
SQL> GRANT select, insert 2 ON dept 3 TO scott 4 WITH GRANT OPTION;Grant succeeded.Grant succeeded.
SQL> GRANT select, insert 2 ON dept 3 TO scott 4 WITH GRANT OPTION;Grant succeeded.Grant succeeded.
SQL> GRANT select 2 ON alice.dept 3 TO PUBLIC;Grant succeeded.Grant succeeded.
SQL> GRANT select 2 ON alice.dept 3 TO PUBLIC;Grant succeeded.Grant succeeded.
• Dar autoridade a um usuário para passar os privilégios.
• Dar autoridade a um usuário para passar os privilégios.
14-16 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Confirmando Privilégios ConcedidosConfirmando Privilégios Concedidos
Tabela de Dicionário de Dados Descrição
ROLE_SYS_PRIVS Privilégios de sistema concedidos a funções
ROLE_TAB_PRIVS Privilégios de tabela concedidos a funções
USER_ROLE_PRIVS Funções acessíveis ao usuário
USER_TAB_PRIVS_MADE Os privilégios de objeto concedidos aos objetos do usuário
USER_TAB_PRIVS_RECD Os privilégios de objeto concedidos ao usuário
USER_COL_PRIVS_MADE Os privilégios de objeto concedidos àscolunas dos objetos do usuário
USER_COL_PRIVS_RECD Os privilégios de objeto concedidos aousuário em colunas específicas
14-17 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Como Revogar Privilégios de ObjetoComo Revogar Privilégios de Objeto
• Use a instrução REVOKE para revogar os privilégios concedidos a outros usuários.
• Os privilégios concedidos a outros usuários por WITH GRANT OPTION também serão revogados.
• Use a instrução REVOKE para revogar os privilégios concedidos a outros usuários.
• Os privilégios concedidos a outros usuários por WITH GRANT OPTION também serão revogados.
REVOKE {privilégio [, privilégio...]|ALL}ON objetoFROM {usuário[, usuário...]|função|PUBLIC}[CASCADE CONSTRAINTS];
REVOKE {privilégio [, privilégio...]|ALL}ON objetoFROM {usuário[, usuário...]|função|PUBLIC}[CASCADE CONSTRAINTS];
14-18 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Revogando Privilégios de ObjetoRevogando Privilégios de Objeto
Assim como a usuária Alice, revogue os Assim como a usuária Alice, revogue os privilégios SELECT e INSERT fornecidos ao privilégios SELECT e INSERT fornecidos ao usuário Scott na tabela DEPT.usuário Scott na tabela DEPT.
Assim como a usuária Alice, revogue os Assim como a usuária Alice, revogue os privilégios SELECT e INSERT fornecidos ao privilégios SELECT e INSERT fornecidos ao usuário Scott na tabela DEPT.usuário Scott na tabela DEPT.
SQL> REVOKE select, insert 2 ON dept 3 FROM scott;Revoke succeeded.Revoke succeeded.
SQL> REVOKE select, insert 2 ON dept 3 FROM scott;Revoke succeeded.Revoke succeeded.
14-19 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
SumárioSumário
Instrução Ação
CREATE USER Permite que o DBA crie um usuário
GRANT Permite que o usuário conceda a outros usuários privilégios para acessar os objetosdo usuário
CREATE ROLE Permite que o DBA crie um conjuntode privilégios
ALTER USER Permite que os usuários alterem as suassenhas
REVOKE Remove os privilégios sobre um objeto dosusuários
14-20 Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Visão Geral do ExercícioVisão Geral do Exercício
• Concedendo a outros usuários privilégios sobre sua tabela
• Modificando a tabela de um outro usuário através de privilégios concedidos a você
• Criando um sinônimo
• Consultando as views do dicionário de dados relacionados aos privilégios
• Concedendo a outros usuários privilégios sobre sua tabela
• Modificando a tabela de um outro usuário através de privilégios concedidos a você
• Criando um sinônimo
• Consultando as views do dicionário de dados relacionados aos privilégios