Citrix Virtual Apps and Desktops

Ambienti cloud Microsoft Azure Resource Manager

Seguire le indicazioni in questo articolo quando si utilizza Microsoft Azure Resource Manager per eseguire il provisioning di macchine virtuali nella distribuzione di Citrix Virtual Apps and Desktops.

Si presume la familiarità con quanto segue:

Provisioning on demand di Azure

Con il provisioning on demand di Azure, le macchine virtuali vengono create solo quando Citrix Virtual Apps and Desktops avvia un’azione di accensione, dopo il completamento del provisioning.

Quando si utilizza MCS per creare cataloghi delle macchine in Azure Resource Manager, la funzionalità di provisioning on demand di Azure:

  • Riduce i costi di archiviazione
  • Velocizza la creazione di cataloghi

Quando si crea un catalogo MCS, il portale di Azure visualizza il gruppo di sicurezza di rete, le interfacce di rete, le immagini di base e i dischi di identità nei gruppi di risorse.

Il portale di Azure non mostra una macchina virtuale finché Citrix Virtual Apps and Desktops non avvia un’azione di accensione per tale macchina. Esistono due tipi di macchine con le seguenti differenze:

  • Per una macchina in pool, il disco del sistema operativo e la cache write-back esistono solo quando esiste la macchina virtuale. Quando si arresta una macchina in pool nella console, la macchina virtuale non è visibile nel portale di Azure. Si ottiene un notevole risparmio sui costi di archiviazione se si spengono regolarmente le macchine (ad esempio, al di fuori dell’orario di lavoro).
  • Per una macchina dedicata, il disco del sistema operativo viene creato la prima volta che la macchina virtuale viene accesa. La macchina virtuale presente nel portale di Azure rimane in archivio fino a quando l’identità della macchina non viene eliminata. Quando si arresta una macchina dedicata nella console, la macchina virtuale è ancora visibile nel portale di Azure.

Connessione ad Azure Resource Manager

Connessioni e risorse descrive le procedure guidate che creano una connessione. Le seguenti informazioni riguardano dettagli specifici per le connessioni di Azure Resource Manager.

Considerazioni:

  • Citrix consiglia di utilizzare Service Principal con ruolo di collaboratore. Tuttavia, consulta la sezione Autorizzazioni minime per ottenere l’elenco delle autorizzazioni minime.
  • Quando si crea la prima connessione, Azure richiede di concederle le autorizzazioni necessarie. Per le connessioni future è comunque necessario autenticarsi, ma Azure ricorda il consenso precedente e non visualizza più la richiesta.
  • Gli account utilizzati per l’autenticazione devono essere co-amministratori della sottoscrizione.
  • L’account utilizzato per l’autenticazione deve essere un membro della directory della sottoscrizione. Esistono due tipi di account di cui tenere conto: “lavoro o scuola” e “account Microsoft personale”. Vedere CTX219211 per i dettagli.
  • Sebbene sia possibile utilizzare un account Microsoft esistente aggiungendolo come membro della directory della sottoscrizione, possono verificarsi complicazioni se all’utente è stato precedentemente concesso l’accesso come ospite a una delle risorse della directory. In questo caso, potrebbe essere presente una voce di segnaposto nella directory che non concede loro le autorizzazioni necessarie e viene restituito un errore.

    Correggere questo problema rimuovendo le risorse dalla directory e aggiungendole di nuovo esplicitamente. Tuttavia, utilizzare questa opzione con attenzione, perché ha effetti indesiderati su altre risorse a cui l’account può accedere.

  • Esiste un problema noto per cui alcuni account vengono rilevati come ospiti della directory quando invece sono membri. Configurazioni come questa si verificano in genere con account di directory consolidati precedenti. Soluzione: aggiungere un account alla directory, che assume il valore di appartenenza corretto.
  • I gruppi di risorse sono semplicemente contenitori per le risorse e possono contenere risorse provenienti da regioni diverse dalla propria. Ciò può creare potenzialmente confusione se si prevede che le risorse visualizzate nella regione di un gruppo di risorse siano disponibili.
  • Assicurarsi che la rete e la subnet siano sufficientemente grandi da ospitare il numero di macchine necessarie. Ciò richiede una certa lungimiranza, ma Microsoft aiuta a specificare i valori corretti, con indicazioni sulla capacità dello spazio degli indirizzi.

È possibile stabilire una connessione host ad Azure in due modi:

  • Eseguire l’autenticazione in Azure per creare un’entità servizio.
  • Usare i dettagli di un’entità servizio creata in precedenza per connettersi ad Azure.

Creare un’entità servizio

Importante:

Questa funzionalità non è ancora disponibile per le sottoscrizioni di Azure in Cina e in Germania.

Prima di iniziare, eseguire l’autenticazione in Azure. Assicurarsi di:

  • Avere un account utente nel tenant Azure Active Directory della propria sottoscrizione.
  • L’account utente Azure AD sia anche co-amministratore per la sottoscrizione di Azure che si desidera utilizzare per il provisioning delle risorse.
  • Si dispone delle autorizzazioni di amministratore globale, amministratore dell’applicazione o sviluppatore di applicazioni per l’autenticazione. Queste autorizzazioni possono essere revocate dopo aver creato una connessione host. Per ulteriori informazioni sui ruoli, vedere Ruoli predefiniti di Azure AD.

Quando si esegue l’autenticazione in Azure per creare un’entità servizio, un’applicazione viene registrata in Azure. Viene creata una chiave segreta (segreto client) per l’applicazione registrata. L’applicazione registrata utilizza il segreto client per l’autenticazione in Azure AD. Assicurarsi di cambiare il segreto client prima che scada. Si riceverà un avviso sulla console prima della scadenza della chiave segreta.

Per autenticarsi in Azure per creare un’entità servizio, completare i seguenti passaggi nella procedura guidata Add Connection and Resources (Aggiungi connessione e risorse):

  1. Nella pagina Connection (Connessione), selezionare Create a new connetion (Crea una nuova connessione), il tipo di connessione Microsoft Azure e l’ambiente Azure.

  2. Selezionare gli strumenti da utilizzare per creare le macchine virtuali, quindi selezionare Next (Avanti).

  3. Nella pagina Connection Details (Dettagli connessione), inserire il proprio ID sottoscrizione di Azure e un nome per la connessione. Dopo aver inserito l’ID sottoscrizione, viene abilitato il pulsante Create new (Crea nuova).

    Nota:

    Il nome della connessione può contenere da 1 a 64 caratteri e non può contenere solo spazi vuoti né i caratteri \/;:#.*?=<>|[]{}"'()'.

  4. Selezionare Create new (Crea nuova), quindi inserire il nome utente e la password dell’account Azure Active Directory.

  5. Selezionare Sign in (Accedi).

  6. Selezionare Accept (Accetta) per concedere a Citrix Virtual Apps and Desktops le autorizzazioni elencate. Citrix Virtual Apps and Desktops crea un’entità servizio che consente di gestire le risorse di Azure per conto dell’utente specificato.

  7. Dopo aver selezionato Accept (Accetta), si torna alla pagina Connection (Connessione) della procedura guidata.

    Nota:

    Dopo aver eseguito l’autenticazione in Azure, i pulsanti Create new (Crea nuova) e Use existing (Usa esistente) scompaiono. Viene visualizzato il testo Connection successful (Connessione riuscita), con un segno di spunta verde che indica la connessione riuscita alla sottoscrizione di Azure.

  8. Nella pagina Connection Details (Dettagli connessione), selezionare Next (Avanti).

    Nota:

    Non è possibile passare alla pagina successiva finché non ci si autentica correttamente in Azure e non si acconsente a concedere le autorizzazioni richieste.

  9. Configurare le risorse per la connessione. Le risorse comprendono la regione e la rete.

    • Nella pagina Region (Regione), selezionare una regione.
    • Nella pagina Network (Rete), procedere come segue:
      • Digitare un nome da 1 a 64 caratteri per la risorsa, per semplificare l’identificazione della combinazione di regione e rete. Il nome di una risorsa non può contenere solo spazi vuoti né i caratteri \/;:#.*?=<>|[]{}"'()'.
      • Selezionare una coppia rete virtuale/gruppo di risorse (se si dispone di più di una rete virtuale con lo stesso nome, l’associazione del nome della rete con il gruppo di risorse fornisce combinazioni univoche). Se la regione selezionata nella pagina precedente non dispone di reti virtuali, tornare a quella pagina e selezionare una regione con reti virtuali.
  10. Nella pagina Summary (Riepilogo), visualizzare un riepilogo delle impostazioni e selezionare Finish (Fine) per completare la configurazione.

