Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como criar um usuário e conceder permissões no Oracle


Como sempre, comece conectando-se ao seu servidor onde o Oracle está hospedado e, em seguida, conecte-se ao próprio Oracle como SYSTEM conta.

O SYSTEM account é uma das poucas contas administrativas predefinidas geradas automaticamente quando o Oracle é instalado. SYSTEM é capaz da maioria das tarefas administrativas, mas a tarefa em que estamos particularmente interessados ​​é o gerenciamento de contas.

Criando um usuário


Uma vez conectado como SYSTEM , basta emitir o comando CREATE USER comando para gerar uma nova conta.
CREATE USER books_admin IDENTIFIED BY MyPassword;

Aqui estamos simplesmente criando um books_admin conta IDENTIFIED ou autenticado pela password especificada .

A Declaração de Concessão


Com nosso novo books_admin conta criada, agora podemos começar a adicionar privilégios à conta usando o GRANT demonstração. GRANT é uma declaração muito poderosa com muitas opções possíveis, mas a funcionalidade principal é gerenciar os privilégios de ambos os users e roles em todo o banco de dados.

Fornecendo funções


Normalmente, você deve primeiro atribuir privilégios ao usuário anexando a conta a várias funções, começando com o CONNECT Função:
GRANT CONNECT TO books_admin;

Em alguns casos, para criar um usuário mais poderoso, você também pode considerar adicionar o RESOURCE role (permitindo ao usuário criar tipos nomeados para esquemas personalizados) ou até mesmo o DBA função, que permite ao usuário não apenas criar tipos nomeados personalizados, mas também alterá-los e destruí-los.
GRANT CONNECT, RESOURCE, DBA TO books_admin;

Atribuindo privilégios


Em seguida, você desejará garantir que o usuário tenha privilégios para realmente se conectar ao banco de dados e criar uma sessão usando GRANT CREATE SESSION . Também combinaremos isso com todos os privilégios usando GRANT ANY PRIVILEGE .
GRANT CREATE SESSION GRANT ANY PRIVILEGE TO books_admin;

Também precisamos garantir que nosso novo usuário tenha espaço em disco alocado no sistema para criar ou modificar tabelas e dados, então GRANT TABLESPACE igual a:
GRANT UNLIMITED TABLESPACE TO books_admin;

Privilégios de mesa


Embora normalmente não seja necessário em versões mais recentes do Oracle, algumas instalações mais antigas podem exigir que você especifique manualmente os direitos de acesso que o novo usuário tem a um esquema específico e tabelas de banco de dados.

Por exemplo, se quisermos que nosso books_admin usuário tenha a capacidade de executar SELECT , UPDATE , INSERT e DELETE recursos nos books tabela, podemos executar o seguinte GRANT demonstração:
GRANT
  SELECT,
  INSERT,
  UPDATE,
  DELETE
ON
  schema.books
TO
  books_admin;

Isso garante que books_admin pode executar as quatro instruções básicas para os books tabela que faz parte do schema esquema.