Compartir por


Roles personalizados para migraciones de SQL Server a Azure SQL Managed Instance con ADS

En este artículo se explica cómo configurar un rol personalizado en Azure para migraciones de bases de datos de SQL Server. El rol personalizado solo tiene los permisos necesarios para crear y ejecutar una instancia de Azure Database Migration Service con Azure SQL Managed Instance como destino.

Use la sección AssignableScopes de la cadena JSON de definición de roles para controlar dónde aparecen los permisos en la interfaz de usuario Agregar asignación de roles de Azure Portal. Para no enmarañar la interfaz de usuario con roles de más, es conveniente definir el rol en el nivel del grupo de recursos o incluso en el nivel del recurso. El recurso al que se aplica el rol personalizado no realiza la asignación de roles real.

{
    "properties": {
        "roleName": "DmsCustomRoleDemoForMI",
        "description": "",
        "assignableScopes": [
            "/subscriptions/<storageSubscription>/resourceGroups/<storageAccountRG>",
            "/subscriptions/<ManagedInstanceSubscription>/resourceGroups/<managedInstanceRG>",
            "/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.Sql/managedInstances/read",
                    "Microsoft.Sql/managedInstances/write",
                    "Microsoft.Sql/managedInstances/databases/read",
                    "Microsoft.Sql/managedInstances/databases/write",
                    "Microsoft.Sql/managedInstances/databases/delete",
                    "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, Azure PowerShell, la CLI de Azure o la API de REST de Azure para crear los roles.

Para obtener más información, vea 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 Azure SQL Managed Instance

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 Cancele 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.

Puede obtener un script de ejemplo para crear un inicio de sesión y aprovisionarlo con los permisos necesarios, para VMware, Hyper-V o los servidores físicos, mediante la autenticación de autenticación de Windows o SQL Server.

Asignación de roles

Para asignar un rol a un identificador de aplicación o usuario:

  1. En Azure Portal, vaya al recurso.

  2. En el menú de la izquierda, seleccione Control de acceso (IAM) y, a continuación, desplácese para buscar los roles personalizados que ha creado.

  3. Seleccione los roles que quiera asignar, seleccione el identificador de aplicación o usuario y guarde los cambios.

    Ahora, el identificador de aplicación o usuario aparece en la pestaña Asignaciones de roles.