jueves, 1 de octubre de 2015

Roles y Usuarios

USUARIOS
CREACIÓN DE USUARIOS EN POSTGRESQL
CREATE USER name [ [ WITH ] option [ ... ] ]
Donde las opciones pueden ser
      SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
    | CREATEUSER | NOCREATEUSER
    | LOGIN | NOLOGIN
    | VALID UNTIL 'timestamp'
     | CONNECTION LIMIT connlimit
    | [ENCRYPTED | UNENCRYPTED] PASSWORD 'password'
MODIFICACIÓN DE USUARIOS
ALTER USER name 
Donde las opciones pueden ser
    | CREATEDB | NOCREATEDB
    | LOGIN | NOLOGIN
    | CREATEUSER | NOCREATEUSER 
    | PASSWORD 'password' 
    | VALID UNTIL 'timestamp'
     | CONNECTION LIMIT connlimit
EJEMPLO
ALTER USER motores PASSWORD ‘motores’ CREATEDB CREATEUSER;
ALTER USER motores VALID UNTIL ‘2014-12-31  23:59:59’;
CAMBIAR EL NOMBRE A UN USUARIO
ALTER USER NOMBRE_ANTERIOR  RENAME TO  NUEVO_NOMBRE
BORRAR USUARIOS
DROP USER Nombre del usuario a eliminar [CASCADE];
PRIVILEGIOS
Son los permisos que tiene un usuario o un grupo de usuarios para realizar operaciones específicas en las bases de datos. Estos privilegios se clasifican en privilegios del sistema (sirven para realizar operaciones que afectan a todo el sistema) y privilegios de objeto (sirven para realizar operaciones sobre los objetos de la base de datos como son tablas, vistas, entre otros).
DAR PRIVILEGIOS (GRANT)…SINTAXIS
GRANT { { SELECT | INSERT | UPDATE | DELETE |  TRIGGER }
     [, ...]  | ALL [ PRIVILEGES ] }
    ON [ TABLE ] tablename [, ...]
    TO { username | PUBLIC } [ WITH GRANT OPTION ]
 GRANT { CREATE | CONNECT  ALL [ PRIVILEGES ] }
    ON DATABASE dbname 
    TO {username | PUBLIC } [ WITH GRANT OPTION ]
EJEMPLO
GRANT SELECT, INSERT, UPDATE ON bancos, sucursales TO nombre_usuario;
GRANT CONNECT ON DATABASE operaciones  TO nombre_usuario;
QUITAR PRIVILEGIOS DE ACCESO (REKOVE)…SINTAXIS
REVOKE [ GRANT]
    { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | TRIGGER }
    [, ...] | ALL [ PRIVILEGES ] }
    ON { [ TABLE ] table_name [, ...]
         | ALL TABLES IN SCHEMA schema_name [, ...] }
    FROM { [role_name | PUBLIC } [, ...]
 REVOKE [ GRANT OPTION FOR ]
    { { CREATE | CONNECT } [, ...] | ALL [ PRIVILEGES ] }
    ON DATABASE database_name [, ...]
    FROM {role_name | PUBLIC } [, ...]
EJEMPLO
REVOKE ALL ON DATABASE operaciones FROM nombre_rol;
REVOKE INSERT ON films FROM nombre_rol;
TABLESPACE
Un tablespace es una unidad lógica de almacenamiento dentro de una base de datos.
CREACIÓN DE TABLESPACE
CREATE TABLESPACE nombre_del_tablespace location 'ruta/carpeta';
ROLES
Los roles son grupos de permisos, al dar varios permisos a un rol permite concederlos a uno o varios usuarios.
CREACIÓN DE ROLES
CREATE ROLE nombre del rol
DAR PRIVILEGIOS A LOS ROLES
GRANT permiso1 [, permiso2,...]
ON [usuario.]Objeto
TO nombre del rol
DAR UN ROL A USUARIO

GRANT nombre del rol TO nombre del usuario1, nombre del usuario2, ……., nombre del usuarioN;

0 comments:

Publicar un comentario