12.170 cursos gratis
8.755.341 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Curso de MySQL con PHP

Autor: Ariel Alejandro Wagner
Curso:
9/10 (2 opiniones) |1754 alumnos|Fecha publicación: 10/01/2011
Envía un mensaje al autor

Capítulo 8:

 Permisos de usuarios

El acceso y la explotación de un a base de datos a sus consultas y tablas sin dificultades y de forma eficiente, suele ser el gran objetivo exitoso que todo desarrollador persigue. Sin embargo y por otro lado, la garantía de acceso al medio bajo estas condiciones, pueden poner de manifiesto ciertas debilidades de seguridad del sistema. Cualquier usuario no autorizado podría violar el espacio de datos y generar todo tipo de daño. Para controlar el acceso y explotación ha dicho recursos, se puede establecer una serie de reglas en particular que controlen eficientemente estos puntos. A continuación veremos estos detalles.

Mecanismo de Identificación

El mecanismo de identificación se basa en el estándar llamado comúnmente Identificación por Desafío y que consiste en la identificación de un usuario mediante un nombre y una contraseña. Esta identificación es única y exclusiva de un usuario en particular, es decir, aquel que conoce sus datos. No puede existir otro usuario duplicado.

Cada usuario tiene su espacio exclusivo. Este espacio de identificación, generalmente, se lo conoce con el nombre de cuenta o perfil de usuario. Si bien existe una diferencia muy substancial entre una cuenta de usuario y un perfil, quizá sea preferible que utilicemos el término de cuenta de usuario, de modo de referirnos a los usuarios de las bases de datos. Un perfil es una cuenta de usuario pero con mayores detalles. Los perfiles no entran en este contexto de estudio.

Para mayores lineamientos de seguridad de usuarios, los datos de los mismos, suelen codificarse con algún algoritmo de seguridad. Según el grado de sensibilidad de los datos y los usuarios de la base de datos, este proceso de seguridad refinada, podría garantizar una política más fuerte y una modalidad de seguridad más robusta. En síntesis, existe un sinfín de combinaciones posibles para establecer hard roles “políticas de seguridad duras”. En los manuales especializados de seguridad y según los estándares de seguridad, la rigidez de la seguridad se organiza en niveles operativos que van desde las políticas básicas hasta las políticas más complejas y duras.

Mecanismo de Privilegios

El mecanismo de privilegio parte en gran medida de dos controles principales que son el acceso y la denegación de los recursos. Sin embargo, existe un valor intermedio al que podríamos llamarlo privilegio parcial. Este valor intermedio resulta ser el más granular. Para el caso de un control de privilegio parcializado, podría existir la posibilidad de controlar el acceso a una tabla, concediendo acceso de solo lectura. Si Ud., se basara en valores absolutos de controles, el comportamiento de su política sería drástico. Si accede, se permite todo y si deniega, no se permite nada. He aquí la gran diferencia.

El gestor de base de datos MySQL Server y MySQL Server Web, prevé un modelo de políticas de seguridad granular. De esta forma, el administrador de la base de datos tiene el control y gestión de forma segura, lo que a su vez, otorga confiabilidad al resto de los usuarios de la base de datos. Esto facilita la gestión de la base de datos y sus recursos, otorgando así, los privilegios adecuados y garantizando a los usuarios el acceso de forma granular, precisa y libre de todo tipo de discordias o potenciales peligros.

Analizando las Cuentas de Usuarios

En la siguiente figura Ud., podrá ver un listado de usuarios globales. Si observa la tabla, verá en detalles que cada uno de ellos tiene un atributo específico según la definición para su política competente.

fgd

La cuenta de usuario se compone de un nombre de usuario y de una contraseña. Además de ello, se hace mención al equipo al que se tiene acceso, que en este caso, se trata del Host. En la lista podrá observar que la primera columna enlista a los usuarios, la segunda el Host de acceso y la tercera columna nos indica si dicho usuario posee contraseña en su cuenta o no. Resulta recomendable siempre que el usuario tenga contraseñas por una cuestión de seguridad. El resto de las columnas hacen referencia al atributo que a este usuario se le aplica. Más precisamente, interesa la columna donde se enmarca el tipo de privilegio llamada Privilegios globales.

El Host o la columna Servidor, hace referencia al acceso de explotación del recurso. El valor % “porcentual” es utilizado para representar cualquier tipo de acceso. Ud., puede utilizar direcciones IP o nombres de Host tal como localhost que hace referencia al equipo local. Se debe tener especial cuidado cuando se asignan accesos al recurso. Si por alguna razón desea utilizar más de un medio de acceso al recurso, recuerde siempre de colocar los niveles de contraseña adecuadas para cada instancia de acceso. Esto evitará potenciales problemas de inseguridad.

Analizando la Granularidad de las Políticas de Control

Cuando crea a un nuevo usuario en el gestor de base de datos, se plantea un proceso refinado de controles que normalmente se le suele llamar granular. El comportamiento de la política granular consiste en determinar qué recursos deben estar o no disponibles para el usuario. De esta forma, el administrador del gestor de datos, podrá determinar con precisión los límites que son fijados a dicho usuario y su entorno operativo. A continuación se muestra una captura de imagen para el caso de la creación de un nuevo usuario para la gestión de datos.

