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 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 Virtual Machine 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": "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, 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 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. |
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.