Configuración avanzada de usuarios SQL Server

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Bizagi Studio > Bizagi Studio - requerimientos de sistema > Base de datos - requisitos > SQL Server - requisitos >

Configuración avanzada de usuarios SQL Server

Introducción

Las políticas de seguridad en las compañías pueden a menudo restringir el uso del login sa que utiliza Bizagi por defecto en instancias SQL Server (la cuenta de súper usuario con role sysadmin).

 

Debido a este motivo, presentamos cómo crear login de usuarios (inicio de sesión) en una instancia SQL Server y configurarlos para trabajar con Bizagi.

 

 

Tipos de login de usuario

Los siguientes tipos se listan en un orden jerárquico, desde el login de usuario que tiene mayor privilegio y abarca los demás, hasta el login de usuario que no puede realizar lo de los de arriba.

El login de usuario fundamental para la configuración de la conexión en Bizagi Studio es el del administrador de procesos.

 

TIPO DE LOGIN DE USUARIO / PERFIL

PERMISOS

OBJETIVO / DESCRIPCIÓN

Administrador del sistema (opcional)

Rol de servidor: sysadmin

Este login de usuario no es para uso de Bizagi Studio.

 

El objetivo es utilizarlo para la administración en SQL Server de los otros login de usuario (p.e, para crear el siguiente login), sin necesidad de utilizar las credenciales del DBA.

Administrador de procesos

Rol de servidor: public

Permisos sobre la base de datos Master:
Crear BD, crear backup de BD, "grant view", cualquier definición.

Este login de usuario para Bizagi Studio se emplea en el mismo servidor Bizagi donde se alberga el proyecto.

 

Esto con el fin de permitir mediante este login: crear o actualizar proyectos Bizagi, y realizar deployments del proyecto.

Analista de procesos (opcional)

Rol de servidor: public

DB Owner de la base de datos específica del proyecto Bizagi.

Este login de usuario para Bizagi Studio se emplea para los analistas de proceso que deseen trabajar en el proyecto a través de sus estaciones de trabajo (sobretodo, en una configuración de trabajo colaborativo). Los diferentes analistas de proceso compartirían el mismo login de usuario.

 

Esto con el fin de permitir mediante este login trabajar en la automatización de los procesos (modelar el proceso, definir el modelo de datos, las interfaces de usuario, reglas de negocio, etc).

 

 

Creando los login de usuario

Ejecute SQL Server Management Studio y asegúrese de estar conectado a su instancia con un login de usuario con privilegios de administrador (p.e, con el login de usuario sa).

Podrá a partir de este, crear login de usuarios adicionales, de acuerdo a los perfiles involucrados en su proyecto como se describe a continuación.

 

 

Creando el login para el administrador del sistema (opcional)

Cree un nuevo login de usuario que sea administrador del sistema, para no utilizar el login provisto por defecto (sa).

 

Para hacerlo, ubique el ítem de Seguridad y cree un login de usuario que cumpla lo siguiente:

 

El login de usuario debe usar autenticación tipo SQL Server:

 

21CreateSysadmin_login

 

Asegúrese de que tenga el rol sysadmin:

 

21CreateSysadmin_roles

 

Verifique que este login de usuario esté habilitado y permitido para conectarse, bajo sus opciones de Status:

 

21CreateSysadmin_grant

 

Dé clic en Ok.

 

Creando el login para el administrador de procesos

Use el login de usuario creado previamente (de administrador del sistema, o incluso el login de usuario sa si no realizó este paso).

Ejecute el siguiente script para crear un login de usuario con privilegios para crear, actualizar o hacer deployment de los proyectos:

 

 

/* Create login */

USE [master]

 

/* Create login */

IF  EXISTS (SELECT * FROM sys.server_principals WHERE name = N'process_admin_user')

 DROP LOGIN [process_admin_user]

GO

CREATE LOGIN [process_admin_user] WITH PASSWORD=N'process_admin_password', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF

GO

ALTER LOGIN [process_admin_user] ENABLE

GO

 

GRANT BACKUP DATABASE TO [process_admin_user]

GO

GRANT CREATE DATABASE TO [process_admin_user]

GO

 

 

Considere:

