Skip to content

Archives

  • enero 2022
  • diciembre 2021
  • noviembre 2021
  • octubre 2021
  • septiembre 2021

Categories

  • No hay categorías
Trend RepositoryArticles and guides
Articles

Capítulo 18. Roles y Privilegios de la Base de Datos

On octubre 25, 2021 by admin

Los roles de la base de datos están conceptualmente separados de los usuarios del sistema operativo. En la práctica puede ser conveniente mantener una correspondencia, pero no es necesario. Los roles de base de datos son globales en una instalación de cluster de bases de datos (y no por base de datos individual). Para crear un rol utilice el comando CREATE ROLE SQL:

CREATE ROLE name;

name sigue las reglas para identificadores SQL: sin adornos y sin caracteres especiales, o con comillas dobles. (En la práctica, normalmente querrá añadir opciones adicionales, como LOGIN, al comando. Más adelante encontrará más detalles al respecto). Para eliminar un rol existente, utilice el comando análogo DROP ROLE:

DROP ROLE name;

Para mayor comodidad, los programas createuser y dropuser se proporcionan como envolturas alrededor de estos comandos SQL que pueden ser llamados desde la línea de comandos del shell:

createuser namedropuser name

Para determinar el conjunto de roles existentes, examine el catálogo del sistema pg_roles, por ejemplo

SELECT rolname FROM pg_roles;

El meta-comando \du del programa psql también es útil para listar los roles existentes.

Para poder arrancar el sistema de base de datos, un sistema recién inicializado siempre contiene un rol predefinido. Este rol es siempre un «superusuario», y por defecto (a menos que se altere al ejecutar initdb) tendrá el mismo nombre que el usuario del sistema operativo que inicializó el cluster de la base de datos. Habitualmente, este rol se llamará postgres. Para crear más roles primero hay que conectarse como este rol inicial.

Cada conexión al servidor de la base de datos se hace con el nombre de algún rol en particular, y este rol determina los privilegios de acceso iniciales para los comandos emitidos en esa conexión. El nombre del rol a utilizar para una conexión a la base de datos en particular es indicado por el cliente que está iniciando la solicitud de conexión de una manera específica para la aplicación. Por ejemplo, el programa psql utiliza la opción de línea de comandos -U para indicar el rol con el que se debe conectar. Muchas aplicaciones asumen el nombre del usuario actual del sistema operativo por defecto (incluyendo createuser y psql). Por lo tanto, a menudo es conveniente mantener una correspondencia de nombres entre los roles y los usuarios del sistema operativo.

El conjunto de roles de la base de datos con los que se puede conectar una determinada conexión de cliente está determinado por la configuración de la autenticación del cliente, como se explica en el capítulo 20. (Así, un cliente no está necesariamente limitado a conectarse como el rol con el mismo nombre que su usuario del sistema operativo, al igual que el nombre de inicio de sesión de una persona no tiene por qué coincidir con su nombre real). Dado que la identidad del rol determina el conjunto de privilegios disponibles para un cliente conectado, es importante configurar cuidadosamente esto cuando se configura un entorno multiusuario.

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Archivos

  • enero 2022
  • diciembre 2021
  • noviembre 2021
  • octubre 2021
  • septiembre 2021

Meta

  • Acceder
  • Feed de entradas
  • Feed de comentarios
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress