Roles personalizados para SQL Server a migraciones de Azure SQL Database en Azure Data Studio

En este artículo se explica cómo configurar un rol personalizado en Azure para migraciones de bases de datos de SQL Server. Un rol personalizado solo tendrá los permisos necesarios para crear y ejecutar una instancia de Azure Database Migration Service con Azure SQL Database 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": "DmsCustomRoleDemoForSqlDB",
        "description": "",
        "assignableScopes": [
            "/subscriptions/<SQLDatabaseSubscription>/resourceGroups/<SQLDatabaseResourceGroup>",
            "/subscriptions/<DatabaseMigrationServiceSubscription>/resourceGroups/<DatabaseMigrationServiceResourceGroup>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.Sql/servers/read",
                    "Microsoft.Sql/servers/write",
                    "Microsoft.Sql/servers/databases/read",
                    "Microsoft.Sql/servers/databases/write",
                    "Microsoft.Sql/servers/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/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": []
            }
        ]
    }
}

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

Permisos necesarios para migrar a Azure SQL Database

Acción del permiso Descripción
Microsoft.Sql/servers/read Devuelve la lista de recursos de base de datos SQL u obtiene las propiedades de la base de datos SQL especificada.
Microsoft.Sql/servers/write Crea una base de datos SQL con los parámetros especificados o actualiza las propiedades o etiquetas de la base de datos SQL especificada.
Microsoft.Sql/servers/databases/read Obtiene una base de datos SQL existente.
Microsoft.Sql/servers/databases/write Crea una base de datos o actualiza una ya existente.
Microsoft.Sql/servers/databases/delete Elimina una base de datos SQL existente.
Microsoft.DataMigration/locations/operationResults/read Obtiene los resultados 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 un 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/sqlMigrationServices/write Crea un servicio o cambia las propiedades de uno ya 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 Vuelve a generar claves de autenticación.
Microsoft.DataMigration/sqlMigrationServices/deleteNode/action Anula el registro del nodo de entorno de ejecución de integración.
Microsoft.DataMigration/sqlMigrationServices/listMonitoringData/action Muestra 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.

Asignar un rol

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.

Pasos siguientes