Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Margarita Támara
Rincón
Aprendíz
Instructores
2019
INTRODUCCION
};,, El lenguaje SOL que usa es muy próximo al estándar ISO/IEC, gracias a
lo que resulta relativamente sencillo portar consultas y scripts de
otros sistemas de bases de datos, y así aprender fácilmente las variantes
de este lenguaje.
};,, Cumple con AGIO, es decir provee atomicidad, consistencia, aislamiento
y durabilidad para sus operaciones.
};,, Permite crear esquemas, tablas heredadas y triggers orientados a
eventos que no poseen otros motores.
};,, Permite definir procedimientos, no solo en PostgreSQL, sino también
en otros muchos lenguajes como Pearl, TCL o Python. Incluso si el
lenguaje que desea usar no está soportado, puede definirlo con nuevas
extensiones.
};,, Si necesita algún tipo de dato que no esté soportado de serie,
también puede definirlo.
};,, Puede extender la funcionalidad con extensiones, provistas por el
propio
PostgreSQL, por terceros o incluso programando por cuenta propia.
};,, Tiene un soporte nativo de replicación maestro-esclavo, pero también
es posible añadir otros tipos a través de productos de terceros, libres
o de pago.
};,, También provee una excelente escalabilidad vertical.
2. SEGURIDAD DE BASES DE DATOS EN POSTGRESQL
Permite definir desde qué equipos se pueden conectar los usuarios a las bases de
datos, así como definir qué usuarios y a qué bases de datos se pueden conectar.
Las configuraciones de este nivel de seguridad se realizan en los archivos
postgresql.conf, pg_ident.conf y pg_hba.conf.
En el archivo se debe definir un registro para cada acceso que se pueda conectar
al servidor. Cada registro especifica el tipo de conexión (TYPE), nombre de la
base de datos a la que tendrá acceso (DATABASE), nombre de usuario (USER),
dirección IP del cliente (ADDRESS) y el método de autentificación que se va a
utilizar (METHOD).
TYPE:
• Local: Se define para las conexiones que se realizarán desde el propio
servidor.
• Host: Se utilizará para conexiones remotas no-SSL y SSL.
• Hostssl: Sólo se utilizará para conexiones SSL.
• Hostnossl: Sólo se utilizará para las conexiones remotas no-SSL.
DATABASE:
• AII: Permite la conexión a cualquier base de datos.
• Sameuser/Samerole: Se empleará para bases de datos que su nombre sea
el mismo que el usuario/rol que se conecta.
• nombd1, nombd2, ... : Permite la conexión a cualquiera de las bases de
datos de la lista.
• @archivo: Permite la conexión a las bases de datos incluídas en el archivo.
Debe estar en el mismo directorio que pg_hba.conf.
USER:
• ALL: Permite la conexión de cualquier rol.
• role 1 , ro le2, ... : Permite la conexión de los roles de la lista y además
permite la conexión de cualquier rol que sea miembro de role2.
• @archivo: Permite la conexión de los roles incluídos en el archivo. Debe
estar en el mismo directorio que pg_hba.conf.
METHOD
• trust: Permite todos los accesos sin necesidad de autenticarse (sólo
recomendable para conexiones desde el equipo local).
• reject: Rechaza la conexión sin condiciones.
• password: Solicita la contraseña sin encriptar.
• md5: Solicita la contraseña con el método de encriptación md5.
• ident: Utiliza el usuario del sistema desde el que se está intentado conectar.
• cert: Autenticar utilizando certificados SSL.
a. Administración de roles
Los roles de las bases de datos pueden tener un número de atributos que
define sus privilegios e interactúa con el sistema de autenticación del
cliente. PostgreSQL administra el acceso a las bases de datos utilizando el
concepto de roles. Para crear usuarios o grupos de usuarios se emplea la
sentencia:
CREATE ROLE nombre [ [ WITH] opción [ ... ]
SUPERUSERINOSUPERUSE
R
I CREATEDB I NOCREATEDB
ICREATEROLEINOCREATEROL
E
ICREATEUSERINOCREATEUSE
R
I INHERIT I
NOINHERIT
I LOGIN I
NOLOGIN
I REPLICATON I
NOREPLICATION
I CONNECTION LIMIT
límite_conexiones
I BYPASSRLS I NOBYPASSRLS: característica introducida en 9.5, por defecto
es la opción NOBYPASSRLS, si se especifica BYPASSRLS significa que el
rol no tendrá en cuenta las políticas que se le hayan asignado.
I [ ENCRYPTED I UNENCRYPTED] PASSWORD
'contraseña'
I VALID UNTIL
'fecha'
I IN ROLE nombre_rol [,
...]
I IN GROUP nombre_rol [,
...]
I ROLE nombre_rol [,
]
I ADMIN nombre_rol [,
]
I USER nombre_rol [,
]
I SYSID uid
Una vez creado un rol, puede ser modificado o eliminado con los
comandos
ALTER ROLE nombre y DROP ROLE nombre
Una vista es una estructura lógica que permite visualizar un grupo de datos
que provienen de una o varias tablas u otras vistas. Los datos accesibles a
través de la vista no están almacenados en la base de datos como un objeto.
Las vistas
permiten:
Las tablas pueden tener políticas de seguridad de filas que restringen, por
usuario, qué filas pueden ser devueltas una vez realizada una inserción,
modificación o eliminación.
https ://severalnines.com/database-blog/how-secure-your-postgresql-database-10-
tips
https ://www.postgresql.org/docs/11 /index.html
https://www.postgresql.org/search/?u=º/o2Fdocs0/o2F11 º/o2F&q=security
https ://platzi.com/blog/caraete risticas-postgresql/
http://www.informaticahabana.cu/sites/default/files/ponencias2018
/SWL14.pdf https ://openwebinars. net/blog/caracte risticas-i mpo rtantes-de-
postgresql/