Usare i dettagli di un’entità servizio creata in precedenza per connettersi ad Azure

Per creare manualmente un’entità servizio, connettersi alla sottoscrizione di Azure Resource Manager e utilizzare i cmdlet PowerShell forniti nelle sezioni seguenti.

Prerequisiti:

  • SubscriptionId: SubscriptionID di Azure Resource Manager per la sottoscrizione in cui si desidera eseguire il provisioning di VDA.
  • ActiveDirectoryID: ID tenant dell’applicazione registrata con Azure AD.
  • ApplicationName: nome dell’applicazione da creare in Azure AD.

Per creare un’entità servizio:

  1. Connettersi alla sottoscrizione Azure Resource Manager.

    Connect-AzAccount

  2. Selezionare la sottoscrizione Azure Resource Manager in cui si desidera creare l’entità servizio.

    Get-AzSubscription -SubscriptionId $subscriptionId | Select-AzSubscription

  3. Creare l’applicazione nel proprio tenant AD.

    $AzureADApplication = New-AzADApplication -DisplayName $ApplicationName

  4. Creare un’entità servizio.

    New-AzADServicePrincipal -ApplicationId $AzureADApplication.AppId

  5. Assegnare un ruolo all’entità servizio.

    New-AzRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $AzureADApplication.AppId –scope /subscriptions/$SubscriptionId

  6. Dalla finestra di output della console PowerShell, prendere nota dell’ApplicationId. Fornire questo ID quando si crea la connessione host.

Nella procedura guidata Add Connection and Resources (Aggiungi connessione e risorse):

  1. Nella pagina Connection (Connessione), selezionare Create a new connetion (Crea una nuova connessione), il tipo di connessione Microsoft Azure e l’ambiente Azure.

  2. Selezionare gli strumenti da utilizzare per creare le macchine virtuali, quindi selezionare Next (Avanti).

  3. Nella pagina Connection Details (Dettagli connessione), inserire il proprio ID sottoscrizione di Azure e un nome per la connessione.

    Nota:

    Il nome della connessione può contenere da 1 a 64 caratteri e non può contenere solo spazi vuoti né i caratteri \/;:#.*?=<>|[]{}"'()'.

  4. Selezionare Use existing (Usa esistente). Nella finestra Existing Service Principal Details (Dettagli entità servizio esistente), immettere le seguenti impostazioni per l’entità servizio esistente. Dopo aver inserito i dettagli, il pulsante Save (Salva) è abilitato. Selezionare Save (Salva). Non è possibile andare oltre questa pagina finché non si forniscono dettagli validi.

    • Subscription ID (ID sottoscrizione). Inserire il proprio ID sottoscrizione di Azure. Per ottenere l’ID sottoscrizione, accedere al portale di Azure e andare a Sottoscrizioni > Panoramica.
    • Active Directory ID (ID Active Directory) (ID tenant). Inserire l’ID Directory (tenant) dell’applicazione che si è registrata con Azure AD.
    • Application ID (ID applicazione). Inserire l’ID applicazione (client) dell’applicazione registrata con Azure AD.
    • Application secret (Segreto dell’applicazione). Creare una chiave segreta (segreto client). L’applicazione registrata utilizza la chiave per l’autenticazione in Azure AD. Si consiglia di cambiare le chiavi regolarmente per motivi di sicurezza. Assicurarsi di salvare la chiave, perché non è possibile recuperarla in un secondo momento.
    • Secret expiration date (Data di scadenza del segreto). Immettere la data dopo la quale il segreto dell’applicazione scade. Si riceverà un avviso sulla console prima della scadenza della chiave segreta. Tuttavia, se la chiave segreta scade, si ricevono errori.

      Nota:

      Per motivi di sicurezza, il periodo di scadenza non può essere superiore a due anni da oggi.

    • Authentication URL (URL di autenticazione). Questo campo viene compilato automaticamente e non è modificabile.
    • Management URL (URL di gestione). Questo campo viene compilato automaticamente e non è modificabile.
    • Storage suffix (Suffisso di archiviazione). Questo campo viene compilato automaticamente e non è modificabile.

      L’accesso ai seguenti endpoint è necessario per creare un catalogo MCS in Azure. L’accesso a questi endpoint ottimizza la connettività tra la rete e il portale di Azure e i relativi servizi.

  5. Dopo aver selezionato Save (Salva), si torna alla pagina Connection Details (Dettagli connessione). Selezionare Next (Avanti) per passare alla pagina successiva.

  6. Configurare le risorse per la connessione. Le risorse comprendono la regione e la rete.

    • Nella pagina Region (Regione), selezionare una regione.
    • Nella pagina Network (Rete), procedere come segue:
      • Digitare un nome da 1 a 64 caratteri per la risorsa, per semplificare l’identificazione della combinazione di regione e rete. Il nome di una risorsa non può contenere solo spazi vuoti né i caratteri \/;:#.*?=<>|[]{}"'()'.
      • Selezionare una coppia rete virtuale/gruppo di risorse (se si dispone di più di una rete virtuale con lo stesso nome, l’associazione del nome della rete con il gruppo di risorse fornisce combinazioni univoche). Se la regione selezionata nella pagina precedente non dispone di reti virtuali, tornare a quella pagina e selezionare una regione con reti virtuali.
  7. Nella pagina Summary (Riepilogo), visualizzare un riepilogo delle impostazioni e selezionare Finish (Fine) per completare la configurazione.

Creare un catalogo delle macchine utilizzando un’immagine di Azure Resource Manager

Un’immagine può essere un disco, una snapshot o una versione immagine di una definizione di immagine all’interno della Raccolta di calcolo di Azure utilizzata per creare le macchine virtuali in un catalogo di macchine. Prima di creare il catalogo delle macchine, creare un’immagine in Azure Resource Manager. Per informazioni generali sulle immagini, vedere Creare cataloghi delle macchine.

L’uso di un profilo macchina con un avvio attendibile quale Security Type (Tipo di sicurezza) è obbligatorio quando si seleziona un’immagine o una snapshot con avvio attendibile abilitato. È quindi possibile abilitare o disabilitare SecureBoot e vTPM specificandone i valori nel profilo macchina. L’avvio attendibile non è supportato per la Raccolta immagini condivise. Per informazioni sull’avvio attendibile di Azure, vedere Avvio attendibile per le macchine virtuali di Azure.

Il catalogo delle macchine utilizza le seguenti proprietà definite nelle proprietà personalizzate:

  • Zona di disponibilità
  • ID gruppo host dedicato
  • ID set crittografia disco
  • Tipo di sistema operativo
  • Tipo di licenza
  • Tipo di archiviazione

Se queste proprietà personalizzate non sono definite in modo esplicito, i valori delle proprietà vengono impostati in base alla specifica del modello ARM o alla macchina virtuale, a seconda di quale sia utilizzata come profilo macchina. Inoltre, se non è specificato ServiceOffering, questo verrà impostato in base al profilo della macchina.

Nota:

Se alcune delle proprietà non sono presenti nel profilo macchina e non sono definite nelle proprietà personalizzate, vengono adottati i valori predefiniti delle proprietà laddove è applicabile.

