Connessione a Microsoft Azure
Nota:
Da luglio 2023, Microsoft ha rinominato Azure Active Directory (Azure AD) in Microsoft Entra ID. In questo documento, qualsiasi riferimento ad Azure Active Directory, Azure AD o AAD si riferisce ora a Microsoft Entra ID.
(/it-it/citrix-virtual-apps-desktops/2407/install-configure/connections.html) descrive le procedure guidate che creano una connessione. Le seguenti informazioni riguardano i dettagli specifici degli ambienti cloud di Azure Resource Manager.
Nota:
Prima di creare una connessione a Microsoft Azure, è necessario completare la configurazione dell’account Azure come posizione delle risorse. Vedere (/it-it/citrix-virtual-apps-desktops/2407/install-configure/install-prepare/azure.html).
Creare entità servizio e connessioni
Prima di creare le connessioni, è necessario configurare le entità servizio che le connessioni utilizzano per accedere alle risorse di Azure. È possibile creare una connessione in due modi:
- Creare un’entità servizio e una connessione insieme utilizzando Web Studio
- Creare una connessione utilizzando un’entità servizio creata in precedenza
Questa sezione mostra come completare le seguenti attività:
- Creare un’entità servizio e una connessione utilizzando Web Studio
- Creare un’entità servizio utilizzando PowerShell
- Ottenere il segreto dell’applicazione in Azure
- Creare una connessione utilizzando un’entità servizio esistente
Considerazioni
- Citrix® consiglia di utilizzare un Service Principal con ruolo di collaboratore. Tuttavia, consultare la sezione Autorizzazioni minime per ottenere l’elenco delle autorizzazioni minime.
- Quando si crea la prima connessione, Azure richiede di concedere le autorizzazioni necessarie. Per le connessioni future è comunque necessario autenticarsi, ma Azure memorizza il consenso precedente e non visualizza più la richiesta.
- Gli account utilizzati per l’autenticazione devono disporre delle autorizzazioni per assegnare ruoli nella sottoscrizione utilizzando Azure RBAC. Ad esempio, Proprietario, Amministratore del controllo degli accessi basato sui ruoli o Amministratore dell’accesso utente della sottoscrizione.
- L’account utilizzato per l’autenticazione deve essere un membro della directory della sottoscrizione. Esistono due tipi di account da considerare: ‘Aziendale o dell’istituto di istruzione’ e ‘account Microsoft personale’. Per i dettagli, consultare CTX219211.
-
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 guest a una delle risorse della directory. In questo caso, potrebbero avere una voce segnaposto nella directory che non concede loro le autorizzazioni necessarie e viene restituito un errore.
Rimediare a questo rimuovendo le risorse dalla directory e aggiungendole nuovamente in modo esplicito. Tuttavia, esercitare questa opzione con cautela, perché ha effetti indesiderati su altre risorse a cui l’account può accedere.
- Esiste un problema noto per cui alcuni account vengono rilevati come guest della directory quando in realtà sono membri. Configurazioni come questa si verificano tipicamente con account di directory più vecchi e consolidati. Soluzione alternativa: 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ò potenzialmente creare confusione se ci si aspetta 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 richieste. Ciò richiede una certa lungimiranza, ma Microsoft aiuta a specificare i valori corretti, con indicazioni sulla capacità dello spazio degli indirizzi.
Creare un service principal e una connessione utilizzando Web Studio
Importante:
Questa funzionalità non è ancora disponibile per le sottoscrizioni di Azure Cina.
Con Web Studio, è possibile creare sia un service principal che una connessione in un unico flusso di lavoro. I service principal concedono alle connessioni l’accesso alle risorse di Azure. Quando ci si autentica ad Azure per creare un service principal, un’applicazione viene registrata in Azure. Una chiave segreta (chiamata segreto client o segreto applicazione) viene creata per l’applicazione registrata. L’applicazione registrata (una connessione in questo caso) utilizza il segreto client per autenticarsi ad Azure AD.
Prima di iniziare, assicurarsi di aver soddisfatto i seguenti prerequisiti:
- Hai un account utente nel tenant di Azure Active Directory della tua sottoscrizione.
- Gli account utilizzati per l’autenticazione devono disporre delle autorizzazioni per assegnare ruoli nella sottoscrizione utilizzando Azure RBAC. Ad esempio, Proprietario, Amministratore del controllo degli accessi basato sui ruoli o Amministratore dell’accesso utente della sottoscrizione.
- Disponi delle autorizzazioni di amministratore globale, amministratore di applicazioni o sviluppatore di applicazioni per l’autenticazione. Queste autorizzazioni possono essere revocate dopo aver creato la connessione host. Per ulteriori informazioni sui ruoli, consulta Ruoli predefiniti di Azure AD.
Utilizzare la procedura guidata Aggiungi connessione e risorse per creare un’entità servizio e una connessione insieme:
- Nella pagina Connessione, selezionare Crea una nuova connessione, il tipo di connessione Microsoft Azure e l’ambiente Azure.
- Selezionare quali strumenti utilizzare per creare le macchine virtuali e quindi selezionare Avanti.
-
Nella pagina Dettagli connessione, immettere l’ID della sottoscrizione Azure e un nome per la connessione. Dopo aver immesso l’ID della sottoscrizione, il pulsante Crea nuovo viene abilitato.
Nota:
Il nome della connessione può contenere da 1 a 64 caratteri e non può contenere solo spazi vuoti né i caratteri
\/;:#.*?=<>|[]{}"'()'. - Selezionare Crea nuovo e quindi immettere il nome utente e la password dell’account Azure Active Directory.
- Selezionare Accedi.
- Selezionare Accetta per concedere a Citrix Virtual Apps and Desktops™ le autorizzazioni elencate. Citrix Virtual Apps and Desktops crea un’entità servizio che gli consente di gestire le risorse Azure per conto dell’utente specificato.
-
Dopo aver selezionato Accetta, si torna alla pagina Connessione della procedura guidata.
Nota:
Dopo aver eseguito l’autenticazione ad Azure, i pulsanti Crea nuovo e Usa esistente scompaiono. Viene visualizzato il testo Connessione riuscita, con un segno di spunta verde, che indica la corretta connessione alla sottoscrizione Azure.
-
Nella pagina Dettagli connessione, selezionare Avanti.
Nota:
Non è possibile procedere alla pagina successiva finché non ci si autentica correttamente ad Azure e si acconsente a concedere le autorizzazioni richieste.
-
Configurare le risorse per la connessione. Le risorse comprendono la regione e la rete.
- Nella pagina Regione, selezionare una regione.
- Nella pagina Rete, eseguire le seguenti operazioni:
- Digitare un nome risorsa di 1-64 caratteri per identificare la combinazione di regione e rete. Un nome risorsa non può contenere solo spazi vuoti né i caratteri
\/;:#.*?=<>|[]{}"'()'. - Selezionare una coppia rete virtuale/gruppo di risorse. (Se si dispone di più reti virtuali con lo stesso nome, l’associazione del nome della rete al gruppo di risorse fornisce combinazioni uniche.) Se la regione selezionata nella pagina precedente non dispone di reti virtuali, tornare a quella pagina e selezionare una regione che disponga di reti virtuali.
- Digitare un nome risorsa di 1-64 caratteri per identificare la combinazione di regione e rete. Un nome risorsa non può contenere solo spazi vuoti né i caratteri
- Nella pagina Riepilogo, visualizzare un riepilogo delle impostazioni e selezionare Fine per completare la configurazione.
Visualizzare l’ID applicazione
Dopo aver creato una connessione, è possibile visualizzare l’ID applicazione che la connessione utilizza per accedere alle risorse di Azure.
Nell’elenco Aggiungi connessione e risorse, selezionare la connessione per visualizzare i dettagli. La scheda Dettagli mostra l’ID applicazione.
Creare un’entità servizio utilizzando PowerShell
Per creare un’entità servizio utilizzando PowerShell, connettersi alla sottoscrizione di Azure Resource Manager e utilizzare i cmdlet di PowerShell forniti nelle sezioni seguenti.
Assicurarsi di avere a disposizione i seguenti elementi:
-
SubscriptionId: Azure Resource Manager
SubscriptionIDper la sottoscrizione in cui si desidera eseguire il provisioning dei VDA. - ActiveDirectoryID: Tenant ID dell’applicazione registrata con Azure AD.
- ApplicationName: Nome dell’applicazione da creare in Azure AD.
I passaggi dettagliati sono i seguenti:
Connettersi alla sottoscrizione di Azure Resource Manager.
`Connect-AzAccount`
-
Selezionare la sottoscrizione di Azure Resource Manager in cui si desidera creare l’entità servizio.
Get-AzSubscription -SubscriptionId $subscriptionId | Select-AzSubscription -
Creare l’applicazione nel tenant di AD.
$AzureADApplication = New-AzADApplication -DisplayName $ApplicationName -
Creare un’entità servizio.
New-AzADServicePrincipal -ApplicationId $AzureADApplication.AppId -
Assegnare un ruolo all’entità servizio.
New-AzRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $AzureADApplication.AppId –scope /subscriptions/$SubscriptionId -
Dalla finestra di output della console PowerShell, annotare l’ApplicationId. Questo ID viene fornito durante la creazione della connessione host.
Ottenere il segreto dell’applicazione in Azure
Per creare una connessione utilizzando un’entità servizio esistente, è necessario innanzitutto ottenere l’ID applicazione e il segreto dell’entità servizio nel portale di Azure.
I passaggi dettagliati sono i seguenti:
- Ottenere l’ID applicazione da Web Studio o utilizzando PowerShell.
- Accedere al portale di Azure.
- In Azure, selezionare Azure Active Directory.
- Da Registrazioni app in Azure AD, selezionare l’applicazione.
- Passare a Certificati e segreti.
- Fare clic su Segreti client.
Creare una connessione utilizzando un’entità servizio esistente
Se si dispone già di un’entità servizio, è possibile utilizzarla per creare una connessione utilizzando Web Studio.
Assicurarsi di avere questi elementi pronti:
- SubscriptionId
- ActiveDirectoryID (ID tenant)
- Application ID
-
Segreto dell’applicazione
Per maggiori informazioni, vedere Ottenere il segreto dell’applicazione.
- Data di scadenza del segreto
I passaggi dettagliati sono i seguenti:
Nella procedura guidata Aggiungi connessione e risorse:
-
Nella pagina Connessione, selezionare Crea una nuova connessione, il tipo di connessione Microsoft Azure e l’ambiente Azure.
-
Selezionare gli strumenti da utilizzare per creare le macchine virtuali e quindi selezionare Avanti.
-
Nella pagina Dettagli connessione, immettere l’ID della sottoscrizione 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
\/;:#.*?=<>|[]{}"'()'. -
Selezionare Usa esistente. Nella finestra Dettagli entità servizio esistente, immettere le seguenti impostazioni per l’entità servizio esistente. Dopo aver immesso i dettagli, il pulsante Salva viene abilitato. Selezionare Salva. Non è possibile procedere oltre questa pagina finché non si forniscono dettagli validi.
- ID sottoscrizione. Immettere l’ID della sottoscrizione Azure. Per ottenere l’ID della sottoscrizione, accedere al portale di Azure e passare a Sottoscrizioni > Panoramica.
- ID Active Directory (ID tenant). Immettere l’ID della directory (tenant) dell’applicazione registrata con Azure AD.
- ID applicazione. Immettere l’ID dell’applicazione (client) registrata con Azure AD.
- Segreto dell’applicazione. Creare una chiave segreta (segreto client). L’applicazione registrata utilizza la chiave per autenticarsi in Azure AD. Si consiglia di cambiare le chiavi regolarmente per motivi di sicurezza. Assicurarsi di salvare la chiave perché non sarà possibile recuperarla in seguito.
-
Data di scadenza del segreto. Immettere la data dopo la quale il segreto dell’applicazione scade. Viene visualizzata un’icona di avviso sulla specifica connessione host nel nodo Hosting a partire da 14 giorni 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ò superare i due anni da oggi.
- URL di autenticazione. Questo campo viene compilato automaticamente e non è modificabile.
- URL di gestione. Questo campo viene compilato automaticamente e non è modificabile.
-
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 suoi servizi.
- URL di autenticazione: https://login.microsoftonline.com/
- URL di gestione: https://management.azure.com/. Questo è un URL di richiesta per le API del provider di Azure Resource Manager. L’endpoint per la gestione dipende dall’ambiente. Ad esempio, per Azure Global, è https://management.azure.com/, e per Azure US Government, è https://management.usgovcloudapi.net/.
- Suffisso di archiviazione: https://*.core.windows.net./. Questo (*) è un carattere jolly per il suffisso di archiviazione. Ad esempio,
https://demo.table.core.windows.net/.
-
Dopo aver selezionato Salva, si torna alla pagina Dettagli connessione. Selezionare Avanti per passare alla pagina successiva.
-
Configurare le risorse per la connessione. Le risorse comprendono la regione e la rete.
- Nella pagina Regione, selezionare una regione.
- Nella pagina Rete, effettuare le seguenti operazioni:
- Digitare un nome risorsa di 1-64 caratteri per identificare la combinazione di regione e rete. Un nome risorsa non può contenere solo spazi vuoti né i caratteri
\/;:#.*?=<>|[]{}"'()'. - Selezionare una coppia rete virtuale/gruppo di risorse. (Se si dispone di più reti virtuali con lo stesso nome, l’associazione del nome della rete al gruppo di risorse fornisce combinazioni uniche.) Se la regione selezionata nella pagina precedente non dispone di reti virtuali, tornare a quella pagina e selezionare una regione che disponga di reti virtuali.
- Digitare un nome risorsa di 1-64 caratteri per identificare la combinazione di regione e rete. Un nome risorsa non può contenere solo spazi vuoti né i caratteri
-
Nella pagina Riepilogo, visualizzare un riepilogo delle impostazioni e selezionare Fine per completare la configurazione.
Gestire le entità servizio e le connessioni
Questa sezione descrive come gestire le entità servizio e le connessioni:
- Configurare le impostazioni di limitazione di Azure
- Abilitare la condivisione di immagini in Azure
- Aggiungere tenant condivisi a una connessione utilizzando Web Studio
- Implementare la condivisione di immagini utilizzando PowerShell
- Gestire il segreto dell’applicazione e la data di scadenza del segreto
Configurare le impostazioni di limitazione di Azure
Azure Resource Manager limita le richieste per sottoscrizioni e tenant, instradando il traffico in base a limiti definiti, adattati alle esigenze specifiche del provider. Per ulteriori informazioni, consultare Limitazione delle richieste di Resource Manager sul sito Microsoft. Esistono limiti per sottoscrizioni e tenant, dove la gestione di molte macchine può diventare problematica. Ad esempio, una sottoscrizione contenente molte macchine potrebbe riscontrare 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 interna di MCS per utilizzare una quota maggiore di richieste disponibili da Azure.
Si consigliano le seguenti impostazioni ottimali per l’accensione o lo spegnimento di VM in sottoscrizioni di grandi dimensioni, ad esempio quelle contenenti 1.000 VM:
- Operazioni simultanee assolute: 500
- Operazioni nuove massime al minuto: 2000
- Concorrenza massima delle operazioni: 500
Utilizzare Web Studio per configurare le operazioni Azure per una determinata connessione Azure:
- In Web Studio, selezionare Hosting nel riquadro sinistro.
- Selezionare la connessione.
- Nella procedura guidata Modifica connessione, selezionare Avanzate.
- Nella pagina Avanzate, utilizzare le opzioni di configurazione per specificare il numero di azioni simultanee e il numero massimo di nuove azioni al minuto, nonché eventuali opzioni di connessione aggiuntive.

