Anpassade roller för SQL Server till Azure SQL Database-migreringar i Azure Data Studio

Den här artikeln beskriver hur du konfigurerar en anpassad roll i Azure för SQL Server databasmigreringar. En anpassad roll har bara de behörigheter som krävs för att skapa och köra en instans av Azure Database Migration Service med Azure SQL Database som mål.

Använd avsnittet AssignableScopes i rolldefinitionens JSON-sträng för att styra var behörigheterna visas i användargränssnittet lägg till rolltilldelning i Azure Portal. Om du vill undvika att störa användargränssnittet med extra roller kanske du vill definiera rollen på resursgruppens nivå eller till och med resursnivån. Resursen som den anpassade rollen gäller för utför inte den faktiska rolltilldelningen.

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

Du kan använda antingen Azure Portal, Azure PowerShell, Azure CLI eller Azure REST API för att skapa rollerna.

Mer information finns i Skapa anpassade roller med hjälp av de anpassade rollerna Azure Portal och Azure.

Behörigheter som krävs för att migrera till Azure SQL Database

Behörighetsåtgärd Description
Microsoft.Sql/servers/read Returnera listan över SQL-databasresurser eller hämta egenskaperna för den angivna SQL-databasen.
Microsoft.Sql/servers/write Skapa en SQL-databas med de angivna parametrarna eller uppdatera egenskaperna eller taggarna för den angivna SQL-databasen.
Microsoft.Sql/servers/databases/read Hämta en befintlig SQL-databas.
Microsoft.Sql/servers/databases/write Skapa en ny databas eller uppdatera en befintlig databas.
Microsoft.Sql/servers/databases/delete Ta bort en befintlig SQL-databas.
Microsoft.DataMigration/locations/operationResults/read Hämta resultatet av en långvarig åtgärd relaterad till ett 202-accepterat svar.
Microsoft.DataMigration/locations/operationStatuses/read Hämta status för en långvarig åtgärd relaterad till ett 202-godkänt svar.
Microsoft.DataMigration/locations/sqlMigrationServiceOperationResults/read Hämta resultat för tjänståtgärder.
Microsoft.DataMigration/databaseMigrations/write Skapa eller uppdatera en databasmigreringsresurs.
Microsoft.DataMigration/databaseMigrations/read Hämta en databasmigreringsresurs.
Microsoft.DataMigration/databaseMigrations/delete Ta bort en databasmigreringsresurs.
Microsoft.DataMigration/databaseMigrations/cancel/action Stoppa pågående migrering för databasen.
Microsoft.DataMigration/sqlMigrationServices/write Skapa en ny tjänst eller ändra egenskaperna för en befintlig tjänst.
Microsoft.DataMigration/sqlMigrationServices/delete Ta bort en befintlig tjänst.
Microsoft.DataMigration/sqlMigrationServices/read Hämta information om migreringstjänsten.
Microsoft.DataMigration/sqlMigrationServices/listAuthKeys/action Hämta listan över autentiseringsnycklar.
Microsoft.DataMigration/sqlMigrationServices/regenerateAuthKeys/action Återskapa autentiseringsnycklar.
Microsoft.DataMigration/sqlMigrationServices/deleteNode/action Avregistrera integrationskörningsnoden.
Microsoft.DataMigration/sqlMigrationServices/listMonitoringData/action Lista övervakningsdata för alla migreringar.
Microsoft.DataMigration/sqlMigrationServices/listMigrations/read Visar en lista över migreringarna för användaren.
Microsoft.DataMigration/sqlMigrationServices/MonitoringData/read Hämta övervakningsdata.

Tilldela en roll

Så här tilldelar du en roll till en användare eller ett app-ID:

  1. Gå till resursen i Azure Portal.

  2. I den vänstra menyn väljer du Åtkomstkontroll (IAM) och bläddrar sedan för att hitta de anpassade roller som du skapade.

  3. Välj de roller som ska tilldelas, välj användaren eller app-ID:t och spara sedan ändringarna.

    Nu visas användar- eller app-ID:t på fliken Rolltilldelningar .

Nästa steg