Roles personalizados para migraciones de SQL Server a Azure Virtual Machines mediante ADS

En este artículo, se explica cómo configurar un rol personalizado en Azure para las migraciones de bases de datos. El rol personalizado solo tendrá los permisos necesarios para crear y ejecutar una instancia de Database Migration Service con una máquina virtual de Azure como destino.

La sección AssignableScopes de la cadena JSON de definición de roles permite controlar dónde aparecen los permisos en la interfaz de usuario Agregar asignación de roles del portal. Probablemente querrá definir el rol en el grupo de recursos o incluso en el nivel de recurso para evitar la saturación de la interfaz de usuario con roles adicionales. Esto no realiza la asignación de roles real.

{
    "properties": {
        "roleName": "DmsCustomRoleDemoForVM",
        "description": "",
        "assignableScopes": [
            "/subscriptions/<storageSubscription>/resourceGroups/<storageAccountRG>",
            "/subscriptions/<ManagedInstanceSubscription>/resourceGroups/<virtualMachineRG>",
            "/subscriptions/<DMSSubscription>/resourceGroups/<dmsServiceRG>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.Storage/storageAccounts/read",
                    "Microsoft.Storage/storageAccounts/listkeys/action",
                    "Microsoft.Storage/storageAccounts/blobServices/read",
                    "Microsoft.Storage/storageAccounts/blobServices/write",
                    "Microsoft.Storage/storageAccounts/blobServices/containers/read",
                    "Microsoft.SqlVirtualMachine/sqlVirtualMachines/read",
                    "Microsoft.SqlVirtualMachine/sqlVirtualMachines/write",
                    "Microsoft.DataMigration/locations/operationResults/read",
                    "Microsoft.DataMigration/locations/operationStatuses/read",
                    "Microsoft.DataMigration/locations/sqlMigrationServiceOperationResults/read",
                    "Microsoft.DataMigration/databaseMigrations/write",
                    "Microsoft.DataMigration/databaseMigrations/read",
                    "Microsoft.DataMigration/databaseMigrations/delete",
                    "Microsoft.DataMigration/databaseMigrations/cancel/action",
                    "Microsoft.DataMigration/databaseMigrations/cutover/action",
                    "Microsoft.DataMigration/sqlMigrationServices/write",
                    "Microsoft.DataMigration/sqlMigrationServices/delete",
                    "Microsoft.DataMigration/sqlMigrationServices/read",
                    "Microsoft.DataMigration/sqlMigrationServices/listAuthKeys/action",
                    "Microsoft.DataMigration/sqlMigrationServices/regenerateAuthKeys/action",
                    "Microsoft.DataMigration/sqlMigrationServices/deleteNode/action",
                    "Microsoft.DataMigration/sqlMigrationServices/listMonitoringData/action",
                    "Microsoft.DataMigration/sqlMigrationServices/listMigrations/read",
                    "Microsoft.DataMigration/sqlMigrationServices/MonitoringData/read"
                ],
                "notActions": [],
                "dataActions": [],
                "notDataActions": []
            }
        ]
    }
}

Puede usar Azure Portal, AZ PowerShell, la CLI de Azure o la API REST de Azure para crear los roles.

Para más información, consulte los artículos Creación o actualización de roles personalizados de Azure mediante Azure Portal y Roles personalizados de Azure.

Descripción de los permisos necesarios para migrar a una máquina virtual

Acción del permiso Descripción
Microsoft.Storage/storageAccounts/read Devuelve la lista de cuentas de almacenamiento u obtiene las propiedades de la cuenta de almacenamiento especificada.
Microsoft.Storage/storageAccounts/listkeys/action Devuelve las claves de acceso de la cuenta de almacenamiento especificada.
Microsoft.Storage/storageAccounts/blobServices/read Enumera las instancias de Blob service.
Microsoft.Storage/storageAccounts/blobServices/write Devuelve el resultado de las propiedades de escritura de Blob service.
Microsoft.Storage/storageAccounts/blobServices/containers/read Devuelve una lista de contenedores.
Microsoft.Sql/managedInstances/read Devuelve la lista de instancias administradas u obtiene las propiedades de una instancia administrada específica.
Microsoft.Sql/managedInstances/write Crea una instancia administrada con los parámetros especificados o actualiza las propiedades o etiquetas de la instancia administrada especificada.
Microsoft.Sql/managedInstances/databases/read Obtiene una base de datos administrada ya existente.
Microsoft.Sql/managedInstances/databases/write Crea una nueva base de datos o actualiza una ya existente.
Microsoft.Sql/managedInstances/databases/delete Elimina una base de datos administrada ya existente.
Microsoft.DataMigration/locations/operationResults/read Obtiene el estado de una operación de larga ejecución relacionada con una respuesta "202 Aceptado".
Microsoft.DataMigration/locations/operationStatuses/read Obtiene el estado de una operación de larga ejecución relacionada con una respuesta "202 Aceptado".
Microsoft.DataMigration/locations/sqlMigrationServiceOperationResults/read Recupera los resultados de la operación de servicio.
Microsoft.DataMigration/databaseMigrations/write Crea o actualiza un recurso de migración de base de datos.
Microsoft.DataMigration/databaseMigrations/read Recupera el recurso de migración de base de datos.
Microsoft.DataMigration/databaseMigrations/delete Elimina un recurso de migración de base de datos.
Microsoft.DataMigration/databaseMigrations/cancel/action Detiene la migración en curso de la base de datos.
Microsoft.DataMigration/databaseMigrations/cutover/action Operación de migración en línea de migración total para la base de datos.
Microsoft.DataMigration/sqlMigrationServices/write Crea o cambia las propiedades de un servicio existente.
Microsoft.DataMigration/sqlMigrationServices/delete Elimina un servicio existente.
Microsoft.DataMigration/sqlMigrationServices/read Recupera los detalles del servicio de migración.
Microsoft.DataMigration/sqlMigrationServices/listAuthKeys/action Recupera la lista de claves de autenticación.
Microsoft.DataMigration/sqlMigrationServices/regenerateAuthKeys/action Regenera las claves de autenticación.
Microsoft.DataMigration/sqlMigrationServices/deleteNode/action Cancela el registro del nodo de IR.
Microsoft.DataMigration/sqlMigrationServices/listMonitoringData/action Enumera los datos de supervisión de todas las migraciones.
Microsoft.DataMigration/sqlMigrationServices/listMigrations/read Enumera las migraciones del usuario.
Microsoft.DataMigration/sqlMigrationServices/MonitoringData/read Recupera los datos de supervisión.
Microsoft.SqlVirtualMachine/sqlVirtualMachines/read Recupera los detalles de la máquina virtual de SQL.
Microsoft.SqlVirtualMachine/sqlVirtualMachines/write Crea una máquina virtual de SQL o cambia las propiedades de una existente.

Asignación de roles

Para asignar un rol a los usuarios o al id. de aplicación, abra Azure Portal y siga estos pasos:

  1. Vaya al recurso, vaya a Access Control y desplácese hasta encontrar los roles personalizados que ha creado.

  2. Seleccione el rol adecuado, seleccione el identificador de usuario o de aplicación y, a continuación, guarde los cambios.

Los identificadores de usuario o de aplicación aparecen ahora en la pestaña Asignaciones de roles.

Pasos siguientes