MCS supporta 500 operazioni simultanee massime per impostazione predefinita. In alternativa, è possibile utilizzare l’SDK di PowerShell remoto per impostare il numero massimo di operazioni simultanee.
Utilizzare la proprietà PowerShell, MaximumConcurrentProvisioningOperations, per specificare il numero massimo di operazioni di provisioning Azure simultanee. Quando si utilizza questa proprietà, considerare:
- Il valore predefinito di
MaximumConcurrentProvisioningOperationsè 500. - Configurare il parametro
MaximumConcurrentProvisioningOperationsutilizzando il comando PowerShellSet-item.
Abilitare la condivisione di immagini in Azure
Quando si creano o si aggiornano cataloghi di macchine, è possibile selezionare immagini condivise da diversi tenant e sottoscrizioni Azure (condivise tramite la Azure Compute Gallery). Per abilitare la condivisione di immagini all’interno o tra tenant, è necessario effettuare le impostazioni necessarie in Azure:
Condividere immagini all’interno di un tenant (tra sottoscrizioni)
Per selezionare un’immagine in Azure Compute Gallery che appartiene a una sottoscrizione diversa, l’immagine deve essere condivisa con la service principal (SPN) di tale sottoscrizione.
Ad esempio, se esiste una service principal (SPN 1), configurata in Studio come:
Entità servizio: SPN 1
Sottoscrizione: sottoscrizione 1
Organizzazione: tenant 1
L’immagine si trova in una sottoscrizione diversa, configurata in Studio come:
Sottoscrizione: sottoscrizione 2
Organizzazione: tenant 1
Se si desidera condividere l’immagine nella sottoscrizione 2 con la sottoscrizione 1 (SPN 1), andare alla sottoscrizione 2 e condividere il gruppo di risorse con SPN1.
L’immagine deve essere condivisa con un’altra SPN utilizzando il controllo degli accessi in base al ruolo di Azure (RBAC). Azure RBAC è il sistema di autorizzazione utilizzato per gestire l’accesso alle risorse di Azure. Per ulteriori informazioni su Azure RBAC, consultare il documento Microsoft Che cos’è il controllo degli accessi in base al ruolo di Azure (Azure RBAC). Per concedere l’accesso, si assegnano ruoli alle service principal a livello di gruppo di risorse con il ruolo Collaboratore. Per assegnare i ruoli di Azure, è necessario disporre dell’autorizzazione Microsoft.Authorization/roleAssignments/write, come Amministratore accesso utenti o Proprietario. Per ulteriori informazioni sulla condivisione di immagini con un’altra SPN, consultare il documento Microsoft Assegnare ruoli di Azure usando il portale di Azure.
Per informazioni sulla selezione di un’immagine da una sottoscrizione diversa utilizzando i comandi PowerShell, Selezionare un’immagine da una sottoscrizione diversa.
Condividere immagini tra tenant
Per condividere immagini tra tenant con Azure Compute Gallery, creare una registrazione dell’applicazione.
Ad esempio, se ci sono due tenant (Tenant 1 e Tenant 2) e si desidera condividere la galleria di immagini con Tenant 1, allora:
-
Creare una registrazione dell’applicazione per Tenant 1. Per maggiori informazioni, vedere Creare la registrazione dell’app.
-
Concedere a Tenant 2 l’accesso all’applicazione richiedendo un accesso tramite un browser. Sostituire
Tenant2 IDcon l’ID tenant di Tenant 1. SostituireApplication (client) IDcon l’ID applicazione della registrazione dell’applicazione creata. Dopo aver effettuato le sostituzioni, incollare l’URL in un browser e seguire le istruzioni di accesso per accedere a Tenant 2. Ad esempio:https://login.microsoftonline.com/<Tenant 2 ID>/oauth2/authorize?client_id=<Application (client) ID>&response_type=code&redirect_uri=https%3A%2F%2Fwww.microsoft.com%2F <!--NeedCopy-->Per maggiori informazioni, vedere Concedere l’accesso a Tenant 2.
-
Concedere all’applicazione l’accesso al gruppo di risorse di Tenant 2. Accedere come Tenant 2 e concedere alla registrazione dell’applicazione l’accesso al gruppo di risorse che contiene l’immagine della galleria. Per maggiori informazioni, vedere Autenticare le richieste tra tenant.
Per creare un catalogo utilizzando un’immagine da un tenant diverso tramite comandi PowerShell:
- Aggiornare le proprietà personalizzate della connessione di hosting con gli ID tenant condivisi.
- Selezionare un’immagine da un tenant diverso.
Aggiungere tenant condivisi a una connessione tramite Web Studio
Quando si creano o si aggiornano cataloghi di macchine in Web Studio, è possibile selezionare immagini condivise da diversi tenant e sottoscrizioni Azure (condivise tramite Azure Compute Gallery). La funzionalità richiede di fornire informazioni sul tenant e sulla sottoscrizione condivisi per le connessioni host associate.
Nota:
Assicurarsi di aver configurato le impostazioni necessarie in Azure per abilitare la condivisione di immagini tra tenant. Per maggiori informazioni, vedere Condividere immagini tra tenant.
Completare i seguenti passaggi per una connessione:
- In Web Studio, selezionare Hosting nel riquadro sinistro.
-
Selezionare la connessione e quindi selezionare Modifica connessione nella barra delle azioni.