dfgd

Parte Superior de la Pantalla

dfgfdg

Parte Inferior de la Pantalla

Resulta importante analizar la segunda captura. Aquí tiene un concepto amplio de lo que representa una política granular aplicada al recurso del gestor de datos. En el marco Datos puede ver los comandos más importantes del lenguaje SQL. Según se marque en cada una de las casillas, el usuario tendrá o no disponibilidad a dichos comandos. Si bien Ud., puede marcar al azar, se supone que debe tener cierto criterio.

Resulta interesante aclarar de ante mano que cuando se establece la política para el usuario, debe primar el sentido común. Por ejemplo, si Ud., asigna la política conceder uso para INSERT y denegar SELECT, esto produce una política de gestión que permite agregar datos y no permite consultarlos. Evidentemente, si bien el sistema funciona a la perfección, aquí hay una falla de integridad, es decir, falta de sentido común. Es por ello que Ud., debiera contar con algún plan antes de aventurarse a cambiar las políticas al azar. Los permisos se asignan marcando la casilla correspondiente. Si no marca la casilla, la política entiende que dicho valor o atributo será denegado.

Así mismo, en el marco Estructura se cuenta con los mismos comandos pensados para la creación y administración en general de tablas. En el marco Administración se determina el tipo de privilegio que se desea obtener para el usuario. A continuación en la siguiente tabla se describe cada uno de estos atributos.

Administración
AtributoDescripción
GRANTPermite añadir usuarios y privilegios sin conectarse nuevamente a la tabla de privilegios.
SUPERPermite la conexión, incluso si el número máximo de conexiones ha sido alcanzado; Necesario para la mayor parte de operaciones administrativas tales como montar parámetros de variables globales o matar procesos de otros usuarios.
PROCESSPermite ver las consultas completas en la lista de procesos.
RELOADPermite a volver a cargar los parámetros del servidor y depurar los caché del servidor.
SHUTDOWNPermite desconectar el servidor.
SHOW DATABASESConcede acceso a la lista completa de bases de datos.
LOCK TABLESPermite poner candados a las tablas para el proceso actual.
REFERENCESNo tiene efecto en esta versión de MySQL.
REPLICATION CLIENTDa el derecho de usuario para preguntar donde están los clientes.
REPLICATION SAVENecesario para las copias de salvas de seguridad.
CREATE USERPermite crear, eliminar y cambiar el nombre de las cuentas de usuarios.

Si observa al final del pie de esta captura de pantalla imagen, podrá observar una serie de campos de textos donde por defecto se ha colocado el valor cero. Aquí podrá controlar, por ejemplo, la cantidad máxima de consultas que el usuario puede realizar durante la sesión, la cantidad de actualizaciones, la cantidad de conexiones medidas en cantidad de usuarios y en tiempo. El valor cero implica omitir estas restricciones. Esta política resulta ideal para ciertos escenarios, como por ejemplo, cuando se desea preservar el ancho de banda o limitar las operaciones transactivas del usuario que apuntan al recurso de base de datos. Quizá la seguridad y el ancho de banda son los principales motivos para su gestión y cuidado.

Acceso a las Bases de Datos de MySQL Mediante Páginas Web Dinámicas

El proceso de transferencia de información entre la arquitectura cliente-servidor, permite desarrollar todo tipo de mecanismos de comunicación que resultan útil en campo de la industria, el comercio y la mayoría de las actividades humanas. Mediante una página dinámica, resulta posible establecer un proceso de comunicación entre la máquina cliente y un servidor Web. Gran parte de los negocios modernos utilizan este principio y entre otros campos como la industria, la educación, la salud y los recursos gubernamentales han ganado utilidad estos últimos años.

Citando ejemplos, desde consultar la existencia y el coste de un libro, el acceso a un catálogo comercial, el acceso a la información de normalizaciones en la industria, obtener datos de un paciente hasta poder obtener el saldo de una cuenta bancaria, el pago de impuestos y otros tantos modelos comerciales vigentes. En síntesis, las páginas dinámicas nos permiten crear entornos de desarrollo de consultas ilimitadas, así también, ilimitadas en funcionalidades y objetivos.

Nuestras novedades en tu e-mail

Escribe tu e-mail:



MailxMail tratará tus datos para realizar acciones promocionales (vía email y/o teléfono).
En la política de privacidad conocerás tu derechos y gestionarás la baja.

Cursos similares a Curso de MySQL con PHP



  • Vídeo
  • Alumnos
  • Valoración
  • Cursos
1. Windows. Instalación de Apache, MySQL y PHP
El proceso para instalar Apache en Windows es muy sencillo.  Con este video te... [12/10/10]
1.759
Curso con video
2. PHP y MySQL. Aplicaciones Web: PHP y base de datos MySQL (décima parte)
Programación de aplicaciones Web con PHP y MySQL. Ahora te enseñaremos a conectar a... [02/12/08]
3.751  
3. PHP y MySQL. Aplicaciones Web: base de datos MySQL I (séptima parte)
Programación de aplicaciones Web con PHP y MySQL Ahora estudiaremos la Base de... [02/12/08]
3.225  

¿Qué es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail