Escolar Documentos
Profissional Documentos
Cultura Documentos
Administracin de la seguridad
Contenido:
Leccin 1: Descripcin general de la seguridad
de SQL Server 4-2
Leccin 2: Proteger el mbito de servidor 4-8
Leccin 3: Proteger el mbito de base de datos 4-26
Leccin 4: Administrar claves y certificados en
SQL Server 4-42
Prctica: Seguridad de SQL Server 4-53
La informacin contenida en este documento, incluidas las direcciones URL y otras referencias a sitios web
de Internet, est sujeta a modificaciones sin previo aviso. A menos que se indique lo contrario, los nombres
de ejemplo de compaas, organizaciones, productos y dominios, direcciones de correo electrnico,
logotipos, personas, personajes, lugares y eventos mencionados son ficticios. No se pretende indicar, ni debe
deducirse ninguna asociacin con compaas, organizaciones, productos, dominios, direcciones de correo
electrnico, logotipos, personas, lugares o eventos reales. Es responsabilidad del usuario el cumplimiento de
todas las leyes de derechos de autor aplicables. Ninguna parte de este documento puede ser reproducida,
almacenada o introducida en un sistema de recuperacin, o transmitida de ninguna forma, ni por ningn
medio (ya sea electrnico, mecnico, por fotocopia, grabacin o de otra manera) con ningn propsito, sin la
previa autorizacin por escrito de Microsoft Corporation.
Los nombres de fabricantes o productos y las direcciones URL se proporcionan con fines informativos
nicamente y Microsoft no hace ninguna representacin ni otorga ninguna garanta, ya sea expresa, implcita
o legal, en relacin a estos fabricantes o al uso de los productos con ninguna de las tecnologas de Microsoft.
La inclusin de un fabricante o producto no implica aprobacin por parte de Microsoft del fabricante o del
producto. Se proporcionan vnculos a sitios de terceros. Estos sitios no estn bajo el control de Microsoft y
Microsoft no es responsable del contenido de ninguno de los sitios vinculados ni de los vnculos que stos
contengan, ni tampoco de los cambios o actualizaciones que se produzcan en dichos sitios. Microsoft no es
responsable de la difusin en web ni de ninguna otra forma de transmisin recibida desde cualesquiera de
los sitios vinculados. Microsoft facilita estos vnculos nicamente para su comodidad y la inclusin de un
vnculo no implica la aprobacin por parte de Microsoft del sitio o de los productos contenidos en l.
Microsoft puede ser titular de patentes, solicitudes de patentes, marcas, derechos de autor y otros derechos
de propiedad intelectual sobre el contenido de este documento. El suministro de este documento no le
otorga a usted ninguna licencia sobre estas patentes, marcas, derechos de autor u otros derechos de
propiedad intelectual, a menos que ello se prevea en un contrato escrito de licencia de Microsoft.
Microsoft, Active Directory, ActiveX, Excel, Outlook, PowerPoint, SharePoint, Verdana, Visio, Visual Basic,
Windows CE, Windows Mobile, Windows NT, y Windows Server son marcas registradas o marcas
comerciales de Microsoft Corporation en EE.UU. y/o en otros pases.
Otros nombres de productos y compaas mencionados aqu pueden ser marcas comerciales de sus
respectivos propietarios.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
Mdulo 4: Administracin de la seguridad 41
Objetivos del mdulo Despus de completar este mdulo, los alumnos podrn:
Describir la arquitectura de seguridad de SQL Server.
Implementar la seguridad en el mbito de servidor.
Implementar la seguridad en el mbito de base de datos.
Administrar certificados en SQL Server.
Qu son las entidades SQL Server 2005 emplea el trmino entidad de seguridad para referirse a las identidades
de seguridad? autenticadas en un sistema de SQL Server. La comprensin de las diferentes entidades
de seguridad que pueden existir en un sistema de SQL Server le ayudar a planear su
modelo de seguridad.
Niveles de entidades de Las entidades de seguridad existen en tres niveles: Microsoft Windows, SQL Server y
seguridad base de datos. Los tipos de entidad de seguridad posibles en cada uno de estos niveles
se muestran en la tabla siguiente.
Qu son los protegibles? Los objetos cuyo acceso est regulado por el sistema de autorizacin de SQL Server
2005 se denominan protegibles. Como ocurre con las entidades de seguridad,
es necesario comprender los diferentes mbitos de los protegibles en SQL Server
para planear su modelo de seguridad.
Inicios de sesin
Extremos
Bases de datos
El mbito de base de Los protegibles que contiene el mbito de base de datos incluyen:
datos
Usuarios
Funciones
Funciones de aplicacin
Certificados
Claves simtricas
Claves asimtricas
Ensamblados
Catlogos de texto completo
Eventos DDL
Esquemas
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
Mdulo 4: Administracin de la seguridad 45
Tablas
Vistas
Funciones
Procedimientos
Tipos
Sinnimos
Agregados
Nota Tenga en cuenta que una entidad de seguridad tambin puede ser un
protegible. Por ejemplo, un inicio de sesin es una entidad de seguridad, pero tambin
se pueden otorgar permisos en ese inicio de sesin a otros inicios de sesin, lo que lo
convierte en un protegible.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
46 Mdulo 4: Administracin de la seguridad
Introduccin SQL Server 2005 usa permisos para controlar el acceso a los protegibles por parte
de entidades de seguridad. Para planear su modelo de seguridad para la base de datos,
es importante entender cmo se implementan los permisos en los mbitos de los
protegibles.
Los permisos son las reglas que gobiernan el nivel de acceso de las entidades de
seguridad a los protegibles. Se pueden otorgar, revocar o denegar permisos en un
sistema de SQL Server. Todos los protegibles de SQL Server tienen permisos asociados
que pueden otorgarse a cada entidad de seguridad.
Ejemplos de permiso La nica manera de que una entidad de seguridad pueda tener acceso a un recurso en
un sistema de SQL Server es recibir permiso para ello, directa o indirectamente a travs
de la suscripcin de una entidad secundaria como una funcin o un grupo. Puede
administrar los permisos usando el Explorador de objetos en SQL Server Management
Studio o mediante la ejecucin de instrucciones GRANT, REVOKE o DENY.
Los permisos concretos asociados a cada uno de los protegibles varan segn los tipos
de acciones que son compatibles con un protegible.
Permisos heredados Determinados permisos en SQL Server 2005 se pueden heredar a travs de un permiso
concedido en un nivel ms alto de la jerarqua de mbito del protegible. Por ejemplo:
Permisos efectivos Los permisos efectivos para una entidad de seguridad se evalan de la misma manera
que en versiones anteriores de SQL Server. Una entidad de seguridad puede realizar
una accin determinada si:
Nota Una instruccin DENY explcita siempre reemplaza a una instruccin GRANT.
Por ejemplo, si a un usuario se le ha concedido explcitamente el permiso SELECT en
una tabla determinada pero es miembro de una funcin a la que se le ha denegado
explcitamente el permiso SELECT en la tabla, el usuario no podr ejecutar una
instruccin SELECT en la tabla.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
48 Mdulo 4: Administracin de la seguridad
Introduccin Esta leccin examina la seguridad en el nivel de objeto de servidor en SQL Server 2005.
Es importante entender cmo proteger el mbito de servidor para garantizar que slo
los usuarios autorizados puedan tener acceso a las instancias de SQL Server.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
Mdulo 4: Administracin de la seguridad 49
Introduccin SQL Server 2005 puede configurarse para usar uno de los dos modos de autenticacin
siguientes:
Nota Los inicios de sesin en SQL Server asignados a los usuarios de Windows se
conocen como inicios de sesin de Windows. Los inicios de sesin autenticados en SQL
Server se conocen como inicios de sesin de SQL.
Las necesidades de seguridad de sus entornos de servidor y de red determinarn el
modo de autenticacin que se usar para SQL Server. Puede usar SQL Server
Management Studio para establecer el modo de autenticacin de su servidor.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
410 Mdulo 4: Administracin de la seguridad
Cundo usar el modo de Use el modo de autenticacin de Windows en entornos de red en los que todos los
autenticacin de usuarios estn autenticados mediante cuentas de usuario de Windows.
Windows
La autenticacin de Windows proporciona varias ventajas sobre la autenticacin de
SQL Server, como por ejemplo:
Cundo usar el modo de Use el modo de autenticacin de Windows y SQL Server cuando deba permitir que se
autenticacin de conecten a SQL Server usuarios o aplicaciones que no tienen las credenciales de
Windows y SQL Server Windows. A menos que necesite especficamente conexiones a SQL Server que no sean
de Windows, no debera habilitar el modo de autenticacin de Windows y SQL Server
por las razones siguientes:
Introduccin En Windows 2000 y Microsoft Windows Server 2003, puede usar la Directiva de
grupo para definir las configuraciones de usuarios y equipos para grupos de usuarios y
equipos. Puede usar la Directiva de grupo para configurar muchas opciones, incluidas
las directivas de cuentas. Las directivas de contraseas son tiles para garantizar que
todas las contraseas sean lo suficientemente complejas y que se cambien
peridicamente para maximizar la seguridad y evitar el acceso no autorizado.
En SQL Server 2005, las directivas de cuentas locales o de dominio se pueden aplicar a
inicios de sesin de SQL, as como a los inicios de sesin de Windows, cuando SQL
Server se instala en equipos que usan Windows Server 2003 o posterior.
Directivas de Las directivas de complejidad de contraseas estn diseadas para disuadir los ataques
complejidad de de fuerza bruta por medio del aumento del nmero de contraseas posibles. Cuando se
contraseas aplica la directiva de complejidad de contraseas, las nuevas contraseas deben cumplir
los requisitos de directiva establecidos por la directiva de contraseas de Windows. Un
ejemplo de este tipo de directiva sera:
La contrasea no contiene todo o parte del nombre de cuenta del usuario. Una
parte de un nombre de cuenta se define como tres o ms caracteres alfanumricos
consecutivos delimitados en ambos extremos por un espacio en blanco (espacio,
tabulacin, retorno, etc.) o por cualquiera de los caracteres siguientes: , . - _ #
La contrasea debe tener una longitud de siete caracteres como mnimo.
La contrasea contiene caracteres de tres de las cuatro categoras siguientes:
Abecedario ingls en maysculas (de la A a la Z)
Abecedario ingls en minsculas (de la a a la z)
Dgitos en base decimal (del 0 al 9)
Caracteres no alfanumricos (por ejemplo: !, $, #, o %)
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
412 Mdulo 4: Administracin de la seguridad
Directiva de caducidad Las directivas de caducidad de contraseas se usan para administrar el tiempo de
de contraseas vida de una contrasea. Cuando se usa una directiva de caducidad de contraseas,
se recuerda a los usuarios que cambien las contraseas anteriores y las cuentas con
contraseas caducadas se deshabilitan.
Nota De manera predeterminada, SQL Server est configurado para usar el modo de
autenticacin de Windows. Todava puede crear inicios de sesin de SQL, pero no
podrn conectarse al servidor hasta que se cambie el modo de autenticacin al modo de
autenticacin de Windows y SQL Server.
Crear inicios de sesin Puede usar la instruccin CREATE LOGIN para crear inicios de sesin de Windows o
SQL Server. Las opciones concretas que puede usar dentro de la instruccin CREATE
LOGIN dependen de si est creando un inicio de sesin de Windows o un inicio de
sesin de SQL Server.
El ejemplo siguiente muestra una instruccin CREATE LOGIN que crea un inicio de
sesin de Windows para un grupo de Windows local denominado SalesDBUsers:
El ejemplo siguiente muestra una instruccin CREATE LOGIN que crea un inicio de
sesin de SQL:
Opcin Descripcin
HASHEDloca Especifica que la contrasea ya se ha
comprobado aleatoriamente. Si no est
especificada, la cadena se comprobar
aleatoriamente antes del almacenamiento.
MUST_CHANGE Solicita a un inicio de sesin que cambie
su contrasea la primera vez que se
conecta. Si se especifica esta opcin,
CHECK_EXPIRATION y CHECK_POLICY
deben establecerse en ON.
CHECK_EXPIRATION Cuando se encuentra en ON (el valor
predeterminado), esta opcin especifica
que la directiva de caducidad de
contraseas de Windows Server 2003
debera aplicarse al inicio de sesin de SQL
Server. En servidores de Windows 2000,
esta opcin no tiene ningn efecto. Si esta
opcin se encuentra en ON, la opcin
CHECK_POLICY tambin debe estar en
ON o se producir un error en la
instruccin.
CHECK_POLICY Cuando se encuentra en ON (el valor
predeterminado), esta directiva especifica
que la directiva de complejidad de
contraseas de Windows Server 2003
debera aplicarse al inicio de sesin de SQL
Server. En servidores de Windows 2000,
esta opcin no tiene ningn efecto.
El ejemplo siguiente muestra una instruccin CREATE LOGIN que crea un inicio de
sesin de SQL que no est sujeto a la directiva de contraseas definida para el servidor:
Modificar inicios de Puede modificar un inicio de sesin viendo sus propiedades en el Explorador de objetos
sesin o mediante la ejecucin de la instruccin ALTER LOGIN. Un uso comn de la
instruccin ALTER LOGIN es desbloquear un inicio de sesin bloqueado por una
contrasea caducada. El ejemplo siguiente muestra cmo desbloquear una cuenta
bloqueada:
Eliminar inicios de sesin Puede eliminar un inicio de sesin haciendo clic sobre l con el botn secundario en el
Explorador de objetos y haciendo clic a continuacin en Eliminar, o ejecutando la
instruccin DROP LOGIN como se muestra en el ejemplo siguiente:
Introduccin Las funciones proporcionan un medio de agrupar usuarios en una sola unidad a la que
se pueden aplicar permisos.
La funcin fija de Adems de las funciones fijas de servidor mostradas en la tabla anterior, cada instancia
servidor pblica de SQL Server contiene una funcin fija de servidor especial denominada pblica, de la
que todos los inicios de sesin son miembros. La funcin fija de servidor pblica recibe
el permiso VIEW ANY DATABASE.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
Mdulo 4: Administracin de la seguridad 417
Asignar una cuenta de Puede usar las Propiedades de inicio de sesin de SQL Server en SQL Server
inicio de sesin a una Management Studio o el procedimiento almacenado del sistema
funcin fija de servidor sp_addsrvrolemember para agregar una cuenta de inicio de sesin como un miembro
de una funcin fija de servidor. Slo los miembros de funciones fijas de servidor pueden
ejecutar el procedimiento almacenado del sistema sp_addsrvrolemember.
Al agregar una cuenta de inicio de sesin a una funcin de servidor, la cuenta consigue
los permisos asociados a la funcin de servidor.
Para asignar cuentas de inicio de sesin a funciones fijas de servidor, tenga en cuenta los
puntos siguientes:
Introduccin SQL Server y Windows se pueden configurar para permitir que una instancia de SQL
Server se conecte a otra instancia de SQL Server en el contexto de un usuario de
Windows autenticado. Esta tcnica se conoce como delegacin.
Requisitos para la Para usar la delegacin, todos los servidores a los que est conectando deben tener
delegacin instalado Windows 2000 o Windows Server 2003 con el soporte tcnico de Kerberos
habilitado; adems, debe estar usando el servicio de directorios de Active Directory.
Windows Server 2003 admite una delegacin ms concreta que las versiones anteriores
de Windows. Windows Server 2003 permite la concesin de derechos de delegacin a
determinadas combinaciones de servicios. Se dice que estas combinaciones son de
confianza para la delegacin restringida. Esta configuracin es la configuracin
preferida y ms segura en dominios que tienen la funcionalidad completa de Windows
Server 2003.
Configurar Active Debe establecer las opciones de cuenta siguientes en Active Directory para que la
Directory para la delegacin funcione:
delegacin
La cuenta es confidencial y no se puede delegar. No debe seleccionar esta opcin para el
usuario que solicita la delegacin.
La cuenta es de confianza para la delegacin. Debe seleccionar esta opcin para la cuenta
de servicio de SQL Server.
El equipo es de confianza para la delegacin. Debe seleccionar esta opcin para el equipo
que ejecuta SQL Server.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
Mdulo 4: Administracin de la seguridad 419
Configurar SQL Server Para usar la delegacin de la cuenta de seguridad, SQL Server debe tener un Nombre
para la delegacin principal de servicio (SPN) asignado por el administrador de dominio de cuenta de
Windows Server 2003 a la cuenta de servicio de SQL Server y debe usar un Protocolo de
control de transmisin/Protocolo de Internet (TCP/IP). Si el servicio de SQL Server se
est ejecutando en la cuenta LocalSystem, el servicio SQL Server registra un SPN
automticamente al inicio del servicio y anula el registro cuando se cierra SQL Server.
Introduccin Una credencial es una representacin alternativa de un inicio de sesin que contiene la
informacin de autenticacin necesaria para conectarse a un recurso fuera de SQL
Server. La mayora de las credenciales estn compuestas por un inicio de sesin y una
contrasea de Windows. Las credenciales permiten a los usuarios que se conectan a
SQL Server mediante el modo de autenticacin de SQL Server conectarse a Windows
(u otros recursos) fuera de SQL Server. Por ejemplo, un usuario conectado a SQL
Server con un inicio de sesin de SQL podra ejecutar un procedimiento almacenado
que llama a un servicio web ASP.NET que est configurado para la autenticacin de
Windows. El procedimiento almacenado pasara al servicio web el nombre de cuenta y
la contrasea de Windows en la credencial asignada al inicio de sesin de SQL Server.
Crear una credencial Puede crear una credencial mediante el uso de SQL Server Management Studio o de la
instruccin CREATE CREDENTIAL de Transact-SQL. La sintaxis de la instruccin
CREATE CREDENTIAL puede verse en la siguiente muestra de cdigo.
Introduccin Los protegibles del mbito de servidor incluyen objetos como el mismo servidor,
los inicios de sesin y las bases de datos.
Permisos en el nivel de La tabla siguiente muestra algunos permisos de ejemplo en el mbito de servidor.
servidor Para obtener una lista completa de los permisos, consulte Permisos en los Libros
en pantalla de SQL Server.
Clusula/Parmetro Descripcin
securable_permission El permiso especfico que se concede al
protegible.
securable_type El tipo de protegible del mbito de servidor
al que se aplica el permiso. Esta clusula se
omite si el permiso se aplica al propio
servidor.
securable_name El nombre del protegible del mbito de
servidor.
Inicio de sesin Un inicio de sesin al cual se otorga el
permiso.
WITH GRANT OPTION Una opcin que permite que el cesionario
conceda el mismo permiso a otros.
AS group | role Una especificacin de una entidad de
seguridad con los permisos necesarios para
conceder este permiso del mbito de
servidor. Se requiere en escenarios en los
que el otorgante no tiene todos los
permisos necesarios para conceder el
permiso, pero es miembro de una funcin o
grupo que s los tiene.
Ejemplo El ejemplo siguiente muestra cmo otorgar el permiso de servidor ALTER ANY
DATABASE y el permiso ALTER a un inicio de sesin denominado AWWebApp para un
inicio de sesin denominado ADVENTUREWORKS\Elena:
USE master
GRANT ALTER ANY DATABASE
TO [ADVENTUREWORKS\Elena]
GRANT ALTER
ON LOGIN :: AWWebApp
TO [ADVENTUREWORKS\Elena]
Nota Para los permisos de protegibles del mbito de servidor, la instruccin GRANT
debe ejecutarse en la base de datos master.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
424 Mdulo 4: Administracin de la seguridad
Objetivos El objetivo de este ejercicio es permitir que los alumnos creen un inicio de sesin de
Windows y asignar permisos del mbito de servidor.
Crear un inicio de sesin Realice el procedimiento siguiente para crear un inicio de sesin.
1. En el Explorador de objetos, expanda MIAMI y, a continuacin, expanda
Seguridad.
2. Haga clic con el botn secundario en Inicios de sesin y, a continuacin, haga clic
en Nuevo inicio de sesin.
3. En el cuadro de dilogo Inicio de sesin Nuevo, en el cuadro Nombre de inicio
de sesin, escriba MIAMI\Carlos.
4. Haga clic en Aceptar para crear el inicio de sesin.
Asignar permisos para el Realice el procedimiento siguiente para asignar permisos del mbito de servidor.
mbito de servidor 1. En el Explorador de objetos, haga clic con el botn secundario en MIAMI y,
a continuacin, haga clic en Propiedades.
2. En el cuadro de dilogo Propiedades del servidor: MIAMI, haga clic en Permisos
en el panel Seleccionar una pgina.
3. Si MIAMI\Carlos no aparece an en la lista Inicios de sesin o funciones:
a. Haga clic en Agregar para agregar un inicio de sesin.
b. En el cuadro de dilogo Seleccionar inicios de sesin o funciones, haga clic
en Examinar.
c. En el cuadro de dilogo Buscar objetos, active la casilla de verificacin que
hay al lado de MIAMI\Carlos y, a continuacin, haga clic en Aceptar.
d. Haga clic en Aceptar para cerrar el cuadro de dilogo Seleccionar usuarios
o funciones.
4. Haga clic en MIAMI\Carlos en la lista Inicios de sesin o funciones.
5. Seleccione la casilla Conceder a la derecha de Alter any database en la lista de
Permisos explcitos para MIAMI\Carlos.
6. Haga clic en Aceptar para cerrar el cuadro de dilogo.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
426 Mdulo 4: Administracin de la seguridad
Introduccin Esta leccin examina la seguridad en el nivel de base de datos en SQL Server 2005.
Es importante entender la seguridad en el nivel de base de datos para controlar
quin puede tener acceso a las bases de datos de una instancia de SQL Server y qu
acciones pueden realizar los usuarios de una base de datos.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
Mdulo 4: Administracin de la seguridad 427
Introduccin Los inicios de sesin se usan para permitir el acceso al sistema SQL Server. Sin embargo,
el acceso a cada una de las bases de datos se logra creando usuarios en esas bases de
datos. Puede crear usuarios mediante el uso del Explorador de objetos en SQL Server
Management Studio o la ejecucin de la instruccin CREATE USER en la base de datos
adecuada.
Asignar usuarios a inicios En la mayora de los casos, los usuarios de la base de datos estn asignados a inicios de
de sesin sesin. Por ejemplo, podra crear una usuaria llamada Elena en la base de datos
AdventureWorks para hacer que esa base de datos sea accesible para un inicio de
sesin denominado ADVENTUREWORKS\Elena. De forma predeterminada, todos los
inicios de sesin suscritos a la funcin fija de servidor sysadmin estn asignados al
usuario dbo en todas las bases de datos.
Ejemplo de creacin de Puede crear un usuario en SQL Server Management Studio mediante el uso del
un usuario Explorador de objetos o la instruccin CREATE USER de Transact-SQL, como se
muestra en los ejemplos siguientes:
-- Crear un usuario con un nombre diferente a partir del inicio de sesin asignado
CREATE USER Juan FOR LOGIN [ADVENTUREWORKS\Juan]
Modificar un usuario Puede modificar un usuario cambiando sus propiedades en el Explorador de objetos o
mediante la ejecucin de la instruccin ALTER USER.
Quitar un usuario Puede quitar un usuario eliminndolo en SQL Server Management Studio o ejecutando
la instruccin DROP USER. Debe transferir la propiedad de los objetos de un usuario
antes de anularlo.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
Mdulo 4: Administracin de la seguridad 429
Usuarios especiales
Introduccin Los usuarios especiales de una base de datos son usuarios predefinidos que tienen
funciones especiales como la de permitir el acceso administrativo o de invitado.
dbo El inicio de sesin sa y los miembros de la funcin sysadmin estn asignados a una
cuenta de usuario especial, que se encuentra dentro de todas las bases de datos,
denominada dbo. Cualquier objeto creado por un administrador del sistema pertenece
automticamente a dbo. El usuario dbo es una cuenta predeterminada y no puede
eliminarse.
invitado La cuenta de usuario guest (invitado) permite inicios de sesin sin cuentas de usuario
para tener acceso a una base de datos. Las cuentas de inicio de sesin asumen la
identidad del usuario guest cuando se cumplen las condiciones siguientes:
La cuenta de inicio de sesin tiene acceso a SQL Server pero no tiene acceso a la
base de datos a travs de su propia cuenta de usuario.
Se ha habilitado la cuenta de invitado.
USE AdventureWorks
GRANT CONNECT TO guest;
GO
Los permisos se pueden aplicar al usuario invitado como si el usuario invitado fuera
cualquier otra cuenta de usuario. Puede habilitar al usuario invitado en cualquier base
de datos excepto la master y las bases de datos tempdb.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
430 Mdulo 4: Administracin de la seguridad
Introduccin SQL Server proporciona dos tipos de funciones en el nivel de base de datos: funciones
fijas de base de datos y funciones de base de datos definidas por el usuario.
Funciones fijas de base Las funciones fijas de base de datos proporcionan a las agrupaciones privilegios
de datos administrativos en el nivel de base de datos a las que se han concedido permisos para
las tareas comunes de la base de datos. Las funciones fijas de base de datos de una base
de datos se describen en la tabla siguiente.
Funcin Descripcin
db_accessadmin Agregar o quitar usuarios, grupos y
funciones de la base de datos.
db_backupoperator Realizar una copia de seguridad de la base
de datos.
db_datareader Leer datos de cualquier tabla.
db_datawriter Agregar, cambiar o eliminar datos de
cualquier tabla.
db_ddladmin Agregar, modificar o eliminar objetos de la
base de datos.
db_denydatareader No poder leer los datos de ninguna tabla.
db_denydatawriter No poder cambiar los datos de ninguna
tabla.
db_owner Realizar cualquier actividad de funcin de
base de datos.
db_securityadmin Cambiar las funciones de la base de datos,
cambiar las funciones de aplicacin, crear
esquemas.
public Mantener los permisos predeterminados.
La funcin public es una funcin fija de base de datos especial a la que pertenece cada
usuario de la base de datos y no se puede eliminar. La funcin public:
Mantiene todos los permisos predeterminados para los usuarios de una base de
datos.
No puede tener usuarios, grupos o funciones asignados porque los usuarios,
grupos y funciones ya le pertenecen de forma predeterminada.
Est definida en cada base de datos, incluidas las bases de datos master,
msdb, tempdb, model y todas las bases de datos de usuario.
No se puede eliminar.
Sin los permisos adecuados, un usuario puede tener acceso a una base de datos de SQL
Server pero slo podr realizar tareas limitadas. Sin permisos, un usuario posee todos
los permisos que se conceden a la funcin public y puede realizar las acciones
siguientes:
Funciones de base de Cuando ninguna de las funciones fijas de base de datos se adeca a sus propsitos,
datos definidas por el puede crear sus propias funciones de base de datos para agrupar a varios usuarios que
usuario requieran los mismos permisos en una base de datos. La creacin de una funcin de
base de datos definida por el usuario le permite crear un grupo de usuarios con un
conjunto de permisos comunes. Puede crear una funcin de base de datos definida por
el usuario mediante el Explorador de objetos en SQL Server Management Studio o por
medio de la instruccin CREATE ROLE de Transact-SQL, como se muestra en los
ejemplos siguientes:
USE AdventureWorks
CREATE ROLE auditors
Puede modificar o eliminar una funcin de base de datos definida por el usuario en el
Explorador de objetos o mediante el uso de las instrucciones ALTER ROLE y DROP
ROLE de Transact-SQL.
Asignar una entidad de Despus de crear una funcin, use el Explorador de objetos en SQL Server Management
seguridad a una funcin Studio o el procedimiento almacenado del sistema sp_addrolemember para agregar
de base de datos usuarios o funciones como miembros de la funcin. Slo los miembros de las funciones
fijas de servidor sysadmin, db_securityadmin y db_owner o el propietario de la
funcin pueden ejecutar sp_addrolemember para agregar un miembro a una funcin
de base de datos definida por el usuario.
Considere los datos siguientes cuando asigne cuentas de seguridad a una funcin de
base de datos definida por el usuario:
Para quitar una entidad de seguridad de una funcin de base de datos, use el
Explorador de objetos o el procedimiento almacenado del sistema
sp_droprolemember.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
Mdulo 4: Administracin de la seguridad 433
Introduccin Las funciones de aplicacin permiten cumplir con la seguridad para una aplicacin
determinada. Proporcionan un contexto de seguridad alternativo para que un usuario
tenga acceso a una base de datos. El usuario ejecuta una aplicacin asociada a una
funcin de aplicacin y el contexto de seguridad de la funcin de aplicacin se usa en
lugar del usuario individual.
Funciones de aplicacin Las funciones de aplicacin difieren de otras funciones. A continuacin se muestra una
frente a otras funciones lista de las diferencias fundamentales entre las funciones de aplicacin y otras
de base de datos funciones:
Pierden todos los permisos existentes en la base de datos actual para sus cuentas
de usuario y cualquier funcin a la que pertenezcan, salvo los permisos que se
aplican a la funcin public.
Heredan todos los permisos concedidos a la funcin de aplicacin en la base de
datos actual.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
434 Mdulo 4: Administracin de la seguridad
Crear una funcin de Use SQL Server Management Studio o el comando CREATE APPLICATION ROLE
aplicacin (Transact-SQL) para crear una nueva funcin de aplicacin. Slo los miembros de las
funciones db_owner, db_securityadmin y sysadmin pueden crear funciones de
aplicacin; la instruccin requiere el permiso ALTER ANY APPLICATION ROLE en la
base de datos.
Cuando se crea una funcin de aplicacin, debe especificarse una contrasea. Esta
contrasea se usa a continuacin para activar la funcin de aplicacin.
Activar una funcin de El procedimiento almacenado sp_setapprole se usa para activar una funcin de
aplicacin aplicacin. sp_setapprole puede ejecutarse slo mediante instrucciones Transact-SQL y
no puede ejecutarse dentro de otro procedimiento almacenado o dentro de una
transaccin definida por el usuario.
Introduccin Los permisos de base de datos son permisos para que una entidad de seguridad pueda
ejecutar ciertas tareas dentro de la base de datos. Por ejemplo, el permiso ALTER ANY
USER permite que una entidad de seguridad cree, modifique y quite usuarios de una
base de datos.
Tipos de permisos del Los permisos del mbito de base de datos son permisos que pueden aplicarse a
mbito de base de datos protegibles en el mbito de base de datos, como usuarios, esquemas, funciones,
ensamblados y objetos de service broker. La tabla siguiente muestra algunos de los
permisos del mbito de base de datos.
Conceder permisos de Puede conceder permisos a una base de datos mediante el uso del Explorador de
base de datos objetos en SQL Server Management Studio o por medio de la instruccin GRANT de
Transact-SQL con la sintaxis siguiente:
Clusula/Parmetro Descripcin
database_permission El permiso especfico que se concede a la base de datos.
security_account Una entidad de seguridad en el nivel de base de datos a
la cual se otorga el permiso.
WITH GRANT OPTION Una opcin que permite que el cesionario conceda el
mismo permiso a otros.
AS group | role Una especificacin de una entidad de seguridad con los
permisos necesarios para conceder este permiso en el
nivel de base de datos. Se requiere en escenarios en los
que el otorgante no tiene todos los permisos necesarios
para conceder el permiso, pero es miembro de una
funcin o grupo que s lo es.
El ejemplo siguiente muestra cmo otorgar el permiso ALTER ANY USER a una entidad
de seguridad:
USE AdventureWorks
GRANT ALTER ANY USER
TO HRManager
Nota Para los permisos de base de datos, la instruccin GRANT debe ejecutarse en la
base de datos a la que se aplica el permiso.
Concesin de permisos Puede conceder permisos a algunos de los protegibles de la base de datos mediante el
de protegible del mbito uso del Explorador de objetos en SQL Server Management Studio o por medio de la
de base de datos instruccin GRANT de Transact-SQL con la sintaxis siguiente:
Clusula/Parmetro Descripcin
securable_permission El permiso especfico que se concede al protegible.
securable_type El tipo de protegible del mbito de base de datos al
que se aplica el permiso.
securable_name El nombre del protegible del mbito de base de datos.
security_account Una entidad de seguridad en el nivel de base de datos
a la cual se otorga el permiso.
WITH GRANT OPTION Una opcin que permite que el cesionario conceda el
mismo permiso a otros.
AS group| role Una especificacin de una entidad de seguridad con
los permisos necesarios para conceder este permiso en
el nivel de base de datos. Se requiere en escenarios en
los que el otorgante no tiene todos los permisos
necesarios para conceder el permiso, pero es miembro
de una funcin o grupo que s lo es.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
Mdulo 4: Administracin de la seguridad 437
USE AdventureWorks
GRANT SELECT
ON SCHEMA :: sales
TO SalesUser
Nota Para los permisos de mbito de base de datos, la instruccin GRANT debe
ejecutarse en la base de datos que contiene el protegible al que se aplica el permiso.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
438 Mdulo 4: Administracin de la seguridad
Introduccin Los protegibles del mbito de esquema incluyen objetos como tablas, vistas,
procedimientos almacenados y tipos.
permisos de mbito de La tabla siguiente muestra algunos de los permisos aplicables en el mbito de esquema.
esquema
Protegible Permiso Descripcin
Esquema SELECT Seleccionar filas de cualquier
objeto del esquema.
ALTER Modificar cualquier objeto
del esquema.
TAKE OWNERSHIP Hacerse con la propiedad
del esquema.
Tabla SELECT Seleccionar filas de la tabla.
ALTER Modificar la tabla.
CONTROL Control completo de la tabla.
Concesin de permisos Puede conceder permisos a algunos de los protegibles de la base de datos mediante el
de protegible del mbito uso del Explorador de objetos en SQL Server Management Studio o por medio de la
de esquema instruccin GRANT de Transact-SQL. La sintaxis de la instruccin GRANT es diferente
para los tipos definidos por el usuario que para otros protegibles del mbito de
esquema. La sintaxis usada para conceder permisos en un tipo definido por el usuario
se muestra en el ejemplo siguiente, que muestra cmo conceder el permiso EXECUTE
en un tipo llamado addressType:
USE AdventureWorks
GRANT EXECUTE
ON TYPE :: Person.addressType
TO SalesUser
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
Mdulo 4: Administracin de la seguridad 439
USE AdventureWorks
GRANT SELECT
ON sales.orders
TO SalesUser
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
440 Mdulo 4: Administracin de la seguridad
Objetivos El objetivo de este ejercicio es permitir que los alumnos creen un usuario de base de
datos y asignen permisos del mbito de base de datos y de esquema.
Ver los usuarios Realice el procedimiento siguiente para ver los usuarios existentes.
existentes 1. Haga clic en Inicio, seleccione Todos los programas, Microsoft SQL Server 2005
y, a continuacin, haga clic en SQL Server Management Studio.
2. En el cuadro de dilogo Conectar al servidor, especifique los detalles mostrados
en la tabla siguiente y haga clic en Conectar.
Elemento de interfaz de usuario Valor
Tipo de servidor Motor de base de datos
Nombre del servidor MIAMI
Autenticacin Autenticacin de Windows
Asignar permisos para el Realice el procedimiento siguiente para asignar permisos del mbito de base de
mbito de base de datos datos.
1. En el Explorador de objetos, haga clic con el botn secundario en
AdventureWorks y, a continuacin, haga clic en Propiedades.
2. En el cuadro de dilogo Propiedades de la base de datos AdventureWorks,
haga clic en Permisos en el panel Seleccionar una pgina.
3. Si Carlos no aparece an en la lista Usuarios o funciones:
a. Haga clic en Agregar para agregar un usuario.
b. En el cuadro de dilogo Seleccionar usuarios o funciones, haga clic en
Examinar.
c. En el cuadro de dilogo Buscar objetos, active la casilla de verificacin que
hay al lado de Carlos y, a continuacin, haga clic en Aceptar.
d. Haga clic en Aceptar para cerrar el cuadro de dilogo Seleccionar usuarios
o funciones.
4. Active las casillas de verificacin Conceder para Crear tabla, Crear vista y
Seleccionar en la lista Permisos explcitos para Carlos.
5. Haga clic en Aceptar para cerrar el cuadro de dilogo.
Asignar permisos para el Realice el procedimiento siguiente para asignar permisos del mbito de esquema.
mbito de esquema 1. En el Explorador de objetos, expanda Esquemas en la carpeta Seguridad para la
base de datos AdventureWorks.
2. Haga clic con el botn secundario en HumanResources y, a continuacin, haga
clic en Propiedades.
3. En el cuadro de dilogo Propiedades de esquemas HumanResources, haga clic
en Permisos en la lista Seleccionar una pgina.
4. Si Carlos no aparece an en la lista Usuarios o funciones:
a. Haga clic en Agregar para agregar un usuario.
b. En el cuadro de dilogo Seleccionar usuarios o funciones, haga clic en
Examinar.
c. En el cuadro de dilogo Buscar objetos, active la casilla de verificacin que
hay al lado de Carlos y, a continuacin, haga clic en Aceptar.
d. Haga clic en Aceptar para cerrar el cuadro de dilogo Seleccionar usuarios
o funciones.
5. Active las casillas de verificacin Denegar para Modificar, Eliminar y Seleccionar
en la lista Permisos explcitos para Carlos.
Introduccin El motor de base de datos de SQL Server 2005 admite el uso de claves criptogrficas y
certificados digitales para la firma de cdigo y la funcionalidad criptogrfica. Puede
crear, exportar e importar certificados X.509 en SQL Server y usarlos para implementar
las soluciones de seguridad basadas en la infraestructura de claves pblicas (PKI).
Introduccin Una clave es un valor que se puede aplicar a una funcin criptogrfica para cifrar o
descifrar un valor de datos seguro. El algoritmo criptogrfico que se usa para crear la
clave y la longitud de la clave determinan su complejidad. Las claves son la base
fundamental para toda la criptografa y se pueden implementar en dos formas: simtrica
y asimtrica.
Claves simtricas Una clave simtrica es un valor que se usa tanto para cifrar como para descifrar datos.
Cuando se usa una clave simtrica, deben compartirla tanto la persona o sistema que
cifra los datos como la persona o sistema que los descifra. SQL Server admite claves
simtricas para la encriptacin de datos.
Puede crear una clave simtrica en SQL Server mediante la ejecucin de la instruccin
CREATE SYMMETRIC KEY, como se muestra en el ejemplo de cdigo siguiente:
Tenga en cuenta que debe cifrar la propia clave simtrica para mantenerla en secreto.
En el ejemplo anterior, se usa una contrasea para cifrar la clave simtrica. Las opciones
alternativas para cifrar una clave simtrica son usar un certificado, una clave asimtrica
u otra clave simtrica.
Claves asimtricas Las claves asimtricas estn compuestas de un par de valores que pueden usarse en una
funcin aritmtica unidireccional de manera que los datos puedan cifrarse con un valor
y descifrarse con el otro. Los pares de claves asimtricas estn compuestos de una clave
pblica, que puede compartirse pblicamente, y una privada, que el propietario de la
clave debe mantener en secreto. Los datos cifrados con la clave pblica slo pueden
descifrarse con la clave privada. Adems, la clave pblica puede usarse para comprobar
que una parte de los datos ha sido cifrada por la clave privada (aunque no puede usarse
para descifrar los datos). Este enfoque se usa para crear una firma digital que puede
usarse para autenticar el origen de los datos.
Tenga en cuenta que la clave privada de una clave asimtrica se cifra con una
contrasea. Si se omite la clusula ENCRYPTION BY PASSWORD, SQL Server cifra la
clave privada con la clave de base de datos para la base de datos en la que se crea la
clave. Las claves de base de datos se analizan ms adelante en este mdulo.
Introduccin Los certificados son instrucciones firmadas digitalmente que asocian una clave pblica
a la identidad de la persona o sistema que posee la clave privada correspondiente. Una
entidad emisora de certificados de confianza puede emitir los certificados y usarlos para
autenticar un gran nmero de usuarios sin necesidad de mantener una contrasea para
cada usuario.
Certificados en SQL SQL Server 2005 admite certificados para la autenticacin, autorizacin y criptografa;
Server tambin proporciona la funcionalidad para crear, exportar e importar certificados, como
se muestra en el ejemplo de cdigo siguiente:
-- Exportar el certificado
BACKUP CERTIFICATE AWCustRelationsCert
TO FILE = 'c:\certs\AWCustRelationsCert.cer'
-- Importar un certificado
CREATE CERTIFICATE SupplierCert
FROM FILE = 'c:\certs\SupplierCert.cer'
Introduccin SQL Server 2005 usa una jerarqua de claves y certificados para implementar la
funcionalidad criptogrfica. Cada nivel de la jerarqua se usa para proteger los
elementos del nivel inmediatamente inferior.
Clave principal de La Clave principal de servicio es una clave Triple DES en la base de la jerarqua de
servicio cifrado de SQL Server 2005. Esta clave se genera automticamente cuando se necesita
por primera vez, y est protegida por la proteccin de datos de Windows API (DPAPI).
Clave principal de base Una clave principal de base de datos es una clave simtrica Triple DES que se puede
de datos usar para proteger las claves privadas de certificados y claves asimtricas de una base de
datos. Cuando se crea una clave principal de base de datos, se cifra mediante el uso del
algoritmo Triple DES y una contrasea proporcionada por el usuario. Para habilitar el
descifrado automtico de la clave principal, una copia de la clave se cifra mediante el uso
de la Clave principal de servicio tanto en la misma base de datos como en la base de
datos master.
La muestra de cdigo Transact-SQL siguiente muestra cmo crear una clave principal de
base de datos.
USE AdventureWorks
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe'
Sugerencia Realice una copia de seguridad de cada clave principal de base de datos y
gurdelas en una ubicacin externa segura.
Claves y certificados en Puede crear claves y certificados en una base de datos para cifrar los datos confidenciales
una base de datos o implementar una autenticacin y autorizacin basadas en certificados. Las claves
privadas en una base de datos se pueden proteger mediante la clave principal de base de
datos o mediante una contrasea.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
Mdulo 4: Administracin de la seguridad 447
Introduccin Hay varias maneras de usar claves y certificados en una solucin de base de datos de
SQL Server.
Cifrado de datos Puede usar claves y certificados para cifrar datos para el almacenamiento seguro en la
base de datos. SQL Server incluye las funciones en la tabla siguiente para cifrar y
descifrar datos.
Funciones Descripcin
EncryptByKey y Use estas funciones para cifrar y descifrar datos con
DecryptByKey una clave simtrica. Estas funciones requieren un
GUID que identifique la clave asimtrica que debe
usarse, lo que puede obtenerse llamando a la funcin
KeyGUID.
EncryptByAsymKey y Use estas funciones para cifrar y descifrar datos con
DecryptByAsymKey una clave asimtrica. Estas funciones requieren un Id.
que identifique la clave asimtrica que debe usarse, lo
que puede obtenerse llamando a la funcin
AsymKey_ID.
EncryptByCert y Use estas funciones para cifrar y descifrar datos con
DecryptByCert un certificado. Estas funciones requieren un Id. que
identifique la clave asimtrica que debe usarse, lo que
puede obtenerse llamando a la funcin Cert_ID.
Los algoritmos de criptografa asimtrica, como los usados por claves y certificados
asimtricos, son intensivos para el procesador y pueden conducir a la sobrecarga de
rendimiento cuando se usan para cifrar grandes cantidades de datos. Por esta razn,
generalmente debera cifrar los datos con una clave simtrica, que a su vez se cifra con
una clave asimtrica o un certificado.
Firma de mdulos de Puede usar una clave asimtrica o un certificado para firmar un mdulo de cdigo, como
cdigo un procedimiento, funcin o desencadenador almacenado. Cualquier modificacin
subsiguiente en un mdulo de cdigo firmado invalidar la firma. La firma y contrafirma
slo pueden realizarla las personas con acceso a la clave privada.
Adems de comprobar que el mdulo de cdigo no ha sido forzado, una firma crea una
identidad secundaria para el mdulo de cdigo. Puede crear un usuario a partir del
certificado usado para firmar el mdulo de cdigo mediante la clusula FOR
CERTIFICATE de la instruccin CREATE USER y conceder permisos al usuario basado
en certificados en lugar de a los usuarios que ejecutarn el mdulo de cdigo.
Para firmar un mdulo de cdigo, la clave privada debe estar presente y usar la
instruccin ADD SIGNATURE como se muestra en el ejemplo siguiente:
Contexto de SQL Server 2005 proporciona la clusula EXECUTE AS para controlar el contexto de
suplantacin seguridad para la ejecucin del mdulo de cdigo. Si un mdulo de cdigo que cambia de
contexto de ejecucin usando la clusula EXECUTE AS obtiene acceso a los recursos de
otra base de datos, la base de datos de destino debe confiar en el autenticador usado para
establecer el contexto de la suplantacin para extender el contexto de la suplantacin de
la base de datos de origen.
En la base de datos de destino, debe crear un usuario que est asignado al certificado y
conceder el permiso AUTHENTICATE (si el cdigo requiere permisos del mbito de
base de datos) o el permiso AUTHENTICATE SERVER (si el cdigo requiere permisos
del mbito de servidor). Esto permite que el certificado usado como autenticador en la
base de datos de origen compruebe la identidad del mdulo de cdigo en la base de
datos de destino.
Autenticacin entre Puede usar certificados para implementar la autenticacin por las instancias del servidor
servidores para el reflejo del service broker y de la base de datos. Esto permite que las instancias del
servidor se autentiquen entre s para comunicarse de forma segura.
Introduccin En esta demostracin, ver cmo usar un certificado para implementar un contexto de
suplantacin a lo largo de varias bases de datos.
Crear a un usuario de Use el procedimiento siguiente para crear un usuario de Windows denominado
Windows SalesUser.
Implementar bases de Use el procedimiento siguiente para crear dos bases de datos.
datos
1. Haga clic en Inicio, seleccione Todos los programas, Microsoft SQL Server 2005
y, a continuacin, haga clic en SQL Server Management Studio.
2. En el cuadro de dilogo Conectar al servidor, especifique los valores de la tabla
siguiente y haga clic en Conectar.
Propiedad Valor
Tipo de servidor Motor de base de datos
Nombre del servidor MIAMI
Autenticacin Autenticacin de Windows
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
Mdulo 4: Administracin de la seguridad 451
Administrar un Use el procedimiento siguiente para firmar un mdulo de cdigo con un certificado,
certificado exportar el certificado e importarlo a otra base de datos.
1. Resalte el cdigo que hay debajo del comentario crea el certificado y firma el
procedimiento y, a continuacin, haga clic en el botn Ejecutar. Este cdigo crea
una clave de base de datos master y, a continuacin, crea un certificado
denominado SalesCert que est cifrado con la clave de base de datos master.
Finalmente, firma el procedimiento almacenado dbo.GetMarketingDataSigned
con el certificado.
2. Resalte el cdigo que hay debajo del comentario exporta el certificado y haga clic
en el botn Ejecutar. Este cdigo exporta el certificado y su clave pblica.
3. Use el Explorador de Windows para ver la carpeta D:\Democode, haga doble clic
en SalesCert.cer para verlo y, a continuacin, haga clic en Aceptar para cerrar el
certificado.
4. En SQL Server Management Studio, resalte el cdigo que hay debajo del
comentario importa el certificado y, a continuacin, haga clic en el botn
Ejecutar. Este cdigo importa el certificado del archivo en la base de datos
Marketing.
Procedimiento para usar Use el procedimiento siguiente para crear un autenticador a partir del certificado.
un certificado como
autenticador 1. Resalte el cdigo que hay debajo del comentario crea el autenticador para
Marketing y, a continuacin, haga clic en el botn Ejecutar. Este cdigo crea un
nuevo usuario denominado SalesCertUser del certificado y le concede el permiso
AUTHENTICATE. Tambin otorga al usuario los permisos necesarios para
recuperar los datos de la tabla dbo.MarketingTable.
2. Resalte el cdigo que hay bajo el comentario pruebe el procedimiento no
firmado y haga clic en el botn Ejecutar. Este cdigo llama al procedimiento
almacenado no firmado en el que se produce un error porque el contexto de
seguridad suplantado no es de confianza en el mbito de destino.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
452 Mdulo 4: Administracin de la seguridad
Escenario El administrador de base de datos senior para Adventure Works le ha pedido que
implemente una solucin de seguridad que cumpla los requisitos de seguridad
siguientes para el SQL Server MIAMI:
Los grupos de Windows siguientes requieren inicios de sesin para tener acceso a
las bases de datos de SQL Server:
Grupo Windows Base de datos predeterminada
MIAMI\HREmployees AdventureWorks
MIAMI\ITEmployees principal
Los empleados del grupo ITEmployees sern los responsables de crear las nuevas
bases de datos.
Una aplicacin de nminas que se ejecuta en un equipo que no ejecuta Windows
debe tener acceso a la base de datos de SQL Server AdventureWorks. Esta
aplicacin requiere un inicio de sesin de SQL con la configuracin siguiente:
Nombre de inicio de sesin: HRApp
Contrasea: Pa$$w0rd
Directiva de contrasea: No habilitada
Directiva de caducidad de contrasea: No habilitada
El usuario debe cambiar su contrasea en el siguiente inicio de sesin:
No habilitado
Base de datos predeterminada: AdventureWorks
Idioma predeterminado: <predeterminado>
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
454 Mdulo 4: Administracin de la seguridad
Informacin adicional Cuando realice tareas administrativas, puede ser til usar SQL Server Management
Studio para crear un proyecto de Secuencias de comandos de SQL Server y usarlo para
documentar el cdigo Transact-SQL necesario para volver a crear la solucin si es
necesario.
1. Abra SQL Server Management Studio y conctese al servidor que desea administrar.
2. En el men Archivo, seleccione Nuevo y, a continuacin, haga clic en Proyecto.
3. Seleccione la plantilla Secuencias de comandos de SQL Server y especifique un
nombre y una ubicacin vlidos para el proyecto. Tenga en cuenta que puede
crear una solucin que contenga varios proyectos, pero en muchos casos lo
apropiado es un nico proyecto por solucin.
1. Haga clic en Nueva consulta en el men Proyecto, o bien haga clic con el botn
secundario en la carpeta Consultas en el Explorador de soluciones y seleccione
Nueva consulta. Si el Explorador de soluciones no est visible, puede mostrarlo
haciendo clic en Explorador de soluciones en el men Ver.
2. Cuando se le solicite, conctese al servidor en el que desea ejecutar la consulta.
De esta forma se agregar un objeto de conexin al proyecto.
USO EXCLUSIVO DE INSTRUCTORES MCT. PROHIBIDO EL USO POR ALUMNOS
Mdulo 4: Administracin de la seguridad 455
Lista de comprobacin Use la siguiente lista de comprobacin de resultados para comprobar que ha realizado
de resultados correctamente esta prctica: