- Este tópico contém 7 respostas, 5 vozes e foi atualizado pela última vez 14 anos, 2 meses atrás por
msantino.
-
AutorPosts
-
2 de dezembro de 2010 às 8:31 pm #97147
Susu
ParticipanteGente preciso de uma ajuda do Grupo!
a empresa que trabalho colocou no processo que o AD
além de cuidar de todos os modelos de dados precisa
criar, dá grants, fazer export e import, na verdade seria
administrar os 3 ambientes DSV,TST,HMG. Isso pq temos 3 DBAs e 1 AD(eu)E eu estou com uma duvida!
eu criei um usuario para os analista/desenvolvedores so q eles terao
acesso somente para alterar procedures, functions, packages, views,eu criei o seguinte script vcs poderiam ve se está certo? Eu ainda estou sem acesso para criar usuarios e dá permissoes.
CREATE USER desenv_syscap IDENTIFIED BY novossyxx001
DEFAULT TABLESPACE TBS_syxx_DAT_PEQ
TEMPORARY TABLESPACE TEMP
ACCOUNT UNLOCK;GRANT CREATE SESSION TO desenv_syxx
GRANT CREATE VIEW TO desenv_syxx
GRANT CREATE PRECEDURE TO desenv_syxx
GRANT CREATE TRIGGER TO desenv_syxx
GRANT CREATE SEQUENCE TO desenv_syxx
GRANT CREATE FUNCTION TO desenv_syxx
GRANT CREATE PAGAKES TO desenv_syxx
GRANT “RESOURCE” TO desenv_syxx
GRANT SELECT ANY TABLE TO desenv_syxx
GRANT EXECUTE TO desenv_syxxo que o GRANT “RESOURCE” faz?
muito obrigada,
Suzana2 de dezembro de 2010 às 9:00 pm #97150Peterson
Participantea GRANT RESOURCE vincula o usuário a ROLE RESOURCE. Uma role é um conjunto de privilégios pré-definidos. Há algumas ROLES que já são criadas automaticamente na criação do banco e outras que vc pode criar.
A ROLE RESOURCE tem diversos privilégios, entre eles:CREATE CLUSTER
CREATE INDEXTYPE
CREATE OPERATOR
CREATE PROCEDURE
CREATE SEQUENCE
CREATE TABLE
CREATE TRIGGER
CREATE TYPEpara consultar os privilégios de sistema que uma ROLE tem, digite a seguinte query:
SELECT *
FROM role_sys_privs
ORDER BY role;
para consultar os privilégios de objeto que uma ROLE TEM, digite a seguinte query:
SELECT *
FROM role_tab_privs
ORDER BY role;
2 de dezembro de 2010 às 10:08 pm #97155Emersonmartins
ParticipanteSo complementando como Peterson descriminou acima, com GRANT RESOURCE você tem acesso ao seu schema para criar,incluir,consultar os objetos que você criou.
No caso se você não o der vai ter que faze-los manualmente.
Emerson Martins Analista de Banco de Dados
http://emersonmartinsdba.blogspot.com/12 de janeiro de 2012 às 4:58 pm #102434msantino
ParticipanteGalera, aproveitando a dúvida pra não criar post duplicado!
Eu criei o usuário a atribuí RESOURCE pra ele (GRANT RESOURCE TO XXXXX)
O problema é que o usuário consegue fazer select nas tabelas de outros usuários, o que não é a minha intenção.
Eu gostaria que ele pudesse ter controle total sobre seu próprio schema mas que não acessasse NADA de outro.
Pensei que pra isso vou ter que dar os GRANTs manualmente (CREATE TABLE, CRATE VIEW, etc).Tá correto isso? É assim mesmo?
Não tem uma forma mais prática de fazer isso que eu quero?valeu pessoal..
12 de janeiro de 2012 às 5:04 pm #102436rman
Participante@msantino
Por padrão o usuário só tem controle sobre os seus próprios objetos, posta quais permissões o usuário tem, talvez tenha um SELECT ANY TABLE por exemplo.
12 de janeiro de 2012 às 5:18 pm #102441msantino
Participante@rman,
Não tem porque eu mesmo o criei:
create user XXXX identified by XXXX
default tablespace USERS
temporary tablespace TEMP
account unlock;grant connect,resource to XXXX;
grant quota unlimited to XXXX;
Pensei até que alguém pudesse ter alterado a role RESOURCE no passado, mas já conferi e não tem SELECT ANY TABLE nela.
12 de janeiro de 2012 às 5:20 pm #102442rman
Participante@msantino
Da alguns exemplos reais de SQL que é possível fazer e que teoricamente não era.
12 de janeiro de 2012 às 5:24 pm #102443msantino
Participante
SELECT * FROM SCOTT.DEPT
Qualquer select em qualquer outra tabela de qualquer outro schema está retornando registros também.
Eu tentei criar uma tabela em outro schema e não consegui, então aparentemente é só o SELECT mesmo… -
AutorPosts
- Você deve fazer login para responder a este tópico.