La sezione seguente descrive alcuni scenari in New-ProvScheme e Set-ProvScheme quando CustomProperties hanno tutte le proprietà definite o qando i valori sono derivati da MachineProfile.

Scenari New-ProvScheme

  • MachineProfile ha tutte le proprietà e le CustomProperties non sono definite. Esempio:

    New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm"

    I seguenti valori sono impostati come proprietà personalizzate per il catalogo:

     Get-ProvScheme | select CustomProperties
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="StorageAccountType" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="OSType" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="DedicatedHostGroupId" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="Zones" Value="<mpA-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • MachineProfile ha alcune proprietà e le CustomProperties non sono definite. Esempio: MachineProfile ha solo LicenseType e OSType.

    New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm"

    I seguenti valori sono impostati come proprietà personalizzate per il catalogo:

     Get-ProvScheme | select CustomProperties
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="OSType" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<mpA-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • Sia MachineProfile che CustomProperties definiscono tutte le proprietà. Esempio:

    New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm" -CustomProperties $CustomPropertiesA

    Le proprietà personalizzate hanno la priorità. I seguenti valori sono impostati come proprietà personalizzate per il catalogo:

     Get-ProvScheme | select CustomProperties
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="StorageAccountType" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="OSType" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="DedicatedHostGroupId" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="Zones" Value="<CustomPropertiesA-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • Alcune proprietà sono definite in MachineProfile e alcune proprietà sono definite in CustomProperties. Esempio:
    • In CustomProperties sono definite LicenseType e StorageAccountType
    • In MachineProfile sono definite LicenseType, OSType e Zones

    New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm" -CustomProperties $CustomPropertiesA

    I seguenti valori sono impostati come proprietà personalizzate per il catalogo:

     Get-ProvScheme | select CustomProperties
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="StorageAccountType" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="OSType" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="Zones" Value="<mpA-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • Alcune proprietà sono definite in MachineProfile e alcune proprietà sono definite in CustomProperties. Inoltre, ServiceOffering non è definito. Esempio:

    • In CustomProperties è definito StorageType
    • In MachineProfile è definito il tipo di licenza
     New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mp.vm"
     -ServiceOffering "XDHyp:\HostingUnits\azureunit\serviceoffering.folder<explicit-machine-size>.serviceoffering"
     <!--NeedCopy-->
    

    I seguenti valori sono impostati come proprietà personalizzate per il catalogo:

     Get-ProvScheme | select ServiceOffering
     serviceoffering.folder<explicit-machine-size>.serviceoffering
    
     Get-ProvScheme | select CustomProperties
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="StorageAccountType" Value="explicit-storage-type"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="value-from-machineprofile"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • Se OsType e non si trova né in CustomProperties né in MachineProfile, allora:
    • Il valore viene letto dall’immagine master.
    • Se l’immagine master è un disco non gestito, OsType è impostato su Windows.

    Esempio:

    New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm" -MasterImageVM "XDHyp:\HostingUnits\azureunit\image.folder\linux-master-image.manageddisk"

    Il valore dell’immagine master viene scritto nelle proprietà personalizzate, in questo caso Linux.

     Get-ProvScheme | select CustomProperties
    <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="OSType" Value="Linux"/>
     </CustomProperties>
     <!--NeedCopy-->
    

Scenari Set-ProvScheme

  • Un catalogo esistente con:
    • CustomProperties per StorageAccountType e OsType
    • MachineProfile mpA.vm che definisce le zone

    Aggiornamenti:

    • MachineProfile mpB.vm che definisce StorageAccountType
    • Un nuovo insieme di proprietà personalizzate $CustomPropertiesB che definisce LicenseType e OsType

    Set-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpB.vm" -CustomProperties $CustomPropertiesB

    I seguenti valori sono impostati come proprietà personalizzate per il catalogo:

     Get-ProvScheme | select CustomProperties
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="StorageAccountType" Value="<mpB-value>"/>
     <Property xsi:type="StringProperty" Name="OSType" Value="<CustomPropertiesB-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<CustomPropertiesB-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • Un catalogo esistente con:
    • CustomProperties per StorageAccountType e OsType
    • MachineProfile mpA.vm che definisce StorageAccountType e LicenseType

    Aggiornamenti:

    • Un nuovo insieme di proprietà personalizzate $CustomPropertiesB che definisce StorageAccountType e OsType.

    Set-ProvScheme -CustomProperties $CustomPropertiesB

    I seguenti valori sono impostati come proprietà personalizzate per il catalogo:

     Get-ProvScheme | select CustomProperties
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="StorageAccountType" Value="<CustomPropertiesB-value>"/>
     <Property xsi:type="StringProperty" Name="OSType" Value="<CustomPropertiesB-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<mp-A-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • Un catalogo esistente con:
    • CustomProperties per StorageAccountType e OsType
    • MachineProfile mpA.vm che definisce le zone

    Aggiornamenti:

    • Un MachineProfile mpB.vm che definisce StorageAccountType e LicenseType
    • ServiceOffering non è specificato

    Set-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpB.vm"

    I seguenti valori sono impostati come proprietà personalizzate per il catalogo:

     Get-ProvScheme | select ServiceOffering
     serviceoffering.folder<value-from-machineprofile>.serviceoffering
    
     Get-ProvScheme | select CustomProperties
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="StorageAccountType" Value="<mpB-value>"/>
     <Property xsi:type="StringProperty" Name="OSType" Value="<prior-CustomProperties-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<mpB-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    

Limitazione delle richieste di Azure

Azure Resource Manager limita le richieste di sottoscrizione e tenant, instradando il traffico in base a limiti definiti, a seconda delle esigenze specifiche del provider. Per ulteriori informazioni, vedere Limitazione delle richieste di Resource Manager sul sito Microsoft. Sono previsti dei limiti per sottoscrizioni e tenant, a causa dei quali la gestione di molte macchine può diventare problematica. Ad esempio, in una sottoscrizione contenente molte macchine potrebbero verificarsi dei problemi di prestazioni relativi alle operazioni di alimentazione.

Suggerimento:

Per ulteriori informazioni, vedere Miglioramento delle prestazioni di Azure con Machine Creation Services.

Per contribuire a mitigare questi problemi, è possibile rimuovere la limitazione delle richieste interna di MCS per utilizzare maggiormente la quota di richieste disponibile da Azure.

Si consigliano le seguenti impostazioni ottimali quando si accendono o si spengono le macchine virtuali in sottoscrizioni di grandi dimensioni, ad esempio quelle contenenti 1.000 macchine virtuali:

  • Operazioni simultanee assolute: 500
  • Numero massimo di nuove operazioni al minuto: 2.000
  • Numero massimo di operazioni simultanee: 500

MCS supporta massimo 500 operazioni simultanee per impostazione predefinita. In alternativa, è possibile utilizzare l’SDK Remote PowerShell per impostare il numero massimo di operazioni simultanee.

Utilizzare la proprietà PowerShell MaximumConcurrentProvisioningOperations per specificare il numero massimo di operazioni di provisioning simultanee di Azure. Quando si utilizza questa proprietà, considerare:

  • Il valore predefinito di MaximumConcurrentProvisioningOperations è 500.
  • Configurare il parametro MaximumConcurrentProvisioningOperations utilizzando il comando PowerShell Set-item.

Gruppi di risorse di Azure

I gruppi di risorse di provisioning di Azure offrono un modo per eseguire il provisioning delle macchine virtuali che forniscono applicazioni e desktop agli utenti. È possibile aggiungere gruppi di risorse di Azure vuoti esistenti quando si crea un catalogo delle macchine MCS o quando vengono creati nuovi gruppi di risorse per conto dell’utente. Per informazioni sui gruppi di risorse di Azure, consultare la documentazione Microsoft.

Utilizzo dei gruppi di risorse di Azure

