Академический Документы
Профессиональный Документы
Культура Документы
Control de Acceso
Postgres proporciona mecanismos para permitir a los usuarios limitar el acceso
que otros usuarios tendrn a sus datos.
SuperUsuarios de la Base de Datos
Los SuperUsuarios de la base de datos (aquellos que tienen el campo
pg_user.usesuper activado) ignoran todos los controles de acceso descritos
anteriormente con dos excepciones: las actualizaciones del catlogo del
sistema no estn permitidas si el usuario no tiene el campo
pg_user.usecatupd activado, y nunca se permite la destruccin del catlogo
del sistema (o la modificacin de sus estructuras).
Privilegios de acceso
El uso de los privilegios de acceso para limitar la lectura, escritura y la
puesta de reglas a las clases se trata en grant/revoke.
Borrado de clases y modificacin de estructuras.
Los comandos que borran o modifican la estructura de una clase, como
alter, drop table, y drop index, solo funcionan con el propietario de la clase.
Como hemos dicho antes, estas operaciones no estn permitidas nunca en los
catlogos del sistema.
Manejo de transacciones
Gestin de permisos
Es necesario tener permiso de definicin de reglas en una clase para poder
definir una regla en l. Se debe utilizar el comando GRANT y REVOKE para
modificar estos permisos. El archivo pg_hba.conf le permite establecer el tipo
de autenticacin basada en mquina a ser usada. Esta autenticacin es
realizada antes de que PostgreSQL establezca una conexin a la base de datos
en cuestin, donde los permisos de usuarios seran relevantes.
Sencillo de realizar
Se puede realizar en caliente
Backup "consistente"
En bases de datos pequeas es muy rpido
havoctec=# \q
Automatizar la Copias usando el <cron>
Por ltimo, podemos utilizar nuestro <crontab> para realizar una copia de
seguridad completa diariamente, y as, evitar sorpresas de ltima hora.
El problema que nos podemos encontrar es, principalmente, que el comando
<pg_dump> nos solicite una contrasea y no podamos automatizar el proceso.
No hay problema, para ello est el archivo <pgpass> PostgreSQL Password File,
en el cual declararemos los usuarios y contraseas necesarios para el acceso
sin password. El formato del archivo es el siguiente:
maquina:puerto:base de datos:usuario:password
Si utilizamos un "*" en el campo de <base de datos> se podrn acceder a
todas la bases de datos, por ejemplo, si queremos que el usuario backups
pueda acceder a cualquier base de datos, ponemos
$ echo "db1.havoctec.com:*:backups:password" > $HOME/.pgpass
$ chmod 600 $HOME/.pgpass
$ pg_dump -U backups -Z9 -C -f /var/backups/havoctec-db-full.dump.gz
havoctec
Ahora PostgreSQL no nos ha solicitado la contrasea, porque la ha encontrado
en el archivo, y por lo tanto, la ha introducido por nosotros, as que ya podemos
aadir nuestra entrada al cron para que haga copias de seguridad completas
todos los das a las 02:00h, por ejemplo,
$ crontab -e00 02 * * * /u01/app/postgres/8.4/bin/pg_dump -U backups -Z9 -C -f
/var/backups/havoctec db-full.dump.gz havoctec:wq
Encriptacin de datos
Pgcrypto es una extensin para encriptar datos en Postgresql, a partir de pg9.1 se instala con create extension pgcrypto, para ello debemos tener instalado
el paquete postgresql-contrib de la version de nuestro postgres.
Ejemplo de uso:
CREATE TABLE usuario
( id serial NOT NULL,
usuario character varying(15) NOT NULL,
clave bytea)
Ingresamos datos:
insert into usuario (usuario, clave) values ('alex', encrypt('11112222',
'password','3des'))
Como vemos usamos la funcion encrypt, el primer parametro es la clave a
encriptar, el segundo es la clave de encriptacion y el tercero el algoritmo
utilizado, en nuestro caso 3des, mejor conocido como triple des
Si hacemos un select directo a la tabla nos mostrar algo como
usuario
alex
clave
\xefea90726dc45f756f40a9e22f66fc1a
Memoria
Mnimo:
Se recomienda:
Ediciones Express: 1 GB
Todas las dems ediciones: al
menos 4 GB y debe aumentar
a medida que el tamao de la
base de datos aumente para
asegurar un rendimiento
ptimo.
Procesador
Mnimo:
Se recomienda:
2 GHz o ms
Procesador x64: AMD Opteron,
AMD Athlon 64, Intel Xeon
compatible con Intel EM64T
Intel Pentium IV compatible
con EM64T
Procesador x86: compatible
con Pentium III o superior