Pular para o conteúdo
Visualizando 8 posts - 1 até 8 (de 8 do total)
  • Autor
    Posts
  • #97147
    Susu
    Participante

      Gente 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_syxx

      o que o GRANT “RESOURCE” faz?

      muito obrigada,
      Suzana

      #97150
      Peterson
      Participante

        a 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 TYPE

        para 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;

        #97155
        Emersonmartins
        Participante

          So 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/

          #102434
          msantino
          Participante

            Galera, 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..

            #102436
            rman
            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.

              #102441
              msantino
              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.

                #102442
                rman
                Participante

                  @msantino

                  Da alguns exemplos reais de SQL que é possível fazer e que teoricamente não era.

                  #102443
                  msantino
                  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…

                  Visualizando 8 posts - 1 até 8 (de 8 do total)
                  • Você deve fazer login para responder a este tópico.