Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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é est configuré uniquement avec les autorisations nécessaires pour lancer et exécuter des migrations à l’aide d’une instance d’Azure Database Migration Service, ciblant Azure SQL Managed Instance. Pour provisionner une nouvelle instance d’Azure Database Migration Service, l’utilisateur doit être affecté au rôle Propriétaire ou Contributeur au niveau de l’abonnement.
Les utilisateurs peuvent également utiliser les rôles intégrés suivants :
- Rôle de migration de SQL VM
- Rôle de migration SqlMI
- Rôle de migration de SqlDB
Ces rôles intégrés permettent aux utilisateurs de :
- Créer et supprimer des instances du Database Migration Service (DMS).
- Exécutez les migrations de bases de données en utilisant le DMS.
Note
Pour configurer la migration via le portail Azure, vous avez également besoin d’un accès au lecteur de données de Storage Blob sur le conteneur de blobs.
Pour un rôle personnalisé :
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": "DmsCustomRoleDemoForMI",
"description": "",
"assignableScopes": [
"/subscriptions/<storageSubscription>/resourceGroups/<storageAccountRG>",
"/subscriptions/<ManagedInstanceSubscription>/resourceGroups/<managedInstanceRG>",
"/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.Sql/managedInstances/read",
"Microsoft.Sql/managedInstances/write",
"Microsoft.Sql/managedInstances/databases/read",
"Microsoft.Sql/managedInstances/databases/write",
"Microsoft.Sql/managedInstances/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/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",
"Microsoft.DataMigration/SqlMigrationServices/tasks/read",
"Microsoft.DataMigration/SqlMigrationServices/tasks/write",
"Microsoft.DataMigration/SqlMigrationServices/tasks/delete",
"Microsoft.DataMigration/sqlMigrationServices/validateIR/action"
],
"notActions": [],
"dataActions": [
"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read"
],
"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.
Note
Lors de la migration vers Azure SQL Managed Instance ou Azure SQL Virtual Machine via le portail Azure, assurez-vous que l’utilisateur connecté dispose d’un accès au Storage Blob Data Reader sur le conteneur de blob contenant les fichiers de sauvegarde. Cette autorisation est nécessaire pour répertorier les dossiers et les fichiers dans le conteneur d’objets blob lors de la configuration de la migration via le portail Azure uniquement.
Description des autorisations nécessaires pour migrer vers Azure SQL Managed Instance
| Action d’autorisation | Descriptif |
|---|---|
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 |
Lister les services BLOB. |
Microsoft.Storage/storageAccounts/blobServices/write |
Retourne le résultat de l’opération de définition des propriétés du service Blob. |
Microsoft.Storage/storageAccounts/blobServices/containers/read |
Renvoie 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 le statut d’une opération de longue durée associée à une réponse 202 Accepted. |
Microsoft.DataMigration/locations/operationStatuses/read |
Obtient le statut d’une opération de longue durée associée à une réponse 202 Accepted. |
Microsoft.DataMigration/locations/sqlMigrationServiceOperationResults/read |
Récupérer les résultats de l’opération du 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 |
Opération de basculement 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ésenregistrez 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. |
Microsoft.DataMigration/SqlMigrationServices/tasks/read |
Obtenir les détails de la tâche du service de migration |
Microsoft.DataMigration/SqlMigrationServices/tasks/write |
Créer ou mettre à jour une tâche de service de migration |
Microsoft.DataMigration/SqlMigrationServices/tasks/delete |
Supprimer la tâche du service de migration |
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
Lire des conteneurs blob dans un compte de stockage Azure |
Microsoft.DataMigration/sqlMigrationServices/validateIR/action |
Valide l’exécution de l’intégration. |
Vous pouvez obtenir un script d’exemple pour créer une connexion et la provisionner avec les permissions nécessaires pour VMware, Hyper-V ou des serveurs physiques, en utilisant l’authentification Authentification Windows ou SQL Server.
Attribution de rôle
Pour attribuer un rôle à un ID d’utilisateur ou d’application :
Dans le portail Azure, accédez à la ressource.
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.
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.