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