Creando un usuario en SQL Azure con permisos restringidos para conectarse desde Access

En el artículo anterior vimos como crear las primeras tablas en nuestra base de datos SQL Azure pero nos dejamos un tema muy importante pendiente que debemos resolver inmediatamente antes de aprender a conectar Access con esta base de datos y utilizar estas tablas.

La seguridad como medida principal

Hasta ahora, el usuario que habíamos dado de alta al contratar los servicios de Microsoft SQL Azure era un administrador y, como tal, podía hacer y deshacer a su antojo.

Aunque ese usuario es totalmente funcional para dárselo a Access a la hora de conectarse a esa base de datos en la nube no es la práctica más correcta pues si esa información fuera a parar a manos malintencionadas podría ponernos en un serio aprieto y por ello debemos crear un usuario al que habremos restringido los permisos de manipulación de nuestra base de datos SQL Azure a solo Lectura y Escritura. De modo que solo pueda interactuar con los datos pero no eliminar tablas, crear tablas, modificar la estructura de las tablas, eliminar usuarios, etc.

Creando el usuario

Hasta ahora hemos visto que las tablas en SQL Azure podemos crearlas sin mayor complicación utilizando el entorno Web que nos ofrece el sistema, sin embargo, para crear los usuarios debemos de tener un acceso con mayor control que el que nos proporciona el entorno Web, y por ello vamos a hacerlo desde el Management Studio que es un software gratuito que nos permitirá conectarnos a nuestra base de datos para realizar ciertas modificaciones como administradores de la misma. En el artículo sobre colmo crear las tablas en SQL Azure explicamos de donde descargarlo y como.

Para que el Management Studio pueda acceder a nuestra base de datos debemos proporcionarle tres datos:

  1. El nombre del Servidor (Lo vimos en el artículo anterior)
  2. El usuario con permisos de administración
  3. Su contraseña

Panel de acceso al Management Studio

 

Los tres pasos fundamentales para crear el usuario

En SQL Azure hay que tener muy claro el concepto de cómo crear un usuario, es un tema que, para los usuarios de Microsoft Access nos puede desconcertar un poco, no estando acostumbrados a realizar este tipo de gestiones sobre servidores de bases de datos. Yo os lo he simplificado bastante en solo tres pasos:

  1. Crear un Login al servidor
  2. Crear un usuario a la base de datos que se entienda con ese Login
  3. Asignarle los permisos

Lo primero es crear un Login (Usuario y contraseña) desde la base de datos «master». Ese Login será el que habrá que introducir en Access para que lo reconozca el SQL Azure. Por ejemplo «MiUsuario».

Create Login MiUsuario WITH Password = 'Pass123456Word'

Pero crear un Login no asegura que pueda acceder a nuestra base de datos. Un servidor puede contener una o un montón de bases de datos, con el Login le estamos diciendo al servidor que el usuario está autorizado a acceder a éste pero aún no le hemos dicho a que base de datos puede acceder así que, con el Login sólo no hacemos nada.

Lo segundo que tenemos que hacer es, desde la base de datos a la que queremos que acceda este (Login), crear un usuario que se entienda con dicho Login. Sería algo como «MiUsuarioDocebit» o «MiUsuarioPuedeEntrarAdocebit» pongamos el nombre que queramos…. cuando lo hallamos hecho será como decir («MiUsuario» puede acceder a la base de datos «docebit» como «MiUsuarioDocebit»)

Create User MiUsuarioDocebit from Login MiUsuario

Y por último, desde la base de datos, tendremos que decidir que permisos queremos asignarle a este usuario «MiUsuarioDocebit» que ya hemos dicho más arriba que serían de lectura y de escritura pero sólo a los datos, de forma que desde nuestro programa realizado en Access pueda leer y escribir registros.

exec sp_addrolemember 'db_datawriter' , 'MiUsuarioDocebit'
exec sp_addrolemember 'db_datareader' , 'MiUsuarioDocebit'

Todo esto y con mucho más detalle se explica en el siguiente vídeo:

Quizás todo esto, como usuarios básicos de Access, herramienta extremadamente simple, pueda resultar algo complejo, pero lo bueno de esto es que sólo lo realizaremos una vez.

Voy a intentar matizarlo, no necesitaremos hacer esto para cada usuario que utilice nuestra base de datos, porque Access será el único usuario de esta base de datos. Está claro que esto es un poco rollo andar configurándolo por eso crearemos UN SOLO USUARIO con el que nuestro programa de Access podrá conectarse a la base de datos……ya, pero ¡Mi programa lo usarán varios usuarios! Efectivamente, pero de ello podremos encargarnos desde Access que ya sabemos manejarlo bien y crear las herramientas necesarias para controlar que pueden o no pueden hacer nuestros usuarios dentro del programa, que formularios podrán ver, o que información podrán modificar, tal cual lo hemos hecho siempre.

No tienen nada que ver la gestión de usuario de nuestra aplicación con el usuario que hemos dado de alta en Azure para que Access pueda conectarse a ella.

En el siguiente artículo finalmente veremos lo sencillo que es que Access se conecte a esta base de datos en la nube a través de ODBC y podamos manipular los datos.

Os aseguro que os sorprenderá lo que Access puede hacer aquí y las posibilidades que nos brinda con este tipo de infraestructura teniendo en cuenta que hablamos de una herramienta de bases de datos de «Andar por casa», o por lo menos, eso es lo que os han contado.

Un comentario

  1. Cómo se hace para poder acceder de Access desde otra conexión de internet, ya que al cambiar de ip (ip dinámica) Azure limita el acceso a direcciones ip configuradas y autorizadas…

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.