sql >> Base de Datos >  >> RDS >> Oracle

Cómo crear un usuario y otorgar permisos en Oracle

Como siempre, comience conectándose a su servidor donde está alojado Oracle, luego conéctese a Oracle mismo como SYSTEM cuenta.

El SYSTEM account es una de las pocas cuentas administrativas predefinidas que se generan automáticamente cuando se instala Oracle. SYSTEM es capaz de realizar la mayoría de las tareas administrativas, pero la tarea que nos interesa especialmente es la gestión de cuentas.

Creando un Usuario

Una vez conectado como SYSTEM , simplemente emita el CREATE USER comando para generar una nueva cuenta.

CREATE USER books_admin IDENTIFIED BY MyPassword;

Aquí simplemente estamos creando un books_admin cuenta que está IDENTIFIED o autenticado por la password especificada .

La declaración de subvención

Con nuestro nuevo books_admin cuenta creada, ahora podemos comenzar a agregar privilegios a la cuenta usando GRANT declaración. GRANT es una declaración muy poderosa con muchas opciones posibles, pero la funcionalidad principal es administrar los privilegios de ambos users y roles en toda la base de datos.

Provisión de roles

Por lo general, primero querrá asignar privilegios al usuario adjuntando la cuenta a varios roles, comenzando con CONNECT rol:

GRANT CONNECT TO books_admin;

En algunos casos, para crear un usuario más poderoso, también puede considerar agregar el RESOURCE función (que permite al usuario crear tipos con nombre para esquemas personalizados) o incluso el DBA función, que permite al usuario no solo crear tipos con nombres personalizados, sino también modificarlos y destruirlos.

GRANT CONNECT, RESOURCE, DBA TO books_admin;

Asignación de privilegios

A continuación, querrá asegurarse de que el usuario tenga privilegios para conectarse realmente a la base de datos y crear una sesión usando GRANT CREATE SESSION . También combinaremos eso con todos los privilegios usando GRANT ANY PRIVILEGE .

GRANT CREATE SESSION GRANT ANY PRIVILEGE TO books_admin;

También debemos asegurarnos de que nuestro nuevo usuario tenga espacio en disco asignado en el sistema para crear o modificar tablas y datos, por lo que GRANT TABLESPACE así:

GRANT UNLIMITED TABLESPACE TO books_admin;

Privilegios de mesa

Si bien no suele ser necesario en las versiones más recientes de Oracle, algunas instalaciones anteriores pueden requerir que especifique manualmente los derechos de acceso que tiene el nuevo usuario a un esquema y tablas de base de datos específicos.

Por ejemplo, si queremos que nuestro books_admin usuario para tener la capacidad de realizar SELECT , UPDATE , INSERT y DELETE capacidades en los books tabla, podríamos ejecutar el siguiente GRANT declaración:

GRANT
  SELECT,
  INSERT,
  UPDATE,
  DELETE
ON
  schema.books
TO
  books_admin;

Esto asegura que books_admin puede realizar las cuatro declaraciones básicas para los books tabla que forma parte del schema esquema.