Rôles personnalisés pour les migrations de SQL Server vers des machines virtuelles Azure avec ADS

Cet article explique comment configurer un rôle personnalisé dans Azure pour les migrations de bases de données. Le rôle personnalisé dispose uniquement des autorisations nécessaires pour créer et exécuter une instance de Database Migration Service avec une machine virtuelle Azure comme cible.

La section AssignableScopes de la chaîne JSON de définition de rôle vous permet de contrôler l’emplacement des autorisations dans l’interface utilisateur Ajouter une attribution de rôle dans le portail. Vous souhaiterez probablement définir le rôle au niveau du groupe de ressources, voire de la ressource pour éviter d’encombrer l’interface utilisateur avec des rôles supplémentaires. L’attribution de rôle réelle n’est pas effectuée.

{
    "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": []
            }
        ]
    }
}

Vous pouvez utiliser le Portail Azure, AZ PowerShell, Azure CLI ou l’API REST Azure pour créer les rôles.

Pour plus d’informations, consultez les articles Créer des rôles personnalisés en utilisant le portail Azure et Rôles personnalisés Azure.

Description des autorisations nécessaires pour migrer vers une machine virtuelle

Action d’autorisation Description
Microsoft.Storage/storageAccounts/read Retourne la liste des comptes de stockage ou récupère les propriétés du compte de stockage spécifié.
Microsoft.Storage/storageAccounts/listkeys/action Retourne les clés d’accès au compte de stockage spécifié.
Microsoft.Storage/storageAccounts/blobServices/read Liste les services blob.
Microsoft.Storage/storageAccounts/blobServices/write Retourne le résultat des propriétés du service blob de placement.
Microsoft.Storage/storageAccounts/blobServices/containers/read Retourne la liste des conteneurs.
Microsoft.Sql/managedInstances/read Retourne la liste des instances gérées ou obtient les propriétés de l’instance gérée spécifiée.
Microsoft.Sql/managedInstances/write Crée une instance gérée avec les paramètres spécifiés ou met à jour les propriétés ou balises pour l’instance gérée spécifiée.
Microsoft.Sql/managedInstances/databases/read Obtient une base de données managée existante.
Microsoft.Sql/managedInstances/databases/write Crée une base de données ou met à jour une base de données existante.
Microsoft.Sql/managedInstances/databases/delete Supprime une base de données managée existante.
Microsoft.DataMigration/locations/operationResults/read Obtient l’état d’une opération longue liée à une réponse 202 Accepté.
Microsoft.DataMigration/locations/operationStatuses/read Obtient l’état d’une opération longue liée à une réponse 202 Accepté.
Microsoft.DataMigration/locations/sqlMigrationServiceOperationResults/read Récupère les résultats de l’opération de service.
Microsoft.DataMigration/databaseMigrations/write Crée ou met à jour la ressource de migration de base de données.
Microsoft.DataMigration/databaseMigrations/read Récupère la ressource de migration de base de données.
Microsoft.DataMigration/databaseMigrations/delete Supprime la ressource de migration de base de données.
Microsoft.DataMigration/databaseMigrations/cancel/action Arrête la migration continue pour la base de données.
Microsoft.DataMigration/databaseMigrations/cutover/action Bascule l’opération de migration en ligne pour la base de données.
Microsoft.DataMigration/sqlMigrationServices/write Créer ou modifier les propriétés d’un service existant
Microsoft.DataMigration/sqlMigrationServices/delete Supprime un service existant.
Microsoft.DataMigration/sqlMigrationServices/read Récupère les détails du service de migration.
Microsoft.DataMigration/sqlMigrationServices/listAuthKeys/action Récupère la liste des clés d’authentification.
Microsoft.DataMigration/sqlMigrationServices/regenerateAuthKeys/action Régénère les clés d’authentification.
Microsoft.DataMigration/sqlMigrationServices/deleteNode/action Désinscrit le nœud IR.
Microsoft.DataMigration/sqlMigrationServices/listMonitoringData/action Liste les données de monitoring pour toutes les migrations.
Microsoft.DataMigration/sqlMigrationServices/listMigrations/read Liste les migrations pour l’utilisateur.
Microsoft.DataMigration/sqlMigrationServices/MonitoringData/read Récupère les données de monitoring.
Microsoft.SqlVirtualMachine/sqlVirtualMachines/read Récupère les détails de la machine virtuelle SQL.
Microsoft.SqlVirtualMachine/sqlVirtualMachines/write Crée ou modifie les propriétés d’une machine virtuelle SQL existante.

Attribution de rôle

Pour affecter un rôle à des utilisateurs/ID d’application, ouvrez le portail Azure, et procédez comme suit :

  1. Accédez à la ressource, accédez à Contrôle d’accès, puis faites défiler jusqu’aux rôles personnalisés que vous avez créés.

  2. Sélectionnez le rôle approprié, sélectionnez l’ID de l’utilisateur ou de l’application, puis enregistrez les modifications.

L’D de l’utilisateur ou de l’application apparaît désormais sous l’onglet Attributions de rôles.

Étapes suivantes