Ruoli personalizzati per le migrazioni da SQL Server a Istanza gestita di SQL di Azure utilizzando ADS

Questo articolo illustra come configurare un ruolo personalizzato in Azure per le migrazioni di database di SQL Server. Il ruolo personalizzato dispone solo delle autorizzazioni necessarie per creare ed eseguire un'istanza di Servizio Migrazione del database di Azure con Istanza gestita di SQL di Azure come destinazione.

Usare la sezione AssignableScopes della stringa JSON di definizione del ruolo per controllare dove vengono visualizzate le autorizzazioni nell'interfaccia utente Aggiungi assegnazione di ruolo nel portale di Azure. Per evitare confusione nell'interfaccia utente con ruoli aggiuntivi, è possibile definire il ruolo a livello del gruppo di risorse o anche il livello della risorsa. La risorsa a cui si applica il ruolo personalizzato non esegue l'assegnazione di ruolo effettiva.

{
    "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": []
            }
        ]
    }
}

Per creare i ruoli è possibile utilizzare il portale di Azure, Azure PowerShell, la riga di comando Azure o l’API REST di Azure.

Per altre informazioni, consultate Creare o aggiornare i ruoli personalizzati di Azure utilizzando il portale di Azure e i ruoli personalizzati di Azure.

Descrizione delle autorizzazioni necessarie per eseguire la migrazione a Istanza gestita di SQL di Azure

Autorizzazioni azioni 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 della creazione/aggiornamento 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 un 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 Recuperare lo stato di un'operazione a esecuzione prolungata correlata a una risposta 202 - Accettato.
Microsoft.DataMigration/locations/operationStatuses/read Recuperare lo stato di un'operazione a esecuzione prolungata correlata a una risposta 202 - Accettato.
Microsoft.DataMigration/locations/sqlMigrationServiceOperationResults/read Recupera 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 un nuovo servizio o modificare le proprietà di quello esistente
Microsoft.DataMigration/sqlMigrationServices/delete Eliminare il servizio esistente.
Microsoft.DataMigration/sqlMigrationServices/read Recuperare i dettagli del servizio 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 Annullare la registrazione del 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.

È possibile ottenere uno script di esempio per creare un account di accesso ed eseguirne il provisioning con le autorizzazioni necessarie, per VMware, Hyper-V o server fisici, usando autenticazione di Windows o l'autenticazione di SQL Server.

Assegnazione di ruolo

Assegnare un utente a un ID app:

  1. Nel portale di Azure, passare alla risorsa.

  2. Nel menu a sinistra selezionare Controllo di accesso (IAM) e quindi scorrere per trovare i ruoli personalizzati creati.

  3. Selezionare i ruoli da assegnare, selezionare l'ID utente o l'app e quindi salvare le modifiche.

    L'ID utente o app viene ora visualizzato nella scheda Assegnazioni del ruolo.