-
In Tenant condivisi, eseguire le operazioni seguenti:
- Fornire l’ID applicazione e il segreto applicazione associati alla sottoscrizione della connessione. Citrix Virtual Apps and Desktops utilizza queste informazioni per autenticarsi ad Azure AD.
- Aggiungere tenant e sottoscrizioni che condividono la Azure Compute Gallery con la sottoscrizione della connessione. È possibile aggiungere fino a 8 tenant condivisi e 8 sottoscrizioni per ogni tenant.
- Al termine, selezionare Applica per applicare le modifiche apportate e mantenere la finestra aperta, oppure selezionare OK per applicare le modifiche e chiudere la finestra.
Implementare la condivisione di immagini tramite PowerShell
Questa sezione illustra i processi di condivisione delle immagini tramite PowerShell:
- Selezionare un’immagine da una sottoscrizione diversa
- Aggiornare le proprietà personalizzate della connessione di hosting con gli ID tenant condivisi
- Selezionare un’immagine da un tenant diverso
Selezionare un’immagine da una sottoscrizione diversa
È possibile selezionare un’immagine in Azure Compute Gallery che appartiene a una sottoscrizione condivisa diversa nello stesso tenant Azure per creare e aggiornare i cataloghi MCS utilizzando i comandi PowerShell.
- Nella cartella radice dell’unità di hosting, Citrix crea una nuova cartella di sottoscrizione condivisa denominata
sharedsubscription. -
Elencare tutte le sottoscrizioni condivise in un tenant.
Get-ChildItem -Path "XDhyp:\HostingUnits\azres\sharedsubscription.folder" <!--NeedCopy--> -
Selezionare una sottoscrizione condivisa, quindi elencare tutti i gruppi di risorse condivise di tale sottoscrizione condivisa.
Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription" <!--NeedCopy--> -
Selezionare un gruppo di risorse, quindi elencare tutte le gallerie di tale gruppo di risorse.
Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\ xyz.resourcegroup" <!--NeedCopy--> -
Selezionare una galleria, quindi elencare tutte le definizioni di immagine di tale galleria.
Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\testgallery.gallery" <!--NeedCopy--> -
Selezionare una definizione di immagine, quindi elencare tutte le versioni di immagine di tale definizione di immagine.
Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\sigtestdef.imagedefinition" <!--NeedCopy--> -
Creare e aggiornare un catalogo MCS utilizzando i seguenti elementi:
- Gruppo di risorse
- Galleria
- Definizione di immagine della galleria
- Versione di immagine della galleria
Per informazioni su come creare un catalogo utilizzando l’SDK di PowerShell remoto, vedere https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.
Aggiornare le proprietà personalizzate della connessione di hosting con ID tenant condivisi
Utilizzare Set-Item per aggiornare le proprietà personalizzate della connessione di hosting con ID tenant e ID sottoscrizione condivisi. Aggiungere una proprietà SharedTenants in CustomProperties. Il formato di Shared Tenants è:
[{"Tenant":"94367291-119e-457c-bc10-25337231f7bd","Subscriptions":["7bb42f40-8d7f-4230-a920-be2781f6d5d9"]},{"Tenant":"50e83564-c4e5-4209-b43d-815c45659564","Subscriptions":["06ab8944-6a88-47ee-a975-43dd491a37d0"]}]
<!--NeedCopy-->
Ad esempio:
Set-Item -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`">
<Property xsi:type=`"StringProperty`" Name=`"SubscriptionId`" Value=`"123`" />
<Property xsi:type=`"StringProperty`" Name=`"ManagementEndpoint`" Value=`"https://management.azure.com/`" />
<Property xsi:type=`"StringProperty`" Name=`"AuthenticationAuthority`" Value=`"https://login.microsoftonline.com/`" />
<Property xsi:type=`"StringProperty`" Name=`"StorageSuffix`" Value=`"core.windows.net`" />
<Property xsi:type=`"StringProperty`" Name=`"TenantId`" Value=`"123abc`" />
<Property xsi:type=`"StringProperty`" Name=`"SharedTenants`" Value=`"`[ { 'Tenant':'123abc', 'Subscriptions':['345', '567'] } ]`"` />
</CustomProperties>"
-LiteralPath @("XDHyp:\Connections\aazure") -PassThru -UserName "advc345" -SecurePassword
$psd
<!--NeedCopy-->
Nota:
È possibile aggiungere più di un tenant. Ogni tenant può avere più di una sottoscrizione.
Selezionare un’immagine da un tenant diverso
È possibile selezionare un’immagine nella Azure Compute Gallery che appartiene a un tenant Azure diverso per creare e aggiornare cataloghi MCS utilizzando i comandi PowerShell.
- Nella cartella radice dell’unità di hosting, Citrix crea una nuova cartella di sottoscrizione condivisa denominata
sharedsubscription. -
Elencare tutte le sottoscrizioni condivise.
Get-ChildItem XDHyp:\HostingUnits\azres\sharedsubscription.folder <!--NeedCopy--> -
Selezionare una sottoscrizione condivisa, quindi elencare tutti i gruppi di risorse condivise di tale sottoscrizione condivisa.
Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription <!--NeedCopy--> -
Selezionare un gruppo di risorse, quindi elencare tutte le gallerie di tale gruppo di risorse.
Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\ xyz.resourcegroup <!--NeedCopy--> -
Selezionare una galleria, quindi elencare tutte le definizioni di immagine di tale galleria.
Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\efg.gallery <!--NeedCopy--> -
Selezionare una definizione di immagine, quindi elencare tutte le versioni di immagine di tale definizione di immagine.
Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\efg.gallery\hij.imagedefinition <!--NeedCopy--> -
Creare e aggiornare un catalogo MCS utilizzando i seguenti elementi:
- Gruppo di risorse
- Galleria
- Definizione di immagine della galleria
- Versione di immagine della galleria
Per informazioni su come creare un catalogo utilizzando l’SDK Remote PowerShell, vedere https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.
Gestire il segreto dell’applicazione e la data di scadenza del segreto
Assicurarsi di modificare il segreto dell’applicazione per una connessione prima che il segreto scada. Viene visualizzata un’icona di avviso sulla specifica connessione host nel nodo Hosting a partire da 14 giorni prima della scadenza della chiave segreta. Tuttavia, se la chiave segreta scade, si ricevono errori.
Creare un segreto applicazione in Azure
È possibile creare un segreto applicazione per una connessione tramite il portale di Azure.
- Selezionare Azure Active Directory.
- Da Registrazioni app in Azure AD, selezionare l’applicazione.
- Andare a Certificati e segreti.
- Fare clic su Segreti client > Nuovo segreto client.
-
Fornire una descrizione del segreto e specificare una durata. Al termine, selezionare Aggiungi.
Nota:
Assicurarsi di salvare il segreto client perché non sarà possibile recuperarlo in seguito.
- Copiare il valore del segreto client e la data di scadenza.
- In Web Studio, modificare la connessione corrispondente e sostituire il contenuto nei campi Segreto applicazione e Data di scadenza del segreto con i valori copiati.
Modificare la data di scadenza del segreto
È possibile utilizzare Web Studio per aggiungere o modificare la data di scadenza per il segreto applicazione in uso.
Nota:
Viene visualizzata un’icona di avviso sulla connessione host specifica nel nodo Hosting a partire da 14 giorni prima della scadenza della chiave segreta.
- Nella procedura guidata Aggiungi connessione e risorse, fare clic con il pulsante destro del mouse su una connessione e fare clic su Modifica connessione.
- Nella pagina Proprietà connessione, fare clic su Data di scadenza del segreto per aggiungere o modificare la data di scadenza del segreto dell’applicazione in uso.
Autorizzazioni Azure richieste
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 funzionano a causa dell’utilizzo delle sole 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",
"Microsoft.Resources/providers/read",
"Microsoft.Resources/subscriptions/locations/read",
"Microsoft.Resources/tenants/read"
<!--NeedCopy-->
Gestione dell’alimentazione delle VM
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",
"Microsoft.Insights/diagnosticsettings/delete",
"Microsoft.Insights/diagnosticsettings/read",
"Microsoft.Insights/diagnosticsettings/write",
<!--NeedCopy-->
Creazione, aggiornamento o eliminazione di VM
Creare un catalogo di macchine, quindi aggiungere, eliminare, aggiornare le macchine ed eliminare il catalogo di macchine.
Di seguito è riportato l’elenco delle autorizzazioni minime richieste quando l’immagine master è un disco gestito o le istantanee si trovano nella stessa regione della connessione di hosting.
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Resources/tags/read",
"Microsoft.Resources/tags/write",
"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.Compute/locations/publishers/artifacttypes/types/versions/read",
"Microsoft.Compute/skus/read",
"Microsoft.Compute/virtualMachines/extensions/read",
"Microsoft.Compute/virtualMachines/extensions/write",
"Microsoft.Features/providers/features/read",
"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",
"Microsoft.Network/locations/usages/read",
<!--NeedCopy-->
Sono necessarie le seguenti autorizzazioni aggiuntive basate sulle autorizzazioni minime per le seguenti funzionalità:
-
Se l’immagine master è un VHD in un account di archiviazione situato nella stessa regione della connessione di hosting:
"Microsoft.Storage/storageAccounts/read", "Microsoft.Storage/storageAccounts/listKeys/action", <!--NeedCopy--> -
Se l’immagine master è una ImageVersion dalla Shared Image Gallery:
"Microsoft.Compute/galleries/read", "Microsoft.Compute/galleries/images/read", "Microsoft.Compute/galleries/images/versions/read", <!--NeedCopy--> -
Se l’immagine master è un disco gestito, gli snapshot o il VHD si trovano in una regione diversa da quella della connessione di hosting:
"Microsoft.Storage/storageAccounts/read", "Microsoft.Storage/storageAccounts/listKeys/action", "Microsoft.Storage/storageAccounts/write", "Microsoft.Storage/storageAccounts/delete", "Microsoft.Storage/checknameavailability/read", "Microsoft.Storage/locations/usages/read", "Microsoft.Storage/skus/read", <!--NeedCopy--> -
Se si utilizza un gruppo di risorse gestito da Citrix:
"Microsoft.Resources/subscriptions/resourceGroups/write", "Microsoft.Resources/subscriptions/resourceGroups/delete", <!--NeedCopy--> -
Se si inserisce l’immagine master in Azure Compute Gallery (precedentemente Shared Image Gallery) in un tenant o una sottoscrizione condivisi:
"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", "Microsoft.Resources/subscriptions/read", <!--NeedCopy--> -
Se si utilizza il supporto host dedicato 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 chiavi gestite dal cliente (CMK):
"Microsoft.Compute/diskEncryptionSets/read", <!--NeedCopy--> -
Se si distribuiscono VM utilizzando i modelli ARM (profilo macchina):
"Microsoft.Resources/deployments/write", "Microsoft.Resources/deployments/operationstatuses/read", "Microsoft.Resources/deployments/read", "Microsoft.Resources/deployments/delete", "Microsoft.Insights/DataCollectionRuleAssociations/Read", "Microsoft.Insights/dataCollectionRules/read", <!--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 è VHD e si utilizza il gruppo di risorse fornito dall’amministratore:
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/tags/read",
"Microsoft.Resources/tags/write",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Storage/checknameavailability/read",
"Microsoft.Storage/locations/usages/read",
"Microsoft.Storage/skus/read",
"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",
"Microsoft.Network/locations/usages/read",
<!--NeedCopy-->
Autorizzazione generale
Il ruolo Collaboratore ha accesso completo per gestire tutte le risorse. Questo set di autorizzazioni non impedisce di ottenere nuove funzionalità.
Il seguente set di autorizzazioni offre la migliore compatibilità futura, sebbene includa più autorizzazioni di quelle necessarie con il set di funzionalità attuale:
"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.Compute/locations/publishers/artifacttypes/types/versions/read",
"Microsoft.Compute/skus/read",
"Microsoft.Compute/virtualMachines/extensions/read",
"Microsoft.Compute/virtualMachines/extensions/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.Network/locations/usages/read",
"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.Resources/providers/read",
"Microsoft.Resources/subscriptions/locations/read",
"Microsoft.Resources/subscriptions/read",
"Microsoft.Resources/tags/read",
"Microsoft.Resources/tags/write",
"Microsoft.Resources/tenants/read",
"Microsoft.Resources/templateSpecs/read",
"Microsoft.Resources/templateSpecs/versions/read",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Storage/checknameavailability/read",
"Microsoft.Storage/locations/usages/read",
"Microsoft.Storage/skus/read",
"Microsoft.Features/providers/features/read",
"Microsoft.Insights/DataCollectionRuleAssociations/Read",
"Microsoft.Insights/dataCollectionRules/read",
"Microsoft.Insights/diagnosticsettings/delete",
"Microsoft.Insights/diagnosticsettings/read",
"Microsoft.Insights/diagnosticsettings/write",
<!--NeedCopy-->
Convalida delle autorizzazioni sulla connessione host
È possibile convalidare le autorizzazioni su una connessione host per eseguire attività relative alla creazione e alla gestione dei cataloghi di macchine MCS. Questa implementazione consente di individuare in anticipo le autorizzazioni mancanti necessarie per diversi scenari, come la creazione, l’eliminazione e l’aggiornamento delle VM, la gestione dell’alimentazione delle VM, in modo da evitare blocchi in momenti critici.
È possibile convalidare le autorizzazioni su una connessione host utilizzando il comando PowerShell Test-HypHypervisorConnection. Il risultato del comando viene acquisito come un elenco in cui ogni elemento dell’elenco è suddiviso in tre sezioni.
- Categoria: L’azione o l’attività che un utente può eseguire per creare e gestire un catalogo di macchine MCS.
- Azione correttiva: Il passaggio che un amministratore deve eseguire per risolvere una discrepanza di autorizzazioni mancanti degli utenti.
- Autorizzazione mancante: L’elenco delle autorizzazioni mancanti per una categoria.
Per convalidare le autorizzazioni, eseguire le seguenti operazioni:
- Creare una connessione host ad Azure.
- Aprire una finestra PowerShell dall’host del Delivery Controller™.
- Eseguire
asnp citrix*per caricare i moduli PowerShell specifici di Citrix. -
Eseguire il seguente comando per verificare se si dispone delle autorizzazioni necessarie per testare una connessione.
Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AzureCon" <!--NeedCopy-->Autorizzazione a livello di ruolo richiesta per l’SPN:
- Microsoft.Authorization/roleDefinitions/read (a livello di sottoscrizione o a livello di gruppo di risorse se viene fornito il gruppo di risorse)
- Microsoft.Authorization/roleAssignments/read (a livello di sottoscrizione o a livello di gruppo di risorse se viene fornito il gruppo di risorse)
Autorizzazioni a livello di API richieste per l’SPN:
Microsoft.Graph:
- Application.Read.All
- Directory.Read.All
- ServicePrincipalEndpoint.Read.All
-
Dopo aver aggiunto le autorizzazioni mancanti necessarie per cercare le autorizzazioni, eseguire il seguente comando per verificare se si dispone delle autorizzazioni nelle varie categorie.
Esempio:
Per testare una connessione a livello di sottoscrizione con un livello di autorizzazione più elevato richiesto:
Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\ AzureCon -SecurePassword $password -UserName 922e65d5-38ae-4cf5-xxxx-xxxxxxxxx <!--NeedCopy-->Esempio:
Per testare una connessione a livello di gruppo di risorse senza un livello elevato di autorizzazione:
Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\testles -CustomProperties $customProperties | Format-List <!--NeedCopy-->Nota:
Il parametro CustomProperties viene utilizzato per fornire il livello del gruppo di risorse perché il gruppo di risorse è un’informazione specifica della connessione.
Esempio:
Per testare una connessione con il livello di autorizzazione più elevato a livello di gruppo di risorse:
Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\testles -SecurePassword $password -UserName 922e65d5-38ae-4cf5-832b-54122196b7dd -CustomProperties $customProperties <!--NeedCopy-->
Per informazioni sulle autorizzazioni, vedere Autorizzazioni Azure richieste.
Passi successivi
- Se si è nel processo di distribuzione iniziale, vedere Creare cataloghi di macchine
- Per informazioni specifiche di Azure, vedere Creare un catalogo Microsoft Azure