Roles personalizados de SQL Server en 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. El rol personalizado solo tiene 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": []
}
]
}
}
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. |
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:
En Azure Portal, vaya al recurso.
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.
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.