Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird erläutert, wie Sie eine benutzerdefinierte Rolle in Azure für SQL Server-Datenbankmigrationen einrichten. Die benutzerdefinierte Rolle ist nur mit den Berechtigungen konfiguriert, die zum Initiieren und Ausführen von Migrationen mit einer Instanz des Azure-Datenbankmigrationsdiensts erforderlich sind und auf die azure SQL Managed Instance abzielen. Um eine neue Instanz des Azure-Datenbankmigrationsdiensts bereitzustellen, muss dem Benutzer entweder die Rolle " Besitzer " oder "Mitwirkender " auf Abonnementebene zugewiesen werden.
Benutzer können außerdem die folgenden eingebauten Rollen nutzen:
- SQLVM-Migrationsrolle
- SqlMI-Migrationsrolle
- Rolle für die SqlDB-Migration
Diese integrierten Rollen ermöglichen es den Nutzern:
- Erstellen und löschen Sie Database Migration Service (DMS)-Instanzen.
- Führen Sie Datenbankmigrationen mittels DMS aus.
Hinweis
Um die Migration mit Azure Portal zu konfigurieren, benötigen Sie außerdem Zugriff auf Storage Blob Data Reader im Blob-Container.
Für die benutzerdefinierte Rolle :
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",
"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": []
}
]
}
}
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.
Hinweis
Wenn Sie über das Azure SQL Managed Instance oder die Azure SQL Virtual Machine über das Azure-Portal migrieren, stellen Sie sicher, dass der angemeldete Benutzer Zugriff auf den Storage Blob Data Reader auf dem Blob-Container hat, der die Backup-Dateien enthält. Diese Berechtigung ist erforderlich, um Ordner und Dateien im BLOB-Container während der Migration nur über das Azure-Portal auflisten zu können.
Beschreibung der Berechtigungen, die zum Migrieren zu Azure SQL Managed Instance erforderlich sind
| Berechtigungsvorgang | 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 zum Festlegen der Eigenschaften des Blob-Diensts 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 lang andauernden Vorgangs ab, der mit einer 202 Accepted-Antwort zusammenhängt. |
Microsoft.DataMigration/locations/operationStatuses/read |
Ruft den Status eines lang andauernden Vorgangs im Zusammenhang mit einer Antwort mit dem Statuscode 202 Accepted 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 |
Umschaltung des 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 |
Melden Sie den IR-Knoten ab. |
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. |
Microsoft.DataMigration/SqlMigrationServices/tasks/read |
Abrufen von Aufgabendetails des Migrationsdiensts |
Microsoft.DataMigration/SqlMigrationServices/tasks/write |
Erstellen oder Aktualisieren der Migrationsdienstaufgabe |
Microsoft.DataMigration/SqlMigrationServices/tasks/delete |
Migrationsdienstaufgabe löschen |
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
Lesen von BLOB-Containern in einem Azure Storage-Konto |
Microsoft.DataMigration/sqlMigrationServices/validateIR/action |
Validiert die Integrationslaufzeit. |
Sie können ein Beispielskript erstellen, um eine Anmeldung zu erstellen und diese mit den notwendigen Berechtigungen für VMware, Hyper-V oder physische Server bereitzustellen, indem Sie Windows Authentication oder SQL Server Authentifizierung verwenden.
Rollenzuweisung
So weisen Sie einem Benutzer oder einer App-ID eine Rolle zu
Navigieren Sie im Azure-Portal zu der Ressource.
Wählen Sie im linken Menü Zugriffssteuerung (IAM) aus, und scrollen Sie dann, um die von Ihnen erstellten benutzerdefinierten Rollen zu finden.
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.