process_admin_user: El nombre que desee dar a su login de usuario.

process_admin_password: La contraseña que desee dar a ese login de usuario.

 

Para verificar que este login de usuario haya sido creado adecuadamente con los permisos necesarios, ejecute:

use [master]

exec sp_helprotect NULL, 'process_admin_user'

 

use [tempdb]

exec sp_helprotect NULL, 'process_admin_user'

 

 

Deberá ver lo siguiente:

 

22CreateProcAdmin_verify

 

 

En este punto, el login de usuario ha sido creado.

Tenga en cuenta que el objetivo de este login es para configurarlo en la conexión desde el Bizagi Studio instalado en su servidor Bizagi (p.e al crear el proyecto).

 

Creando el login para los analistas de proceso (opcional)

Use el login de usuario de administrador del sistema, o incluso el login de usuario sa si no realizó el primer paso.

Ejecute el siguiente script para crear un login de usuario con privilegios para abrir el proyecto y trabajar en él:

 

/* Create login */

USE [master]

GO

 

IF EXISTS (SELECT * FROM sys.server_principals WHERE name = N'proc_analyst')

 DROP LOGIN [proc_analyst]

GO

CREATE LOGIN [proc_analyst] WITH PASSWORD=N'proc_analyst_password', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF

GO

ALTER LOGIN [proc_analyst] ENABLE

GO

 

/* Grant permission on server */

GRANT VIEW ANY DEFINITION TO [proc_analyst]

GO

 

/* Deny view other databases */

DENY VIEW ANY DATABASE TO [proc_analyst]

 

Considere:

proc_analyst: El nombre que desee dar a su login de usuario.

proc_analyst_password: La contraseña que desee dar a ese login de usuario.

 

 

Para verificar que este login de usuario haya sido creado adecuadamente con los permisos necesarios, ejecute:

use [master]

exec sp_helprotect NULL, 'proc_analyst'

 

Deberá ver lo siguiente:

 

23CreateProcAnalyst_verify

 

En este punto, el login de usuario ha sido creado.

Tenga en cuenta que el objetivo de este login es para configurarlo de manera uniforme, en la conexión desde el Bizagi Studio instalado en las estaciones de trabajo de los analistas de proceso, para la automatización de procesos en el proyecto.

 

 

Importante

Asegúrese de tener en cuenta las siguientes consideraciones:

 

1. DBOwnership, al login del analista de proceso sobre la BD específica

Si crea un login de usuario para su analista de proceso, deberá ejecutar el siguiente script después de la creación del proyecto, para asegurarse que dicho login se configure como dueño de la base de datos (database owner) de ese proyecto de Bizagi:

 

use [your_Bizagi_database]

exec sp_changedbowner 'proc_analyst'

 

 

2. Consideración sobre Tempdb al reiniciar la instancia

Cuando se reinicie una instancia de base de datos, tenga en cuenta que las definiciones sobre la base de datos de SQL llamada tempdb, serán reiniciadas.

Por lo tanto, para el login de usuario del administrador de procesos, deberá volver a ejecutar la parte del script que crea una definición sobre tempdb:

 

/* Create user on tempdb */

USE [tempdb]

GO

IF EXISTS (SELECT name FROM sys.database_principals WHERE name = 'process_admin_user')

BEGIN

   DROP USER [process_admin_user]

END

CREATE USER [process_admin_user] FROM LOGIN [process_admin_user]

GO

 

/* Grant permission on tempdb */

GRANT ALTER TO [process_admin_user]

GO

GRANT CREATE TABLE TO [process_admin_user]

GO

GRANT SELECT TO [process_admin_user]

GO

 

De lo contrario, este login no podrá crear proyectos, o actualizar y realizar deployments de un proyecto.

 

3. Conexiones no autorizadas

Cuando la configuración de Bizagi Studio utilice un login de usuario que no tenga permisos para realizar cierta tarea (p.e al hacer deployment), tendrá la opción de redefinir la cuenta involucrada para su instalación de Bizagi Studio.

Usted puede hacer esto desde la consola mostrada cuando se intente utilizar una función que requiera credenciales autorizadas, o desde la opción de configurar la conexión de base de datos.