Migración de inicios de sesión y grupos de SQL
Para una transición perfecta y segura de las bases de datos de SQL Server a Azure SQL, es esencial comprender y administrar eficazmente la migración de la información de seguridad.
Decisión de cuándo migrar los inicios de sesión y grupos de SQL
Imagine una organización grande con una infraestructura de SQL Server local sustancial que atiende a varias unidades de negocio. Cada unidad de negocio tiene su propio conjunto de inicios de sesión de SQL, roles de usuario y permisos personalizados para sus necesidades específicas. La organización decide migrar estas bases de datos a Azure SQL Database para usar las ventajas de escalabilidad de la nube.
En este escenario, migrar los inicios de sesión por adelantado, antes que la base de datos, podría introducir una complejidad innecesaria en la fase de pruebas.
La migración de inicios de sesión al final de un proyecto de migración de base de datos puede facilitar las pruebas, especialmente en escenarios complejos. Si los inicios de sesión se migran por adelantado, pueden provocar retrasos en las pruebas debido a la evolución de los esquemas de base de datos. La espera para migrar los inicios de sesión permite que las configuraciones de seguridad se alineen con la estructura final, lo que simplifica el proceso de migración, especialmente cuando la seguridad dependiente de tablas es fundamental para la protección de los datos.
Desafíos | Explicación |
---|---|
Estructura de permisos complejos | La migración de inicios de sesión en una fase posterior permite adaptar los permisos a medida que la estructura de la base de datos evoluciona durante la migración. |
Retrasos en las pruebas | La migración temprana de los inicios de sesión puede ralentizar las pruebas y complicar la validación de seguridad junto con los cambios de esquema. |
Seguridad dependiente de las tablas | El retraso de la migración de los inicios de sesión permite ajustar las configuraciones de seguridad para que coincidan con las estructuras de base de datos finales si cambian durante la migración. |
En el escenario, este enfoque le permite centrarse en garantizar que las medidas de seguridad se alineen perfectamente con la estructura de base de datos finalizada, lo que reduce las posibles complicaciones y hace que el proyecto de migración sea más fácil de administrar.
Uso de la extensión Azure Migration
Como parte de las tareas posteriores a la migración, puede usar la extensión Azure Migration de Azure Data Studio para migrar los inicios de sesión y los roles de servidor desde la instancia local de SQL Server a la instancia de Azure SQL de destino. Esta experiencia de migración de los inicios de sesión automatiza tareas manuales, como la sincronización de inicios de sesión con sus asignaciones de usuarios correspondientes y la replicación de permisos y roles de servidor de replicación.
Actualmente, la extensión de migración solo admite una Azure SQL Managed Instance o SQL Server en destinos de máquina virtual de Azure.
- Azure SQL Managed Instance: cuentas de Windows e inicios de sesión de SQL.
- SQL Server en una máquina virtual de Azure: solo inicios de sesión de SQL
Si no ha completado la migración de la base de datos y ha comenzado el proceso de migración de los inicios de sesión, la migración de los inicios de sesión y roles de servidor seguirá ocurriendo, pero las asignaciones de inicio de sesión o roles no se realizarán correctamente. Este proceso de migración de los inicios de sesión automatiza las tareas manuales, incluida la sincronización de inicios de sesión con sus asignaciones de usuarios asociadas y la replicación de permisos y roles del servidor.
Puede utilizar la extensión Azure SQL Migration para Azure Data Studio, PowerShell o la CLI de Azure para iniciar el proceso de migración de los inicios de sesión.
Siga estos pasos para migrar los inicios de sesión mediante la extensión de migración en Azure Data Studio:
Inicie la extensión de migración de Azure SQL desde Azure Data Studio y el Asistente para la migración de inicios de sesión de SQL Server.
En Paso 1: Destino de Azure SQL, conéctese al destino de Azure SQL.
En Paso 2: Seleccione inicios de sesión para migrar, seleccione los inicios de sesión de la instancia de SQL Server de origen.
En Paso 3: Estado de la migración, supervise el proceso de migración de los inicios de sesión. Una vez completada correctamente la migración de inicio de sesión (o si tiene errores), la página muestra las actualizaciones pertinentes.
Uso de DMA
Como parte de la migración de inicio de sesión, Data Migration Assistant asigna los permisos a los elementos protegibles en el SQL Server de destino tal como existen en el SQL Server de origen. Si el inicio de sesión ya existe en la instancia de SQL Server de destino, Data Migration Assistant migra solo los permisos asignados a elementos protegibles y no vuelve a crear todo el inicio de sesión. Data Migration Assistant hace el mejor esfuerzo para asignar el inicio de sesión a los usuarios de la base de datos si el inicio de sesión ya existe en el servidor de destino.
Actualmente Data Migration Assistant no admite lo siguiente:
- Inicios de sesión asociados a un certificado de seguridad independiente (inicios de sesión asignados al certificado)
- Una clave asimétrica independiente (inicios de sesión asignados a una clave asimétrica)
- Inicios de sesión asignados a credenciales.
- De forma predeterminada, Data Migration Assistant selecciona todos los inicios de sesión calificados que se van a migrar. Opcionalmente, puede seleccionar inicios de sesión específicos para la migración1.
Nota:
Aunque Database Migration Assistant es una herramienta útil disponible, se recomienda usar Azure Database Migration Service para migraciones de gran tamaño y una experiencia general mejorada, que está disponible como Azure SQL Migration, una extensión para Azure Data Studio o a través de Azure Portal, o a través de Azure PowerShell y la CLI de Azure.
Script MoveLogins
El script MoveLogins ayuda a transferir la información de inicio de sesión de instancias locales de SQL Server a Azure SQL Database u otras ofertas de PaaS.
Aunque Data Migration Assistant (DMA) tiene la capacidad de transferir información de seguridad y realiza un gráfico de dependencias completo para asegurarse de que los permisos se transfieren correctamente, el script MoveLogins proporciona una opción adicional. Habilita una búsqueda de Active Directory para los usuarios, lo que le permite obtener su nombre principal de usuario (UPN), una característica que actualmente no es compatible con DMA.
El script, escrito en PowerShell, genera un script de T-SQL que se puede aplicar al entorno SQL de destino para transferir inicios de sesión, usuarios de base de datos, roles y permisos. No ejecuta los comandos en el entorno de destino. Debe revisar cuidadosamente la salida del script generado antes de aplicarlo al entorno de destino.
El script genera resultados diferentes en función de si usa Azure SQL Database o Azure SQL Managed Instance. En Azure SQL Database, no se pueden crear inicios de sesión de Microsoft Entra y usuarios de base de datos relacionados; en su lugar, los usuarios de Microsoft Entra se crean en el nivel de base de datos. Para Azure SQL Managed Instance, es similar a las instancias locales de SQL Server con inicios de sesión de nivel de servidor y usuarios de base de datos.
Nota:
Se recomienda empezar con una herramienta de migración dedicada, como la extensión Azure Migration, para transferir los inicios de sesión. Si tiene algún problema con estas herramientas recomendadas, puede considerar métodos alternativos como el uso del script MoveLogins.