Benutzerdefinierte Rollen für die Migration von SQL Server zu Azure SQL Managed Instance mit ADS

In diesem Artikel wird erläutert, wie Sie eine benutzerdefinierte Rolle in Azure für SQL Server-Datenbankmigrationen einrichten. Die benutzerdefinierte Rolle verfügt nur über die erforderlichen Berechtigungen zum Erstellen und Ausführen einer Instanz des Azure Database Migration Service mit Azure SQL Managed Instance als Ziel.

Verwenden Sie den Abschnitt AssignableScopes der JSON-Zeichenfolge der Rollendefinition, um festzulegen, wo die Berechtigungen in der Benutzeroberfläche Rollenzuweisung hinzufügen im Azure-Portal angezeigt werden. Um zu vermeiden, dass die Benutzeroberfläche mit zusätzlichen Rollen überladen wird, sollten Sie die Rolle auf der Ebene der Ressourcengruppe oder sogar auf der Ebene der Ressource definieren. Die Ressource, für die die benutzerdefinierte Rolle gilt, führt nicht die tatsächliche Rollenzuweisung aus.

{
    "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"
                ],
                "notActions": [],
                "dataActions": [],
                "notDataActions": []
            }
        ]
    }
}

Sie können entweder das Azure-Portal, Azure PowerShell, Azure CLI oder die Azure REST-API verwenden, um die Rollen zu erstellen.

Weitere Informationen finden Sie unter Erstellen oder Aktualisieren benutzerdefinierter Rollen über das Azure-Portal und Benutzerdefinierte Azure-Rollen.

Beschreibung der Berechtigungen, die zum Migrieren zu Azure SQL Managed Instance erforderlich sind

Berechtigungsaktion Beschreibung
Microsoft.Storage/storageAccounts/read Gibt die Liste mit Speicherkonten zurück oder ruft die Eigenschaften für das angegebene Speicherkonto ab.
Microsoft.Storage/storageAccounts/listkeys/action Gibt die Zugriffsschlüssel für das angegebene Speicherkonto zurück.
Microsoft.Storage/storageAccounts/blobServices/read Listet Blob-Dienste auf.
Microsoft.Storage/storageAccounts/blobServices/write Gibt das Ergebnis beim Festlegen der Blob-Dienst-Eigenschaften zurück.
Microsoft.Storage/storageAccounts/blobServices/containers/read Gibt eine Liste von Containern zurück.
Microsoft.Sql/managedInstances/read Gibt die Liste der verwalteten Instanzen zurück oder ruft die Eigenschaften für die angegebene verwaltete Instanz ab.
Microsoft.Sql/managedInstances/write Erstellt eine verwaltete Instanz mit den angegebenen Parametern oder aktualisiert die Eigenschaften oder Markierungen für die verwaltete Instanz.
Microsoft.Sql/managedInstances/databases/read Ruft eine vorhandene verwaltete Datenbank ab.
Microsoft.Sql/managedInstances/databases/write Erstellt eine neue Datenbank oder aktualisiert eine bereits vorhandene Datenbank.
Microsoft.Sql/managedInstances/databases/delete Löscht eine bestehende verwaltete Datenbank.
Microsoft.DataMigration/locations/operationResults/read Ruft den Status eines Vorgangs mit langer Ausführungsdauer in Zusammenhang mit einer Antwort „202: Akzeptiert“ ab.
Microsoft.DataMigration/locations/operationStatuses/read Ruft den Status eines Vorgangs mit langer Ausführungsdauer in Zusammenhang mit einer Antwort „202: Akzeptiert“ ab.
Microsoft.DataMigration/locations/sqlMigrationServiceOperationResults/read Ruft Dienstvorgangsergebnisse ab.
Microsoft.DataMigration/databaseMigrations/write Erstellt oder aktualisiert die Datenbankmigrationsressource.
Microsoft.DataMigration/databaseMigrations/read Ruft die Datenbankmigrationsressource ab.
Microsoft.DataMigration/databaseMigrations/delete Löscht die Datenbankmigrationsressource.
Microsoft.DataMigration/databaseMigrations/cancel/action Beendet die laufende Migration für die Datenbank.
Microsoft.DataMigration/databaseMigrations/cutover/action Übernimmt die Online-Migrationsvorgangs für die Datenbank.
Microsoft.DataMigration/sqlMigrationServices/write Dient zum Erstellen eines neuen Diensts oder zum Ändern von Eigenschaften eines vorhandenen Diensts
Microsoft.DataMigration/sqlMigrationServices/delete Löscht einen bestehenden Dienst.
Microsoft.DataMigration/sqlMigrationServices/read Ruft Details zum Migrationsdienst a.
Microsoft.DataMigration/sqlMigrationServices/listAuthKeys/action Ruft eineListe der Authentifizierungsschlüssel ab.
Microsoft.DataMigration/sqlMigrationServices/regenerateAuthKeys/action Generiert erneut einen Authentifizierungsschlüssel.
Microsoft.DataMigration/sqlMigrationServices/deleteNode/action Hebt die Registrierung des IR-Knotens auf.
Microsoft.DataMigration/sqlMigrationServices/listMonitoringData/action Listet die Überwachungsdaten für alle Migrationen auf.
Microsoft.DataMigration/sqlMigrationServices/listMigrations/read Listet die Migrationen für den Benutzer auf.
Microsoft.DataMigration/sqlMigrationServices/MonitoringData/read Ruft die Überwachungsdaten ab.
Microsoft.SqlVirtualMachine/sqlVirtualMachines/read Ruft die Details eines virtuellen SQL-Computers ab.
Microsoft.SqlVirtualMachine/sqlVirtualMachines/write Erstellt einen virtuellen SQL-Computer oder ändert dessen Eigenschaften.

Sie können ein Beispielskript abrufen, um eine Anmeldung mit den erforderlichen Berechtigungen für VMware, Hyper-V oder physische Server mittels Windows-Authentifizierung- oder SQL Server-Authentifizierung zu erstellen.

Rollenzuweisung

So weisen Sie einem Benutzer oder einer App-ID eine Rolle zu

  1. Navigieren Sie im Azure-Portal zu der Ressource.

  2. Wählen Sie im linken Menü Zugriffssteuerung (IAM) aus, und scrollen Sie dann, um die von Ihnen erstellten benutzerdefinierten Rollen zu finden.

  3. Wählen Sie die zuzuweisenden Rollen und dann den Benutzer oder die App-ID aus, und speichern Sie dann die Änderungen.

    Der Benutzer oder die App-ID wird nun auf der Registerkarte Rollenzuweisungen angezeigt.