Non ci sono limiti al numero di macchine virtuali, dischi gestiti, snapshot e immagini per ciascun gruppo di risorse di Azure (il limite di 240 macchine virtuali per 800 dischi gestiti per ciascun gruppo di risorse di Azure è stato rimosso).

  • Quando si utilizza un’entità servizio con ambito completo per creare un catalogo delle macchine, MCS crea un solo gruppo di risorse di Azure e utilizza tale gruppo per il catalogo.
  • Quando si utilizza un’entità servizio con ambito limitato per creare un catalogo delle macchine, è necessario fornire un gruppo di risorse di Azure vuoto e pre-creato per il catalogo.

Dischi temporanei di Azure

Un disco temporaneo di Azure consente di riutilizzare il disco della cache o il disco temporaneo per archiviare il disco del sistema operativo per una macchina virtuale abilitata per Azure. Questa funzionalità è utile per gli ambienti Azure che richiedono un disco SSD a prestazioni più elevate rispetto a un disco rigido standard. Per utilizzare dischi temporanei, è necessario impostare la proprietà personalizzata UseEphemeralOsDisk su true durante l’esecuzione di New-ProvScheme.

Nota:

Se la proprietà personalizzata UseEphemeralOsDisk è impostata su false o non viene specificato un valore, tutti i VDA di cui è stato eseguito il provisioning continuano a utilizzare un disco del sistema operativo di cui è stato eseguito il provisioning.

Di seguito è riportato un esempio di set di proprietà personalizzate da utilizzare nello schema di provisioning:

"CustomProperties": [
            {
                "Name": "UseManagedDisks",
                "Value": "true"
            },
            {
                "Name": "StorageType",
                "Value": "Standard_LRS"
            },
            {
                "Name": "UseSharedImageGallery",
                "Value": "true"
            },
            {
                "Name": "SharedImageGalleryReplicaRatio",
                "Value": "40"
            },
            {
                "Name": "SharedImageGalleryReplicaMaximum",
                "Value": "10"
            },
            {
                "Name": "LicenseType",
                "Value": "Windows_Server"
            },
            {
                "Name": "UseEphemeralOsDisk",
                "Value": "true"
            }
        ],
<!--NeedCopy-->

Come creare macchine usando dischi del sistema operativo temporanei

I dischi del sistema operativo temporanei sono controllati in base alla proprietà UseEphemeralOsDisk nel parametro CustomProperties.

Considerazioni importanti per i dischi temporanei

Per eseguire il provisioning di dischi del sistema operativo temporanei utilizzando New-ProvScheme, considerare i seguenti vincoli:

  • La dimensione della macchina virtuale utilizzata per il catalogo deve supportare i dischi operativi temporanei.
  • La dimensione della cache o del disco temporaneo associato alla dimensione della macchina virtuale deve essere maggiore o uguale alla dimensione del disco del sistema operativo.
  • La dimensione del disco temporaneo deve essere maggiore della dimensione del disco della cache.

Tenere presenti questi problemi anche quando:

  • Si crea lo schema di provisioning.
  • Si modifica lo schema di provisioning.
  • Si aggiorna l’immagine.

Ottimizzazione dell’archiviazione di dischi temporanei di Azure e Machine Creation Services (MCS) (I/O MCS)

Il disco del sistema operativo temporaneo di Azure e l’I/O MCS non possono essere abilitati contemporaneamente.

Le considerazioni importanti sono le seguenti:

  • Non è possibile creare un catalogo delle macchine con il disco del sistema operativo temporaneo e l’I/O MCS abilitati contemporaneamente.

  • I parametri PowerShell (UseWriteBackCache e UseEphemeralOsDisk) non hanno effetto e restituiscono un vero e proprio messaggio di errore se vengono impostati su true in New-ProvScheme o Set-ProvScheme.
  • Per i cataloghi delle macchine esistenti creati con entrambe le funzionalità abilitate, è comunque possibile:
    • aggiornare un catalogo delle macchine
    • aggiungere o eliminare macchine virtuali
    • eliminare un catalogo delle macchine

Crittografia lato server di Azure

Citrix Virtual Apps and Desktops e Citrix DaaS supportano le chiavi di crittografia gestite dal cliente per i dischi gestiti di Azure tramite Azure Key Vault. Con questo supporto è possibile gestire i requisiti organizzativi e di conformità crittografando i dischi gestiti del catalogo delle macchine utilizzando la propria chiave di crittografia. Per ulteriori informazioni, vedere Crittografia lato server dell’archiviazione su disco di Azure.

Quando si utilizza questa funzionalità per i dischi gestiti:

  • Per cambiare la chiave con cui è crittografato il disco, è necessario modificare la chiave corrente in DiskEncryptionSet. Tutte le risorse associate a tale modifica DiskEncryptionSet devono essere crittografate con la nuova chiave.

  • Quando si disabilita o si elimina la chiave, tutte le macchine virtuali con dischi che utilizzano tale chiave si spengono automaticamente. Dopo lo spegnimento, le macchine virtuali non sono utilizzabili a meno che la chiave non venga nuovamente abilitata o non venga assegnata una nuova chiave. Qualsiasi catalogo che utilizza la chiave non può essere acceso e non è possibile aggiungervi macchine virtuali.

Considerazioni importanti quando si utilizzano chiavi di crittografia gestite dal cliente

Quando si utilizza questa funzionalità, tenere presente quanto segue:

  • Tutte le risorse correlate alle chiavi gestite dal cliente (Azure Key Vault, set di crittografia dei dischi, macchine virtuali, dischi e snapshot) devono risiedere nella stessa sottoscrizione e area geografica.

  • Dopo aver abilitato la chiave di crittografia gestita dal cliente, non è possibile disabilitarla in un secondo momento. Se si desidera disabilitare o rimuovere la chiave di crittografia gestita dal cliente, copiare tutti i dati su un disco gestito diverso che non utilizza la chiave di crittografia gestita dal cliente.

  • I dischi creati da immagini personalizzate crittografate utilizzando la crittografia lato server e le chiavi gestite dal cliente devono essere crittografati utilizzando le stesse chiavi gestite dal cliente. Questi dischi devono trovarsi nella stessa sottoscrizione.

  • Le snapshot create da dischi crittografati con crittografia lato server e chiavi gestite dal cliente devono essere crittografate con le stesse chiavi gestite dal cliente.

  • I dischi, le snapshot e le immagini crittografati con chiavi gestite dal cliente non possono passare a un altro gruppo di risorse e a un’altra sottoscrizione.

  • I dischi gestiti attualmente o precedentemente crittografati utilizzando Crittografia dischi di Azure non possono essere crittografati utilizzando chiavi gestite dal cliente.

  • Fare riferimento al sito Microsoft per le limitazioni sui set di crittografia dei dischi per ciascuna regione.

Nota:

Per informazioni sulla configurazione della crittografia lato server di Azure, vedere Guida rapida: creare un insieme di credenziali delle chiavi utilizzando il portale di Azure.

Chiave di crittografia gestita dal cliente di Azure

Quando si crea un catalogo delle macchine, è possibile scegliere se crittografare i dati sulle macchine di cui è stato eseguito il provisioning nel catalogo. La crittografia lato server con una chiave di crittografia gestita dal cliente consente di gestire la crittografia a livello di disco gestito e di proteggere i dati sulle macchine del catalogo. Un set di crittografia dei dischi (DES, Disk Encryption Set) rappresenta una chiave gestita dal cliente. Per utilizzare questa funzionalità, è necessario prima creare il DES in Azure. Un DES ha il formato seguente:

  • /subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/Sample-RG/providers/Microsoft.Compute/diskEncryptionSets/SampleEncryptionSet

Selezionare un DES dall’elenco. Il DES selezionato deve essere nella stessa sottoscrizione e nella stessa regione delle risorse. Se l’immagine è crittografata con un DES, utilizzare lo stesso DES durante la creazione del catalogo delle macchine. Non è possibile modificare il DES dopo aver creato il catalogo.

