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 base de données SQL Server. Le rôle personnalisé dispose uniquement des autorisations nécessaires pour créer et exécuter une instance d’Azure Database Migration Service avec une machine virtuelle Azure comme cible.

Utilisez la section AssignableScopes de la chaîne JSON de définition de rôle pour contrôler l’emplacement des autorisations dans l’interface utilisateur Ajouter une attribution de rôle dans le portail Azure. Pour éviter d’encombrer l’interface utilisateur avec des rôles supplémentaires, vous pouvez définir le rôle au niveau du groupe de ressources ou même de la ressource. La ressource à laquelle le rôle personnalisé s’applique n’effectue pas l’attribution de rôle réelle.

{
    "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, Azure PowerShell, Azure CLI ou l’API REST Azure pour créer les rôles.

Pour plus d’informations, consultez Créer ou mettre à jour des rôles personnalisés Azure à l’aide du 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.

Vous pouvez obtenir un exemple de script pour créer une connexion et l’approvisionner avec les autorisations nécessaires, pour VMware, Hyper-V ou serveurs physiques, à l’aide de l’authentification Windows ou celle de SQL Server.

Attribution de rôle

Pour attribuer un rôle à un ID d’utilisateur ou d’application :

  1. Dans le portail Azure, accédez à la ressource.

  2. Dans le menu de gauche, sélectionnez Contrôle d’accès (IAM), puis faites défiler pour rechercher les rôles personnalisés que vous avez créés.

  3. Sélectionnez les rôles à attribuer, sélectionnez l’ID d’utilisateur ou d’application, puis enregistrez les changements.

    L’ID d’utilisateur ou d’application s’affiche désormais sous l’onglet Attributions de rôle.