Share via


Ruoli personalizzati per SQL Server per Istanza gestita di SQL di Azure migrazioni online

Servizio Migrazione del database di Azure usa un ID APP per interagire con i servizi di Azure. L'ID APP richiede il ruolo Collaboratore a livello di sottoscrizione (che molti reparti di sicurezza aziendale non consentono) o la creazione di ruoli personalizzati che concedono le autorizzazioni specifiche richieste Servizio Migrazione del database di Azure. Poiché è previsto un limite di 2.000 ruoli personalizzati in Microsoft Entra ID, è possibile combinare tutte le autorizzazioni richieste specificamente dall'ID APP in uno o due ruoli personalizzati e quindi concedere all'APP ID l'ID app il ruolo personalizzato per oggetti o gruppi di risorse specifici (rispetto a livello di sottoscrizione). Se il numero di ruoli personalizzati non è un problema, è possibile suddividere i ruoli personalizzati per tipo di risorsa per creare tre ruoli personalizzati in totale, come descritto di seguito.

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

Numero minimo di ruoli

È attualmente consigliabile creare almeno due ruoli personalizzati per l'ID APP, uno a livello di risorsa e l'altro a livello di sottoscrizione.

Nota

L'ultimo requisito del ruolo personalizzato può essere rimosso, perché il nuovo codice di Istanza gestita di SQL viene distribuito in Azure.

Ruolo personalizzato per l'ID APP. Questo ruolo è necessario per Servizio Migrazione del database di Azure migrazione a livello di risorsa o gruppo di risorse che ospita il Servizio Migrazione del database di Azure (per altre informazioni sull'ID APP, vedere l'articolo Usare il portale per creare un'applicazione Microsoft Entra e un'entità servizio in grado di accedere alle risorse.

{
  "Name": "DMS Role - App ID",
  "IsCustom": true,
  "Description": "DMS App ID access to complete MI migrations",
  "Actions": [
        "Microsoft.Storage/storageAccounts/read",
        "Microsoft.Storage/storageAccounts/listKeys/action",
        "Microsoft.Storage/storageaccounts/blobservices/read",
        "Microsoft.Storage/storageaccounts/blobservices/write",
        "Microsoft.Sql/managedInstances/read",
        "Microsoft.Sql/managedInstances/write",
        "Microsoft.Sql/managedInstances/databases/read",
        "Microsoft.Sql/managedInstances/databases/write",
        "Microsoft.Sql/managedInstances/databases/delete",
        "Microsoft.Sql/managedInstances/metrics/read",
        "Microsoft.DataMigration/locations/*",
        "Microsoft.DataMigration/services/*"
  ],
  "NotActions": [
  ],
  "AssignableScopes": [
    "/subscriptions/<subscription_id>/ResourceGroups/<StorageAccount_rg_name>",
    "/subscriptions/<subscription_id>/ResourceGroups/<ManagedInstance_rg_name>",
    "/subscriptions/<subscription_id>/ResourceGroups/<DMS_rg_name>",
  ]
}

Ruolo personalizzato per l'ID APP - sottoscrizione. Questo ruolo è necessario per Servizio Migrazione del database di Azure migrazione a livello di sottoscrizione che ospita il Istanza gestita di SQL.

{
  "Name": "DMS Role - App ID - Sub",
  "IsCustom": true,
  "Description": "DMS App ID access at subscription level to complete MI migrations",
  "Actions": [
        "Microsoft.Sql/locations/managedDatabaseRestoreAzureAsyncOperation/*"
  ],
  "NotActions": [
  ],
  "AssignableScopes": [
    "/subscriptions/<subscription_id>"
  ]
}

Il codice JSON precedente deve essere archiviato in due file di testo ed è possibile usare i cmdlet di AzureRM, AZ PowerShell o l'interfaccia della riga di comando di Azure per creare i ruoli usando New-AzureRmRoleDefinition (AzureRM) o New-AzRoleDefinition (AZ).

Per altre informazioni, vedere l'articolo Ruoli personalizzati di Azure.

Dopo aver creato questi ruoli personalizzati, è necessario aggiungere assegnazioni di ruolo agli utenti e agli ID APP alle risorse o ai gruppi di risorse appropriati:

  • Il ruolo "DMS Role - App ID" deve essere concesso all'ID APP che verrà usato per le migrazioni e anche a livello di risorsa Archiviazione Account, Servizio Migrazione del database di Azure e Istanza gestita di SQL. Viene concessa a livello di risorsa o gruppo di risorse che ospita il Servizio Migrazione del database di Azure.
  • Il ruolo "Ruolo DMS - ID app - Sub" deve essere concesso all'ID APP a livello di sottoscrizione che ospita il Istanza gestita di SQL (la concessione alla risorsa o al gruppo di risorse avrà esito negativo). Questo requisito è temporaneo finché non viene distribuito un aggiornamento del codice.

Numero espanso di ruoli

Se il numero di ruoli personalizzati nell'ID Microsoft Entra non è un problema, è consigliabile creare un totale di tre ruoli. Sarà comunque necessario il ruolo "Ruolo Dms - ID app - Sub", ma il ruolo "Ruolo Dms - ID app" precedente è suddiviso per tipo di risorsa in due ruoli diversi.

Ruolo personalizzato per l'ID APP per Istanza gestita di SQL

{
  "Name": "DMS Role - App ID - SQL MI",
  "IsCustom": true,
  "Description": "DMS App ID access to complete MI migrations",
  "Actions": [
        "Microsoft.Sql/managedInstances/read",
        "Microsoft.Sql/managedInstances/write",
        "Microsoft.Sql/managedInstances/databases/read",
        "Microsoft.Sql/managedInstances/databases/write",
        "Microsoft.Sql/managedInstances/databases/delete",
        "Microsoft.Sql/managedInstances/metrics/read"
  ],
  "NotActions": [
  ],
  "AssignableScopes": [
    "/subscriptions/<subscription_id>/resourceGroups/<ManagedInstance_rg_name>"
  ]
}

Ruolo personalizzato per l'ID APP per Archiviazione

{
  "Name": "DMS Role - App ID - Storage",
  "IsCustom": true,
  "Description": "DMS App ID storage access to complete MI migrations",
  "Actions": [
"Microsoft.Storage/storageAccounts/read",
        "Microsoft.Storage/storageAccounts/listKeys/action",
        "Microsoft.Storage/storageaccounts/blobservices/read",
        "Microsoft.Storage/storageaccounts/blobservices/write"
  ],
  "NotActions": [
  ],
  "AssignableScopes": [
    "/subscriptions/<subscription_id>/resourceGroups/<StorageAccount_rg_name>"
  ]
}

Assegnazione di ruolo

Per assegnare un ruolo a utenti/ID APP, aprire il portale di Azure, seguire questa procedura:

  1. Passare al gruppo di risorse o alla risorsa (ad eccezione del ruolo che deve essere concesso nella sottoscrizione), passare a Controllo di accesso e quindi scorrere per trovare i ruoli personalizzati appena creati.

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

Gli ID app sono ora elencati nella scheda Assegnazioni di ruolo.

Passaggi successivi