Se si crea un catalogo con una chiave di crittografia e successivamente si disabilita il DES corrispondente in Azure, non si potrà più accendere alle macchine nel catalogo o aggiungervi macchine.

Host dedicati di Azure

È possibile utilizzare MCS per eseguire il provisioning di macchine virtuali su host dedicati di Azure. Prima di eseguire il provisioning delle macchine virtuali su host dedicati di Azure:

  • Creare un gruppo host.
  • Creare host nel gruppo host.
  • Assicurarsi che la capacità host sia sufficiente per la creazione di cataloghi e macchine virtuali.

È possibile creare un catalogo di macchine con tenancy host definita tramite il seguente script PowerShell:

New-ProvScheme <otherParameters> -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <Property xsi:type="StringProperty" Name="HostGroupId" Value="myResourceGroup/myHostGroup" />
 ...other Custom Properties...
 </CustomProperties>
<!--NeedCopy-->

Quando si utilizza MCS per eseguire il provisioning di macchine virtuali su host Azure dedicati, tenere in considerazione quanto segue:

  • Un host dedicato è una proprietà del catalogo e non può essere modificata una volta creato il catalogo. La tenancy dedicata non è attualmente supportata in Azure.
  • Quando si utilizza il parametro HostGroupId, è necessario un gruppo host di Azure preconfigurato nella regione dell’unità di hosting.
  • È necessario il posizionamento automatico di Azure. Questa funzionalità invia una richiesta di eseguire l’onboarding della sottoscrizione associata al gruppo host. Per ulteriori informazioni, vedere Set di scalabilità VM negli host dedicati di Azure - Anteprima pubblica. Se il posizionamento automatico non è abilitato, MCS genererà un errore durante la creazione del catalogo.

Raccolta immagini condivise di Azure

Utilizzare la Raccolta immagini condivise di Azure come repository di immagini pubblicate per macchine di cui è stato eseguito il provisioning con MCS in Azure. È possibile archiviare un’immagine pubblicata nella raccolta per accelerare la creazione e l’attivazione dei dischi del sistema operativo, migliorando i tempi di avvio del sistema e delle applicazioni per le macchine virtuali non persistenti. La Raccolta immagini condivise contiene i tre elementi seguenti:

  • Galleria: le immagini sono memorizzate qui. MCS crea una raccolta per ogni catalogo delle macchine.
  • Gallery Image Definition (Definizione dell’immagine in galleria): questa definizione include informazioni (tipo e stato del sistema operativo, regione di Azure) sull’immagine pubblicata. MCS crea una definizione di immagine per ogni immagine creata per il catalogo.
  • Gallery Image Version (Versione immagine in galleria): ciascuna immagine di una Raccolta immagini condivise può avere più versioni e ogni versione può avere più repliche in regioni diverse. Ogni replica è una copia completa dell’immagine pubblicata.

Nota:

La funzionalità Raccolta immagini condivise funziona solo con i dischi gestiti. Non è disponibile per i cataloghi delle macchine legacy.

Per ulteriori informazioni, vedere Panoramica della Raccolta immagini condivise di Azure.

Configurare la Raccolta immagini condivise

Utilizzare il comando New-ProvScheme per creare uno schema di provisioning con il supporto della Raccolta immagini condivise. Utilizzare il comando Set-ProvScheme per abilitare o disabilitare questa funzionalità per uno schema di provisioning e per modificare il rapporto di replica e i valori massimi della replica.

Sono state aggiunte tre proprietà personalizzate agli schemi di provisioning per supportare la funzionalità Raccolta immagini condivise:

UseSharedImageGallery

  • Definisce se utilizzare la Raccolta immagini condivise per archiviare le immagini pubblicate. Se impostata su True, l’immagine viene memorizzata come immagine della Raccolta immagini condivise, altrimenti viene memorizzata come snapshot.
  • I valori validi sono True e False.
  • Se la proprietà non è definita, il valore predefinito è False.

SharedImageGalleryReplicaRatio

  • Definisce il rapporto tra macchine e repliche di versioni di immagini della raccolta.
  • I valori validi sono numeri interi maggiori di 0.
  • Se la proprietà non è definita, vengono utilizzati i valori predefiniti. Il valore predefinito per i dischi del sistema operativo persistenti è 1.000 e il valore predefinito per i dischi del sistema operativo non persistenti è 40.

SharedImageGalleryReplicaMaximum

  • Definisce il numero massimo di repliche per ogni versione dell’immagine della raccolta.
  • I valori validi sono numeri interi maggiori di 0.
  • Se la proprietà non è definita, il valore predefinito è 10.
  • Azure attualmente supporta fino a 10 repliche per una singola versione dell’immagine della raccolta. Se la proprietà è impostata su un valore maggiore di quello supportato da Azure, MCS tenta di utilizzare il valore specificato. Azure genera un errore, che viene registrato da MCS, e lascia invariato il numero di repliche corrente.

Suggerimento:

Quando si utilizza la Raccolta immagini condivise per archiviare un’immagine pubblicata per i cataloghi di cui è stato eseguito il provisioning con MCS, MCS imposta il numero di repliche delle versioni delle immagini della raccolta in base al numero di macchine nel catalogo, al rapporto di replica e al numero massimo di repliche. Il conteggio delle repliche viene calcolato dividendo il numero di macchine nel catalogo per il rapporto di replica (arrotondando per eccesso al valore intero più vicino) e quindi limitando il valore al numero massimo di repliche. Ad esempio, con un rapporto di replica di 20 e un massimo di 5, per 0-20 macchine viene creata una replica, per 21-40 macchine vengono create 2 repliche, per 41-60 macchine vengono create 3 repliche, per 61-80 macchine vengono create 4 repliche e per 81 macchine o più vengono create 5 repliche.

Caso d’uso: aggiornamento del rapporto di replica e della replica massima della Raccolta immagini condivise

Il catalogo delle macchine esistente utilizza la Raccolta immagini condivise. Utilizzare il comando Set-ProvScheme per aggiornare le proprietà personalizzate per tutte le macchine esistenti nel catalogo e per tutte le macchine future:

Set-ProvScheme -ProvisioningSchemeName catalog-name -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="StorageType" Value="Standard_LRS"/> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="True"/> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="True"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaRatio" Value="30"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaMaximum" Value="20"/></CustomProperties>'
<!--NeedCopy-->

Caso d’uso: conversione di un catalogo di snapshot in un catalogo della Raccolta immagini condivise

Per questo caso d’uso:

  1. Eseguire Set-ProvScheme con il contrassegno UseSharedImageGallery impostato su True. Facoltativamente, includere le proprietà SharedImageGalleryReplicaRatio e SharedImageGalleryReplicaMaximum.
  2. Aggiornare il catalogo.
  3. Spegnere e riaccendere le macchine per forzare un aggiornamento.

Ad esempio:

Set-ProvScheme -ProvisioningSchemeName catalog-name -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="StorageType" Value="Standard_LRS"/> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="True"/> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="True"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaRatio" Value="30"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaMaximum" Value="20"/></CustomProperties>'
<!--NeedCopy-->

Suggerimento:

I parametri SharedImageGalleryReplicaRatio e SharedImageGalleryReplicaMaximum non sono richiesti. Al completamento del comando Set-ProvScheme, l’immagine della Raccolta immagini condivise non è stata ancora creata. Una volta configurato il catalogo per l’utilizzo della raccolta, la successiva operazione di aggiornamento del catalogo memorizza l’immagine pubblicata nella raccolta. Il comando di aggiornamento del catalogo crea la raccolta, l’immagine della raccolta e la versione dell’immagine. Lo spegnimento e la riaccensione delle macchine le aggiorna, a quel punto il conteggio delle repliche viene aggiornato, se appropriato. Da quel momento, tutte le macchine non persistenti esistenti vengono reimpostate utilizzando l’immagine della Raccolta immagini condivise e tutte le macchine di cui è stato eseguito il provisioning vengono create utilizzando l’immagine. La vecchia snapshot viene ripulita automaticamente entro poche ore.

