TALLER INTEGRADO: SEGURIDAD Y RENDIMIENTO EN AZURE SQL
Duración estimada: 60 minutos
Objetivo: Evaluar conocimientos sobre seguridad, monitoreo, optimización y
mantenimiento del
rendimiento en bases de datos Azure SQL.
SECCIÓN 1: PREGUNTAS DE SELECCIÓN MÚLTIPLE (30 minutos)
1. ¿Cuál de las siguientes opciones permite implementar autenticación basada en
identidades
corporativas en Azure SQL Database?
a) Autenticación de SQL Server con nombre de usuario y contraseña
b) Autenticación con Active Directory (Microsoft Entra ID)
c) Autenticación mediante certificados autofirmados
d) Autenticación con clave SSH
Microsoft Entra ID (antes conocido como Azure Active Directory) es la
solución de gestión de identidades y accesos en la nube ofrecida por Microsoft. Este
servicio permite a las empresas controlar las identidades de sus usuarios
y proporcionarles acceso a recursos en la nube (como Azure SQL Database) y
aplicaciones. Al emplear Microsoft Entra ID para la autenticación, los usuarios tienen la
posibilidad de acceder a Azure SQL Database con sus credenciales empresariales
ya existentes, lo que simplifica la gestión de identidades y aumenta la seguridad.
2. ¿Qué técnica se usa para proteger datos en reposo en Azure SQL Database?
a) SSL/TLS
b) Always Encrypted
c) Transparent Data Encryption (TDE)
d) Azure Front Door
3. ¿Qué solución permite identificar y etiquetar datos confidenciales?
a) Azure DevOps
b) Azure Purview
c) Azure Site Recovery
d) Azure Monitor
Cifrado de Datos Transparente (TDE) encripta los archivos de datos, los registros de
transacciones y las copias de seguridad de una base de datos completa. Se
considera "transparente" porque no necesita modificaciones en las aplicaciones que se
conectan a la base de datos; el proceso de encriptar y desencriptar ocurre de forma
instantánea en la capa de la base de datos. Esta
característica es crucial para salvaguardar la información en casos donde, por ejemplo, se
accede a los archivos físicos de la base de datos sin permiso.
4. ¿Cuál de los siguientes elementos es parte de una línea base de rendimiento en
Azure SQL?
a) El diseño del modelo entidad-relación
b) El número de usuarios registrados
c) Latencia, CPU y duración de consultas
d) Políticas de respaldo
Latencia: Se refiere al tiempo que tardan en realizarse las operaciones. Un tiempo
de latencia anormalmente elevado podría sugerir que hay cuellos de botella en
el rendimiento.
CPU: El uso de la CPU es un signo importante de la carga en la base de
datos. Niveles altos de uso de CPU, ya sea temporalmente o de manera
constante, pueden indicar problemas de rendimiento o la necesidad de aumentar
los recursos.
Duración de consultas: Es esencial supervisar el tiempo que las
consultas tardan en completarse. Establecer una línea base nos permite detectar cuando
una consulta específica, o el promedio de las mismas, comienza a tardar más de
lo habitual, sugiriendo así una disminución en el rendimiento.
5. ¿Cuál es una herramienta recomendada para establecer alertas y supervisar
métricas de rendimiento?
a) Azure Site Recovery
b) Azure Data Factory
c) Azure Monitor
d) Azure DevOps
Azure Monitor es una solución completa en Azure que facilita la
recolección, análisis y respuesta a los datos de telemetría de sus recursos en Azure
y en entornos locales. Se ha creado con el propósito específico de vigilar el rendimiento y
la disponibilidad de aplicaciones y servicios.
6. ¿Qué configuración mejora el rendimiento de una base de datos?
a) Reducir el tamaño de los nombres de las tablas
b) Activar collation arbitrariamente
c) Asignar correctamente DTUs o vCores según carga
d) Habilitar triggers recursivos sin validación
DTUs (Unidades de Transacción de Base de Datos) y vCores (Núcleos Virtuales) son las
formas de adquisición y las métricas de rendimiento para Azure SQL Database.
Las DTUs integran indicadores de CPU, memoria y operaciones de
entrada/salida para ofrecer una capacidad de rendimiento establecida.
Los vCores proporcionan un mayor control sobre los recursos
de procesamiento (CPU y memoria) y almacenamiento, permitiendo una escalabilidad
más detallada. Asignar la cantidad adecuada de DTUs o vCores implica ajustar la base de
datos según la carga de trabajo real que se enfrenta (o se anticipa que se enfrentará).
7. ¿Qué tarea de mantenimiento es clave para mejorar el rendimiento en bases de
datos SQL?
a) Ejecutar backups cada 15 minutos
b) Cambiar el nombre de las columnas frecuentemente
c) Actualizar estadísticas y reorganizar índices
d) Modificar la versión del motor mensualmente
Actualizar estadísticas: El optimizador de consultas de SQL Server se basa
en estadísticas (datos sobre cómo se distribuyen los valores en las columnas de una
tabla) para definir el plan de ejecución más eficaz para una consulta.
Reorganizar o reconstruir índices: Con el paso del tiempo, los índices pueden volverse
fragmentados a causa de la adición, modificación y eliminación de datos.
SECCIÓN 2: ESCENARIOS DE ANÁLISIS Y RESPUESTA (30 minutos)
- ESCENARIO 1 (Seguridad):
Estás administrando una base de datos SQL en Azure para una entidad financiera.
Requieren autenticación corporativa, cifrado en tránsito y en reposo, control granular
sobre accesos y cumplimiento sobre datos confidenciales.
PREGUNTA:
¿Qué tecnologías y configuraciones aplicarías en Azure para cumplir con estos
requisitos? Justifica tu respuesta explicando la función de cada componente.
Para abordar los requisitos de autenticación corporativa, cifrado en tránsito y en reposo,
control granular de accesos y cumplimiento sobre datos confidenciales, se aplicarían las
siguientes tecnologías y configuraciones en Azure SQL Database:
1. Autenticación Corporativa:
o Tecnología/Configuración: Microsoft Entra ID (anteriormente Azure
Active Directory) Authentication.
Permite a los usuarios y aplicaciones autenticarse en la base de datos SQL
utilizando sus identidades corporativas existentes gestionadas en Microsoft
Entra ID. Esto elimina la necesidad de gestionar credenciales de SQL
separadas, centraliza la administración de identidades, permite el uso de
Multi-Factor Authentication (MFA) y Single Sign-On (SSO), y facilita la
auditoría de accesos, lo cual es crítico para una entidad financiera.
2. Cifrado en Tránsito:
o Tecnología/Configuración: SSL/TLS (Secure Sockets Layer/Transport
Layer Security).
Azure SQL Database automáticamente cifra el tráfico entre la base de
datos y la aplicación cliente utilizando SSL/TLS. Esto asegura que los
datos transmitidos a través de la red estén protegidos contra la
interceptación y la manipulación por parte de actores no autorizados. Para
una entidad financiera, es fundamental garantizar la confidencialidad e
integridad de la información mientras se mueve entre sistemas.
3. Cifrado en Reposo:
o Tecnología/Configuración: Transparent Data Encryption (TDE).
TDE cifra los archivos de datos y los archivos de registro de transacciones
de la base de datos a nivel de archivo. Es "transparente" para las
aplicaciones, lo que significa que no se requiere ningún cambio en el
código. Si alguien obtiene acceso no autorizado a los archivos de datos
subyacentes, la información permanecerá ilegible. Esto es un requisito de
cumplimiento estándar para proteger los datos sensibles almacenados en
disco, especialmente para una entidad financiera.
o Tecnología/Configuración Complementaria: Always Encrypted.
Para datos extremadamente confidenciales dentro de la base de datos (por
ejemplo, números de cuenta, información personal de clientes), Always
Encrypted permite cifrar columnas específicas de datos sensibles. La clave
de cifrado reside con la aplicación cliente, no en la base de datos, lo que
significa que los datos permanecen cifrados incluso para los
administradores de la base de datos. Esto proporciona una capa adicional
de seguridad y ayuda significativamente con los requisitos de cumplimiento
de protección de datos.
4. Control Granular sobre Accesos:
o Tecnología/Configuración: Roles y Permisos a Nivel de Base de Datos.
Utilizar los roles de base de datos incorporados y personalizados, junto con
la asignación explícita de permisos (GRANT, DENY, REVOKE) sobre
tablas, vistas, procedimientos almacenados y otras entidades de la base de
datos. Esto asegura que los usuarios y aplicaciones solo tengan el mínimo
privilegio necesario para realizar sus funciones (principio de privilegio
mínimo), reduciendo la superficie de ataque y el riesgo de acceso no
autorizado a datos sensibles.
o Tecnología/Configuración Complementaria: Azure Role-Based Access
Control (RBAC) para el plano de control.
Si bien los roles de base de datos controlan el acceso dentro de la base de
datos, Azure RBAC controla quién puede administrar la propia base de
datos SQL (por ejemplo, cambiar la configuración, escalar, eliminar la base
de datos) a nivel de suscripción, grupo de recursos o recurso. Esto es
crucial para asegurar que solo el personal autorizado pueda realizar
cambios administrativos en el recurso de la base de datos.
5. Cumplimiento sobre Datos Confidenciales:
o Tecnología/Configuración: Descubrimiento y Clasificación de Datos
(Azure SQL Data Discovery & Classification).
Esta característica integrada en Azure SQL Database ayuda a identificar,
etiquetar y clasificar datos confidenciales dentro de la base de datos (por
ejemplo, PII, datos financieros). Esto es fundamental para comprender qué
datos requieren las mayores protecciones y para cumplir con regulaciones
como GDPR, CCPA u otras normativas financieras.
o Tecnología/Configuración: Azure SQL Database Auditing.
Registra eventos en la base de datos, como inicios de sesión, accesos a
datos y cambios en el esquema. Estos registros de auditoría pueden
almacenarse en una cuenta de almacenamiento de Azure, Azure Log
Analytics o un Event Hub. Para una entidad financiera, la auditoría es vital
para el cumplimiento regulatorio, la detección de actividades sospechosas,
la investigación de incidentes de seguridad y la rendición de cuentas.
o Tecnología/Configuración Complementaria: Dynamic Data Masking
(DDM).
Permite ocultar selectivamente los datos confidenciales a usuarios no
privilegiados, sin modificar los datos en la base de datos. Por ejemplo, se
puede mostrar solo los últimos cuatro dígitos de un número de tarjeta de
crédito. Esto mejora la privacidad y reduce la exposición de datos
confidenciales en entornos donde los usuarios necesitan acceso limitado a
ellos (ej. personal de soporte al cliente).
- ESCENARIO 2 (Rendimiento):
Una base de datos crítica en producción ha comenzado a presentar lentitud. No se han
hecho cambios estructurales. El equipo te pide actuar de inmediato y establecer medidas
de mejora a mediano plazo.
PREGUNTA:
¿Qué herramientas usarías para el diagnóstico inicial y cómo establecerías un plan de
mantenimiento preventivo? Menciona métricas relevantes y tareas automatizables.
Revisar Azure Monitor: Confirmar el tipo de cuello de botella (CPU, E/S,
memoria, bloqueos).
Identificar Consultas Problemáticas: Usar Query Performance Insight para ver
las consultas TOP N por consumo de recursos.
Optimización Rápida:
• Si se identifican consultas específicas con planes de ejecución ineficientes:
intentar agregar un índice faltante (si es obvio y seguro) o forzar un plan de
ejecución conocido si existe un plan de ejecución previo bueno.
• Si el problema es de recursos: considerar un escalado temporal (scale-
up) de DTUs o vCores de la base de datos en Azure Portal. Esto
proporciona un alivio inmediato mientras se investiga la causa raíz.