Ruoli personalizzati per SQL Server a migrazioni di Azure Macchine virtuali tramite ADS

Questo articolo illustra come configurare un ruolo personalizzato in Azure per le migrazioni del database. Il ruolo personalizzato avrà solo le autorizzazioni necessarie per creare ed eseguire un Servizio Migrazione del database con una macchina virtuale di Azure come destinazione.

La sezione AssignableScopes della stringa json di definizione del ruolo consente di controllare dove vengono visualizzate le autorizzazioni nell'interfaccia utente Aggiungi assegnazione ruolo nel portale. È probabile che si voglia definire il ruolo nel gruppo di risorse o anche a livello di risorsa per evitare di incluttere l'interfaccia utente con ruoli aggiuntivi. Questa operazione non esegue l'assegnazione di ruolo effettiva.

{
    "properties": {
        "roleName": "DmsCustomRoleDemoForVM",
        "description": "",
        "assignableScopes": [
            "/subscriptions/<storageSubscription>/resourceGroups/<storageAccountRG>",
            "/subscriptions/<ManagedInstanceSubscription>/resourceGroups/<virtualMachineRG>",
            "/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.SqlVirtualMachine/sqlVirtualMachines/read",
                    "Microsoft.SqlVirtualMachine/sqlVirtualMachines/write",
                    "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": []
            }
        ]
    }
}

È possibile usare l'API portale di Azure AZ PowerShell, l'interfaccia della riga di comando di Azure o l'API REST di Azure per creare i ruoli.

Per altre informazioni, vedere gli articoli Creare ruoli personalizzati usando i ruoli personalizzati portale di Azure e Azure personalizzati.

Descrizione delle autorizzazioni necessarie per la migrazione a una macchina virtuale

Azione di autorizzazione Descrizione
Microsoft.Storage/storageAccounts/read Restituisce l'elenco di account di archiviazione o ottiene le proprietà per l’account di archiviazione specificato.
Microsoft.Storage/storageAccounts/listkeys/action Restituisce le chiavi di accesso per l'account di archiviazione specificato.
Microsoft.Storage/storageAccounts/blobServices/read Elencare i servizi BLOB.
Microsoft.Storage/storageAccounts/blobServices/write Restituisce il risultato delle proprietà del servizio BLOB.
Microsoft.Storage/storageAccounts/blobServices/containers/read Restituisce l'elenco dei contenitori.
Microsoft.Sql/managedInstances/read Restituisce l'elenco delle istanze gestite o ottiene le proprietà per l'istanza gestita specificata.
Microsoft.Sql/managedInstances/write Crea un'istanza gestita con i parametri specificati o aggiorna le proprietà o i tag per l'istanza gestita specificata.
Microsoft.Sql/managedInstances/databases/read Ottiene il database gestito esistente.
Microsoft.Sql/managedInstances/databases/write Crea un nuovo database o ne aggiorna uno esistente.
Microsoft.Sql/managedInstances/databases/delete Elimina un database gestito esistente.
Microsoft.DataMigration/locations/operationResults/read Ottenere lo stato di un'operazione a esecuzione prolungata correlata a una risposta accettata 202.
Microsoft.DataMigration/locations/operationStatuses/read Ottenere lo stato di un'operazione a esecuzione prolungata correlata a una risposta accettata 202.
Microsoft.DataMigration/locations/sqlMigrationServiceOperationResults/read Recuperare i risultati dell'operazione del servizio.
Microsoft.DataMigration/databaseMigrations/write Creare o aggiornare la risorsa migrazione del database.
Microsoft.DataMigration/databaseMigrations/read Recuperare la risorsa Migrazione del database.
Microsoft.DataMigration/databaseMigrations/delete Eliminare la risorsa Migrazione del database.
Microsoft.DataMigration/databaseMigrations/cancel/action Arrestare la migrazione in corso per il database.
Microsoft.DataMigration/databaseMigrations/cutover/action Operazione di migrazione online di cutover per il database.
Microsoft.DataMigration/sqlMigrationServices/write Creare una nuova o modifica proprietà del servizio esistente
Microsoft.DataMigration/sqlMigrationServices/delete Eliminare il servizio esistente.
Microsoft.DataMigration/sqlMigrationServices/read Recuperare i dettagli del servizio di migrazione.
Microsoft.DataMigration/sqlMigrationServices/listAuthKeys/action Recuperare l'elenco delle chiavi di autenticazione.
Microsoft.DataMigration/sqlMigrationServices/regenerateAuthKeys/action Rigenerare le chiavi di autenticazione.
Microsoft.DataMigration/sqlMigrationServices/deleteNode/action Registrare il nodo ir.
Microsoft.DataMigration/sqlMigrationServices/listMonitoringData/action Elenca i dati di monitoraggio per tutte le migrazioni.
Microsoft.DataMigration/sqlMigrationServices/listMigrations/read Elenca le migrazioni per l'utente.
Microsoft.DataMigration/sqlMigrationServices/MonitoringData/read Recuperare i dati di monitoraggio.
Microsoft.SqlVirtualMachine/sqlVirtualMachines/read Recuperare i dettagli della macchina virtuale SQL.
Microsoft.SqlVirtualMachine/sqlVirtualMachines/write Creare una nuova o modificare le proprietà della macchina virtuale SQL esistente.

Assegnazione del ruolo

Per assegnare un ruolo all'ID utente/APP, aprire la portale di Azure, seguire questa procedura:

  1. Passare alla risorsa, passare a Controllo di accesso e quindi scorrere per trovare i ruoli personalizzati creati.

  2. Selezionare il ruolo appropriato, selezionare l'ID utente o app e quindi salvare le modifiche.

L'utente o gli ID APP ora vengono visualizzati nella scheda Assegnazioni di ruolo .

Passaggi successivi