Caso d’uso: conversione di un catalogo della Raccolta immagini condivise in un catalogo di snapshot

Per questo caso d’uso:

  1. Eseguire Set-ProvScheme con il contrassegno UseSharedImageGallery impostato su False o non definito.
  2. Aggiornare il catalogo.
  3. Spegnere e riaccendere le macchine per forzare un aggiornamento.

Ad esempio:

Set-ProvScheme -ProvisioningSchemeName catalog-name -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="StorageType" Value="Standard_LRS"/> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="True"/> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="False"/></CustomProperties>'
<!--NeedCopy-->

Suggerimento:

A differenza dell’aggiornamento da una snapshot a un catalogo della Raccolta immagini condivise, i dati personalizzati per ogni macchina non sono ancora aggiornati per riflettere le nuove proprietà personalizzate. Eseguire il comando seguente per visualizzare le proprietà personalizzate originali della Raccolta immagini condivise: Get-ProvVm -ProvisioningSchemeName catalog-name. Dopo il completamento del comando Set-ProvScheme, la snapshot dell’immagine non è stata ancora creata. Una volta configurato il catalogo per non utilizzare la raccolta, la successiva operazione di aggiornamento del catalogo memorizza l’immagine pubblicata come snapshot. Da quel momento, tutte le macchine non persistenti esistenti vengono reimpostate utilizzando la snapshot e tutte le macchine di cui è stato eseguito il provisioning vengono create dalla snapshot. Lo spegnimento e la riaccensione delle macchine le aggiorna, a quel punto i dati della macchina personalizzati vengono aggiornati per riflettere che UseSharedImageGallery è impostato su False. Le vecchie risorse della Raccolta immagini condivise (raccolta, immagine e versione) vengono ripulite automaticamente nel giro di poche ore.

Eseguire il provisioning delle macchine in zone di disponibilità specificate

È possibile effettuare il provisioning delle macchine in zone di disponibilità specifiche in ambienti Azure. È possibile raggiungere questo obiettivo utilizzando PowerShell.

Nota:

Se non viene specificata alcuna zona, MCS consente ad Azure di posizionare le macchine all’interno della regione. Se viene specificata più di una zona, MCS distribuisce in modo casuale le macchine nelle zone.

Configurazione delle zone di disponibilità tramite PowerShell

Utilizzando PowerShell, è possibile visualizzare gli articoli di inventario offerti utilizzando Get-Item. Ad esempio, per visualizzare l’offerta di servizi Eastern US region Standard_B1ls (Regione degli Stati Uniti orientali):

$serviceOffering = Get-Item -path "XDHyp:\Connections\my-connection-name\East US.region\serviceoffering.folder\Standard_B1ls.serviceoffering"
<!--NeedCopy-->

Per visualizzare le zone, utilizzare il parametro AdditionalData per l’elemento:

$serviceOffering.AdditionalData

Se le zone di disponibilità non sono specificate, non vi è alcun cambiamento nel modo in cui viene eseguito il provisioning delle macchine.

Per configurare le zone di disponibilità tramite PowerShell, utilizzare la proprietà personalizzata Zones (Zone) disponibile con l’operazione New-ProvScheme. La proprietà Zones (Zone) definisce un elenco di zone di disponibilità in cui eseguire il provisioning delle macchine. Tali zone possono includere una o più zone di disponibilità. Ad esempio, <Property xsi:type="StringProperty" Name="Zones" Value="1, 3"/> per le zone 1 e 3.

Utilizzare il comando Set-ProvScheme per aggiornare le zone per uno schema di provisioning.

Se viene fornita una zona non valida, lo schema di provisioning non viene aggiornato e viene visualizzato un messaggio di errore che fornisce istruzioni su come correggere il comando non valido.

Suggerimento:

Se si specifica una proprietà personalizzata non valida, lo schema di provisioning non viene aggiornato e viene visualizzato un messaggio di errore pertinente.

Disco temporaneo di Azure

I dischi temporanei di Azure consentono di riutilizzare il disco della cache o il disco temporaneo per archiviare il disco del sistema operativo per una macchina virtuale abilitata per Azure. Questa funzionalità è utile per gli ambienti Azure che richiedono un disco SSD a prestazioni più elevate rispetto a un disco rigido standard.

Nota:

I cataloghi persistenti non supportano i dischi del sistema operativo temporanei.

I dischi del sistema operativo temporanei richiedono che lo schema di provisioning utilizzi dischi gestiti e una Raccolta immagini condivise. Per ulteriori informazioni, vedere Raccolta immagini condivise di Azure.

Utilizzo di PowerShell per configurare un disco temporaneo

Per configurare un disco del sistema operativo temporaneo di Azure per un catalogo, utilizzare il parametro UseEphemeralOsDisk in Set-ProvScheme. Impostare il valore del parametro UseEphemeralOsDisk su true.

Nota:

Per utilizzare questa funzionalità, è necessario abilitare anche i parametri UseManagedDisks e UseSharedImageGallery.

Ad esempio:

Set-ProvScheme -ProvisioningSchemeName catalog-name -CustomProperties <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" />
<Property xsi:type="StringProperty" Name="UseEphemeralOsDisk" Value="true" />
</CustomProperties>'
<!--NeedCopy-->

Memorizzazione di un disco del sistema operativo temporaneo

È possibile memorizzare un disco del sistema operativo temporaneo sul disco temporaneo della macchina virtuale o su un disco di risorse. Questa funzionalità consente di utilizzare un disco del sistema operativo temporaneo con una macchina virtuale che non ha una cache o ha una cache insufficiente. Tali macchine virtuali dispongono di un disco temporaneo o di risorse per archiviare un disco del sistema operativo temporaneo, ad esempio Ddv4.

Considerare quanto segue:

  • Un disco temporaneo viene memorizzato nel disco della cache della macchina virtuale o nel disco temporaneo (risorsa) della macchina virtuale. Il disco della cache è preferibile rispetto al disco temporaneo, a meno che il disco della cache non sia abbastanza grande da ospitare i contenuti del disco del sistema operativo.
  • Per gli aggiornamenti, una nuova immagine più grande del disco della cache ma più piccola del disco temporaneo comporta la sostituzione del disco del sistema operativo temporaneo con il disco temporaneo della macchina virtuale.

Conservazione di una macchina virtuale di cui è stato eseguito il provisioning durante il ciclo di alimentazione

Scegliere se conservare una macchina virtuale di cui è stato eseguito il provisioning durante il ciclo di alimentazione. Utilizzare il parametro PowerShell New-ProvScheme CustomProperties. Questo parametro supporta una proprietà aggiuntiva, PersistVm, utilizzata per determinare se una macchina virtuale di cui è stato eseguito il provisioning persiste durante il ciclo di alimentazione. Impostare la proprietà PersistVm su true per fare in modo che una macchina virtuale persista quando è spenta oppure impostare la proprietà su false per assicurare che la macchina virtuale non venga preservata quando è spenta.

Nota:

La proprietà PersistVm si applica solo a uno schema di provisioning con le proprietà CleanOnBoot e UseWriteBackCache abilitato. Se la proprietà PersistVm non è specificata per le macchine virtuali non persistenti, vengono eliminate dall’ambiente Azure quando sono spente.

Nell’esempio seguente, il parametro New-ProvScheme CustomProperties imposta la proprietà PersistVmsu true:

<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="StorageType" Value="Standard_LRS" />
<Property xsi:type="StringProperty" Name="PersistWBC" Value="false" />
<Property xsi:type="StringProperty" Name="PersistOsDisk" Value="true" />
<Property xsi:type="StringProperty" Name="PersistVm" Value="true" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="demo-resourcegroup" />
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
</CustomProperties>
<!--NeedCopy-->

