- Crear un nuevo usuario
- ver los permisos de usuario existentes
- alterar los permisos de usuario existentes
- asignar
SUPERUSER
Permission - revocar permisos
- asignar
modificar los permisos de usuario dentro de PostgreSQL puede variar de simple a extremadamente complejo, dependiendo de la granularidad permisiva que realmente se requiere., En la mayoría de los casos, sin embargo, es el poderoso comando ALTER USER
el que debe utilizarse para hacer todo, desde permitir a los usuarios iniciar sesión, Crear bases de datos, Administrar roles e incluso convertirse en una cuenta SUPERUSER
.
exploraremos brevemente el poder del comandoALTER USER
para que pueda realizar fácilmente una variedad de asignaciones de permisos y eliminaciones según sea necesario.,
crear un nuevo usuario
antes de entrar en alterar los permisos de usuario, debemos establecer una nueva cuenta de usuario (comúnmente conocida como ROLE
) para jugar.
Para comenzar, haremos una lista de todos los usuarios existentes:
=# SELECT usename FROM pg_user; usename---------- postgres(1 row)
Por defecto postgres
normalmente es el único usuario que existe, por ello queremos crear un nuevo usuario de librarian
para controlar nuestro library
base de datos., Esto se puede lograr usando el comando CREATE USER
:
=# CREATE USER librarian;CREATE ROLE=# SELECT usename FROM pg_user; usename----------- postgres librarian(2 rows)
ver los permisos de usuario existentes
a menudo puede ser útil examinar los permisos existentes asignados a los usuarios en el sistema. Esto puede realizarse fácilmente con el \du
comando desde el psql
mensaje:
=# \du List of roles Role name | Attributes | Member of-----------+------------------------------------------------+----------- librarian | | {} postgres | Superuser, Create role, Create DB, Replication | {}
podemos ver claramente que a pesar de que hemos añadido una nueva librarian
usuario, tenemos que asignar algunos permisos.,
la Alteración de Permisos de Usuario Existente
Ahora que nuestro librarian
usuario existe, podemos comenzar a usar ALTER USER
para modificar los permisos concedidos a librarian
.,
El formato básico de ALTER USER
incluye el nombre del usuario (o de ROLE
), seguido por una serie de options
informar a PostgreSQL que permisiva alteraciones a hacer:
=# ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;
Estas opciones van desde CREATEDB
, CREATEROLE
, CREATEUSER
, e incluso SUPERUSER
. Además, la mayoría de las opciones también tienen una contraparte negativa, informando al sistema que desea denegar al usuario ese permiso en particular., Estos nombres de opción son los mismos que su contraparte de asignación, pero tienen el prefijo NO
(por ejemplo, NOCREATEDB
, NOCREATEROLE
, NOSUPERUSER
)., id=»329cbba936″>
opción para asignar nuestro librarian
usuario SUPERUSER
permiso:
=# ALTER USER librarian WITH SUPERUSER;ALTER ROLE
por supuesto, si queremos mostrar nuestra lista de permisos de ahora, vamos a ver librarian
tiene el nuevo SUPERUSER
permiso queremos:
Revocar Permisos
En el caso de que se comete un error y asignar un permiso que más tarde desea revocar, simplemente emitir el mismo ALTER USER
comando pero agregar la etiqueta NO
prefijo delante de la permisivo opciones de ser revocada.,
Por ejemplo, podemos eliminar el SUPERUSER
en nuestra librarian
usuario así: