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 Datenbankmigrationen einrichten. Die benutzerdefinierte Rolle verfügt nur über die erforderlichen Berechtigungen zum Erstellen und Ausführen eines Datenbankmigrationsdienstes mit SQL Managed Instance als Ziel.

Im Abschnitt „AssignableScopes“ der JSON-Zeichenfolge der Rollendefinition können Sie festlegen, wo die Berechtigungen in der Benutzeroberfläche Rollenzuweisung hinzufügen im Portal angezeigt werden. Es empfiehlt sich, die Rollen auf Ressourcengruppen- oder sogar Ressourcenebene zu definieren, um zu vermeiden, dass die Benutzeroberfläche durch zusätzliche Rollen unübersichtlich wird. Dadurch erfolgt nicht die eigentliche Rollenzuweisung.

{
    "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 die Azure-Portal, AZ PowerShell, Azure CLI oder Azure REST-API verwenden, um die Rollen zu erstellen.

Weitere Informationen finden Sie in den Artikeln Erstellen benutzerdefinierter Rollen mithilfe der Azure-Portal und Azure-benutzerdefinierten 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 Blobdienste auflisten.
Microsoft.Storage/storageAccounts/blobServices/write Hiermit wird das Ergebnis des Vorgangs zum Festlegen von Eigenschaften des Blob-Diensts zurückgegeben.
Microsoft.Storage/storageAccounts/blobServices/containers/read Hiermit wird eine Liste von Containern zurückgegeben.
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 Hiermit wird eine bestehende verwaltete Datenbank gelöscht.
Microsoft.DataMigration/locations/operationResults/read Hiermit rufen Sie den Status eines Vorgangs mit langer Ausführungsdauer in Zusammenhang mit einer Antwort "202: Akzeptiert" ab.
Microsoft.DataMigration/locations/operationStatuses/read Hiermit rufen Sie den Status eines Vorgangs mit langer Ausführungsdauer in Zusammenhang mit einer Antwort "202: Akzeptiert" ab.
Microsoft.DataMigration/locations/sqlMigrationServiceOperationResults/read Dient dem Abrufen von Dienstvorgangsergebnissen
Microsoft.DataMigration/databaseMigrations/write Erstellen oder Aktualisieren der Datenbankmigrationsressource.
Microsoft.DataMigration/databaseMigrations/read Rufen Sie die Datenbankmigrationsressource ab.
Microsoft.DataMigration/databaseMigrations/delete Datenbankmigrationsressource löschen.
Microsoft.DataMigration/databaseMigrations/cancel/action Beenden Der laufenden Migration für die Datenbank.
Microsoft.DataMigration/databaseMigrations/cutover/action Übernahme des Onlinemigrationsvorgangs 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 Hiermit wird ein vorhandener Dienst gelöscht.
Microsoft.DataMigration/sqlMigrationServices/read Hiermit werden Details zum Migrationsdienst abgerufen.
Microsoft.DataMigration/sqlMigrationServices/listAuthKeys/action Hiermit wird die Liste der Authentifizierungsschlüssel abgerufen
Microsoft.DataMigration/sqlMigrationServices/regenerateAuthKeys/action Authentifizierungsschlüssel erneut generieren.
Microsoft.DataMigration/sqlMigrationServices/deleteNode/action Die Registrierung des IR-Knotens aufheben.
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 Hiermit werden die Überwachungsdaten abgerufen.
Microsoft.SqlVirtualMachine/sqlVirtualMachines/read Die Details eines virtuellen SQL-Computers abrufen.
Microsoft.SqlVirtualMachine/sqlVirtualMachines/write Einen neuen virtuellen SQL-Computer erstellen oder dessen Eigenschaften ändern.

Rollenzuweisung

Um Benutzern oder einer App-ID eine Rolle zuzuweisen, öffnen Sie das Azure-Portal, und führen Sie die folgenden Schritte aus:

  1. Navigieren Sie zu der Ressource, wechseln Sie zu Zugriffskontrolle und scrollen Sie dann zu den von Ihnen erstellten benutzerdefinierten Rollen.

  2. Wählen Sie die entsprechende Rolle und dann den Benutzer oder die App-ID aus, und speichern Sie die Änderungen.

Der Benutzer oder die App-IDs werden nun auf der Registerkarte Rollenzuweisungen angezeigt.

Nächste Schritte