Nell’esempio seguente, il parametro New-ProvScheme CustomProperties conserva la cache di write-back impostando PersistVM su true:

 New-ProvScheme
 -AzureAdJoinType "None"
 -CleanOnBoot
 -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"UseManagedDisks`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"StorageType`" Value=`"Standard_LRS`" /><Property xsi:type=`"StringProperty`" Name=`"PersistWBC`" Value=`"false`" /><Property xsi:type=`"StringProperty`" Name=`"PersistOsDisk`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"PersistVm`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"ResourceGroups`" Value=`"demo-resourcegroup`" /><Property xsi:type=`"StringProperty`" Name=`"LicenseType`" Value=`"Windows_Client`" /></CustomProperties>"
 -HostingUnitName "demo"
 -IdentityPoolName "NonPersistent-MCSIO-PersistVM"
 -MasterImageVM "XDHyp:\HostingUnits\demo\image.folder\scale-test.resourcegroup\demo-snapshot.snapshot"
 -NetworkMapping @ {"0"="XDHyp:\HostingUnits\demo\virtualprivatecloud.folder\East US.region\virtualprivatecloud.folder\ji-test.resourcegroup\jitest-vnet.virtualprivatecloud\default.network"}
-ProvisioningSchemeName "NonPersistent-MCSIO-PersistVM"
 -ServiceOffering "XDHyp:\HostingUnits\demo\serviceoffering.folder\Standard_B2ms.serviceoffering" -UseWriteBackCache
 -WriteBackCacheDiskSize 127
 -WriteBackCacheMemorySize 256
 <!--NeedCopy-->

Suggerimento:

La proprietà PersistVm determina se conservare una macchina virtuale di cui è stato eseguito il provisioning. La proprietà PersistOsdisk determina se mantenere il disco del sistema operativo. Per preservare una macchina virtuale di cui è stato eseguito il provisioning, conservare innanzitutto il disco del sistema operativo. Non è possibile eliminare il disco del sistema operativo senza prima eliminare la macchina virtuale. È possibile utilizzare la proprietà PersistOsdisk senza specificare il parametroPersistVm.

Tipologie di archiviazione

Selezionare diversi tipi di archiviazione per le macchine virtuali negli ambienti di Azure che utilizzano MCS. Per le macchine virtuali di destinazione, MCS supporta:

  • Disco del sistema operativo: SSD premium, SSD o HDD
  • Disco della cache write-back: SSD premium, SSD o HDD

Quando si utilizzano questi tipi di archiviazione, considerare quanto segue:

  • Assicurarsi che la macchina virtuale supporti il tipo di archiviazione selezionato.
  • Se la configurazione utilizza un disco temporaneo di Azure, non è disponibile l’opzione per l’impostazione del disco della cache write-back.

Suggerimento:

StorageType è configurato per un tipo di sistema operativo e un account di archiviazione. WBCDiskStorageType è configurato per il tipo di archiviazione della cache write-back. Per un catalogo normale, è necessario StorageType. Se WBCDiskStorageType non è configurato, StorageType viene utilizzato come impostazione predefinita per WBCDiskStorageType.

Se WBCDiskStorageType non è configurato, StorageType viene utilizzato come impostazione predefinita per WBCDiskStorageType.

Configurazione dei tipi di archiviazione

Per configurare i tipi di archiviazione per le macchine virtuali, utilizzare il parametro StorageType in New-ProvScheme. Impostare il valore del parametro StorageType su uno dei tipi di archiviazione supportati.

Di seguito è riportato un set di esempio del parametro CustomProperties in uno schema di provisioning:

Set-ProvScheme -ProvisioningSchemeName catalog-name -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="StorageType" Value="Premium_LRS" />
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
</CustomProperties>'
<!--NeedCopy-->

Aggiornare le macchine di cui è stato eseguito il provisioning allo stato corrente dello schema di provisioning

Set-ProvScheme modifica lo schema di provisioning. Tuttavia, non influisce sulle macchine esistenti. Utilizzando il comando Request-ProvVMUpdate, è ora possibile applicare lo schema di provisioning corrente a una macchina o a un set di macchine esistente persistente o non persistente. Attualmente, l’aggiornamento delle proprietà supportato da questa funzionalità è ServiceOffering.

È possibile aggiornare:

  • Una singola macchina virtuale.
  • Un elenco di macchine virtuali specifiche o di tutte le macchine virtuali esistenti associate a un ID di schema di provisioning.
  • Un elenco di macchine virtuali specifiche o di tutte le macchine virtuali esistenti associate a un nome di uno schema di provisioning.

Per aggiornare le macchine virtuali esistenti:

  1. Verificare la configurazione delle macchine esistenti. Ad esempio,

    ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  2. Aggiornare lo schema di provisioning. Ad esempio,

    ProvisioningSchemeName “my-catalog” –ServiceOffering “Standard_D16_v3”
    <!--NeedCopy-->
    
  3. Richiedere l’aggiornamento per le macchine esistenti. Ad esempio:

    • Per aggiornare tutte le macchine esistenti:

       Request-ProvVMUpdate –ProvisioningSchemeName “my-catalog”
       Get-ProvVM | select VMName,
       ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
       <!--NeedCopy-->
      
    • Per aggiornare un elenco di macchine specifiche:

       Request-ProvVMUpdate -ProvisioningSchemeName "my-catalog" -VMName "vm1","vm2"
       Get-ProvVM | select VMName,
       ProvisioningSchemeVersion
       <!--NeedCopy-->
      
    • Per aggiornare le macchine in base all’input di Get-ProvVM:

       Get-ProvVM -ProvisioningSchemeName "my-catalog" | Request-ProvVMUpdate
       Get-ProvVM | select VMName,
       ProvisioningSchemeVersion
       <!--NeedCopy-->
      
  4. Riavviare le macchine. Alla successiva accensione, la ProvisioningSchemeVersion sulle macchine verrà aggiornata in modo che corrisponda alla versione corrente dello schema di provisioning e il campo ProvisioningSchemeUpdateRequested verrà cancellato.

Recuperare informazioni per le macchine virtuali di Azure, le snapshot, il disco del sistema operativo e la definizione delle immagini della raccolta

È possibile visualizzare informazioni per una macchina virtuale di Azure, inclusi il disco e il tipo del sistema operativo, la snapshot e la definizione delle immagini della raccolta. Queste informazioni vengono visualizzate per le risorse sull’immagine master quando viene assegnato un catalogo delle macchine. Utilizzare questa funzionalità per visualizzare e selezionare un’immagine Linux o Windows. Una proprietà PowerShell, TemplateIsWindowsTemplate, è stata aggiunta al parametro AdditionDatafield. Questo campo contiene informazioni specifiche di Azure: tipo di macchina virtuale, disco del sistema operativo, informazioni sulle immagini della raccolta e informazioni sul tipo di sistema operativo. L’impostazione di TemplateIsWindowsTemplate su True indica che il tipo di sistema operativo è Windows; l’impostazione di TemplateIsWindowsTemplate su False indica che il tipo di sistema operativo è Linux.

Suggerimento:

Le informazioni visualizzate dalla proprietà PowerShell TemplateIsWindowsTemplate derivano dall’API di Azure. In alcuni casi, questo campo potrebbe essere vuoto. Ad esempio, una snapshot di un disco di dati non contiene il campo TemplateIsWindowsTemplate perché il tipo di sistema operativo non può essere recuperato da una snapshot.

Ad esempio, impostare il parametro AdditionData della macchina virtuale di Azure su True per il tipo di sistema operativo Windows utilizzando PowerShell:

PS C:\Users\username> (get-item XDHyp:\HostingUnits\mynetwork\image.folder\username-dev-testing-rg.resourcegroup\username-dev-tsvda.vm).AdditionalData
Key Value
ServiceOfferingDescription Standard_B2ms
HardDiskSizeGB 127
ResourceGroupName FENGHUAJ-DEV-TESTING-RG
ServiceOfferingMemory 8192
ServiceOfferingCores 2
TemplateIsWindowsTemplate True
ServiceOfferingWithTemporaryDiskSizeInMb 16384
SupportedMachineGenerations Gen1,Gen2
<!--NeedCopy-->

