Rôles personnalisés pour les migrations de SQL Server à Azure SQL database dans Azure Data Studio

Cet article explique comment configurer un rôle personnalisé dans Azure pour les migrations de base de données SQL Server. Un rôle personnalisé dispose uniquement des autorisations requises pour créer et exécuter une instance de Azure Database Migration Service avec Azure SQL Base de données 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": "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": []
            }
        ]
    }
}

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 des rôles personnalisés en utilisant le portail Azure et Rôles personnalisés Azure.

Autorisations requises pour migrer vers Azure SQL base de données

Action d’autorisation Description
Microsoft.Sql/servers/read Retourne la liste des ressources de base de données SQL ou obtient les propriétés de la base de données SQL spécifiée.
Microsoft.Sql/servers/write Crée une base de données SQL avec les paramètres spécifiés, ou met à jour les propriétés ou étiquettes de la base de données SQL spécifiée.
Microsoft.Sql/servers/databases/read Obtient une base de données SQL existante.
Microsoft.Sql/servers/databases/write Crée une base de données ou supprime une base de données existante.
Microsoft.Sql/servers/databases/delete Supprime une base de données SQL existante.
Microsoft.DataMigration/locations/operationResults/read Obtient les résultats 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 une 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/sqlMigrationServices/write Crée un service ou change 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 du runtime d’intégration.
Microsoft.DataMigration/sqlMigrationServices/listMonitoringData/action Liste les données de monitoring de 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.

Attribuer un 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.

Étapes suivantes