Azure Marketplace

Citrix Virtual Apps and Desktops e Citrix DaaS supportano l’utilizzo di un’immagine master in Azure che contiene informazioni sul piano per creare un catalogo delle macchine. Per ulteriori informazioni, vedere Microsoft Azure Marketplace.

Suggerimento:

Alcune immagini che si trovano in Azure Marketplace, come l’immagine standard di Windows Server, non aggiungono informazioni sul piano. La funzione di Citrix DaaS è per le immagini a pagamento.

Assicurarsi che l’immagine creata nella Raccolta immagini condivise contenga informazioni sul piano di Azure

Utilizzare la procedura descritta in questa sezione per visualizzare le immagini della Raccolta immagini condivise in Citrix Studio. Facoltativamente, queste immagini possono essere utilizzate per un’immagine master. Per inserire l’immagine in una Raccolta immagini condivise, creare una definizione di immagine in una raccolta.

Raccolta immagini condivise di Azure Marketplace

Nella pagina Publishing options (Opzioni di pubblicazione), verificare le informazioni sul piano di acquisto.

I campi relativi alle informazioni sul piano di acquisto sono inizialmente vuoti. Compilare questi campi con le informazioni sul piano di acquisto utilizzate per l’immagine. La mancata compilazione delle informazioni sul piano di acquisto può causare la mancata riuscita del processo del catalogo delle macchine.

Verifica delle opzioni di pubblicazione dei VDA in Azure Marketplace

Dopo aver verificato le informazioni sul piano di acquisto, creare una versione immagine all’interno della definizione. Viene utilizzata come immagine master. Fare clic su Add version (Aggiungi versione):

Aggiunta della versione del VDA in Azure Marketplace

Nella sezione Version details (Dettagli versione), selezionare la snapshot dell’immagine o il disco gestito come origine:

Selezione delle opzioni VDA in Azure Marketplace

Informazioni sulle autorizzazioni di Azure

Questa sezione contiene le autorizzazioni minime e generali richieste per Azure.

Autorizzazioni minime

Le autorizzazioni minime offrono un migliore controllo della sicurezza. Tuttavia, le nuove funzionalità che richiedono autorizzazioni aggiuntive non funzioneranno se si utilizzano solo le autorizzazioni minime.

Creazione di una connessione host

Aggiungere una nuova connessione host utilizzando le informazioni ottenute da Azure.

"Microsoft.Network/virtualNetworks/read",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/disks/read",
<!--NeedCopy-->

Gestione dell’alimentazione delle macchine virtuali

Accendere o spegnere le istanze della macchina.

"Microsoft.Compute/virtualMachines/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
<!--NeedCopy-->

Creazione, aggiornamento o eliminazione di macchine virtuali

Creare un catalogo delle macchine, quindi aggiungere, eliminare, aggiornare le macchine ed eliminare il catalogo delle macchine.

Di seguito è riportato l’elenco delle autorizzazioni minime richieste quando l’immagine master è un disco gestito o le snapshot si trovano nella stessa area geografica della connessione di hosting.

"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
<!--NeedCopy-->

Sono necessarie le seguenti autorizzazioni aggiuntive basate su autorizzazioni minime per le seguenti funzionalità:

  • Se l’immagine master è un disco rigido virtuale (VHD) in un account di archiviazione situato nella stessa area geografica della connessione host:

     "Microsoft.Storage/storageAccounts/read",
     "Microsoft.Storage/storageAccounts/listKeys/action",
     <!--NeedCopy-->
    
  • Se l’immagine master è una ImageVersion della Raccolta immagini condivise:

     "Microsoft.Compute/galleries/read",
     "Microsoft.Compute/galleries/images/read",
     "Microsoft.Compute/galleries/images/versions/read",
     <!--NeedCopy-->
    
  • Se l’immagine master è un disco gestito. Le snapshot, o VHD, si trovano in un’area geografica diversa da quella della connessione di hosting:

     "Microsoft.Storage/storageAccounts/read",
     "Microsoft.Storage/storageAccounts/listKeys/action",
     "Microsoft.Storage/storageAccounts/write",
     "Microsoft.Storage/storageAccounts/delete",
     <!--NeedCopy-->
    
  • Se si utilizza un gruppo di risorse gestito da Citrix:

     "Microsoft.Resources/subscriptions/resourceGroups/write",
     "Microsoft.Resources/subscriptions/resourceGroups/delete",
     <!--NeedCopy-->
    
  • Se si colloca l’immagine master nella Raccolta immagini condivise:

     "Microsoft.Compute/galleries/write",
     "Microsoft.Compute/galleries/images/write",
     "Microsoft.Compute/galleries/images/versions/write",
     "Microsoft.Compute/galleries/read",
     "Microsoft.Compute/galleries/images/read",
     "Microsoft.Compute/galleries/images/versions/read",
     "Microsoft.Compute/galleries/delete",
     "Microsoft.Compute/galleries/images/delete",
     "Microsoft.Compute/galleries/images/versions/delete",
     <!--NeedCopy-->
    
  • Se si utilizza il supporto per gli host dedicati di Azure:

     "Microsoft.Compute/hostGroups/read",
     "Microsoft.Compute/hostGroups/write",
     "Microsoft.Compute/hostGroups/hosts/read",
     <!--NeedCopy-->
    
  • Se si utilizza la crittografia lato server (SSE) con le chiavi gestite dal cliente (CMK):

     "Microsoft.Compute/diskEncryptionSets/read",
     <!--NeedCopy-->
    
  • Se si distribuiscono macchine virtuali utilizzando modelli ARM (profilo macchina):

     "Microsoft.Resources/deployments/write",
     "Microsoft.Resources/deployments/operationstatuses/read",
     "Microsoft.Resources/deployments/read",
     "Microsoft.Resources/deployments/delete",
     <!--NeedCopy-->
    
  • Se si utilizza la specifica del modello di Azure come profilo macchina:

     "Microsoft.Resources/templateSpecs/read",
     "Microsoft.Resources/templateSpecs/versions/read",
     <!--NeedCopy-->
    

Creazione, aggiornamento ed eliminazione di macchine con disco non gestito

Di seguito è riportato l’elenco delle autorizzazioni minime richieste quando l’immagine master è un VHD e utilizza il gruppo di risorse come fornito dall’amministratore:

"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action"
<!--NeedCopy-->

Autorizzazione generale

Il ruolo di collaboratore ha accesso completo per gestire tutte le risorse. Questo set di autorizzazioni non impedisce di ottenere nuove funzionalità.

Il seguente set di autorizzazioni fornisce la migliore compatibilità in futuro, sebbene includa più autorizzazioni del necessario con il set di funzionalità corrente:

"Microsoft.Compute/diskEncryptionSets/read",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/galleries/delete",
"Microsoft.Compute/galleries/images/delete",
"Microsoft.Compute/galleries/images/read",
"Microsoft.Compute/galleries/images/versions/delete",
"Microsoft.Compute/galleries/images/versions/read",
"Microsoft.Compute/galleries/images/versions/write",
"Microsoft.Compute/galleries/images/write",
"Microsoft.Compute/galleries/read",
"Microsoft.Compute/galleries/write",
"Microsoft.Compute/hostGroups/hosts/read",
"Microsoft.Compute/hostGroups/read",
"Microsoft.Compute/hostGroups/write",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Resources/deployments/operationstatuses/read",
"Microsoft.Resources/deployments/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Resources/deployments/write",
"Microsoft.Resources/deployments/delete",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/subscriptions/resourceGroups/write",
"Microsoft.Resources/subscriptions/resourceGroups/delete",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Resources/templateSpecs/read",
"Microsoft.Resources/templateSpecs/versions/read",
<!--NeedCopy-->

Ulteriori informazioni