Citrix DaaS™

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.

Creare e gestire connessioni e risorse 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 Ambienti di virtualizzazione di Microsoft Azure Resource Manager.

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 Studio
  • Creare una connessione utilizzando un’entità servizio creata in precedenza

Questa sezione mostra come completare le seguenti attività:

Considerazioni

Prima di iniziare, tenere presente le seguenti considerazioni:

  • Citrix® consiglia di utilizzare le entità servizio con un 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 nuovamente la richiesta.
  • Dopo la prima autenticazione con Azure, un’applicazione multi-tenant di proprietà di Citrix (ID: 08b70dc3-76c5-4611-ba7d-3312ba36cb2b) viene invitata nella directory di Azure Active Directory per conto dell’account autenticato.
  • 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: “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 guest a una delle risorse della directory. In questo caso, potrebbe esserci una voce segnaposto nella directory che non concede le autorizzazioni necessarie e viene restituito un errore.

    Risolvere questo problema rimuovendo le risorse dalla directory e aggiungendole nuovamente in modo esplicito. Tuttavia, esercitare questa opzione con cautela, poiché ha effetti indesiderati su altre risorse a cui questo account può accedere.

  • Esiste un problema noto per cui alcuni account vengono rilevati come guest della directory quando sono effettivamente membri. Configurazioni come questa si verificano in genere 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 di 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’entità servizio e una connessione utilizzando Studio

Importante:

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

Con Studio, è possibile creare sia un’entità servizio che una connessione in un unico flusso di lavoro. Le entità servizio concedono alle connessioni l’accesso alle risorse di Azure. Quando ci si autentica in Azure per creare un’entità servizio, un’applicazione viene registrata in Azure. Viene creata una chiave segreta (denominata segreto client o segreto applicazione) per l’applicazione registrata. L’applicazione registrata (una connessione in questo caso) utilizza il segreto client per autenticarsi in Azure AD.

Prima di iniziare, assicurarsi di aver soddisfatto i seguenti prerequisiti:

  • Si dispone di un account utente nel tenant di Azure Active Directory della 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.
  • Si dispone delle autorizzazioni di amministratore globale, amministratore di applicazioni o sviluppatore di applicazioni per l’autenticazione. Le autorizzazioni possono essere revocate dopo aver creato una connessione host. Per ulteriori informazioni sui ruoli, vedere Ruoli predefiniti di Azure AD.

Utilizzare la procedura guidataAggiungi connessione e risorseper creare un’entità servizio e una connessione insieme:

  1. Nella paginaConnessione, selezionareCrea una nuova connessione, il tipo di connessioneMicrosoft Azuree l’ambiente Azure.

  2. Selezionare gli strumenti da utilizzare per creare le macchine virtuali e quindi selezionareAvanti.

  3. Nella paginaDettagli connessione, selezionare la modalità di autenticazioneSegreto client applicazione, quindi creare un’entità servizio e impostare il nome della connessione come segue:

    1. Immettere l’ID della sottoscrizione di Azure e un nome per la connessione. Dopo aver immesso l’ID della sottoscrizione, il pulsanteCrea nuovoviene abilitato.

    Nota:

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

    1. SelezionareCrea nuovoe quindi immettere il nome utente e la password dell’account Azure Active Directory.
    2. SelezionareAccedi.
    3. SelezionareAccettaper concedere a Citrix DaaS™ le autorizzazioni elencate. Azure crea un’entità servizio che consente a Citrix DaaS di gestire le risorse di Azure per conto dell’utente specificato.
    > **Nota:**
    >
    > **Citrix DaaS richiede le seguenti autorizzazioni per creare una nuova entità servizio:**
    >
    > -  **Accesso alla gestione dei servizi Azure come utente**
    > -  **Lettura e scrittura di applicazioni**
    > -  **Accesso e lettura del profilo**
    > -  **Mantenimento dell'accesso ai dati a cui è stato concesso l'accesso**
    
    1. Dopo aver selezionatoAccetta, si viene reindirizzati alla paginaDettagli connessione.

      Nota:

      Dopo aver eseguito correttamente l’autenticazione in Azure, i pulsantiCrea nuovoeUsa esistentescompaiono. Viene visualizzato il testoConnessione riuscitacon un segno di spunta verde, che indica la connessione riuscita alla sottoscrizione di Azure.

    2. Per instradare le richieste API ad Azure tramite i Citrix Cloud™ Connectors, selezionare la casella di controlloInstrada il traffico tramite i Citrix Cloud Connectors.Quando i Cloud Connectors non hanno accesso diretto a Internet, è possibile selezionareUsa il proxy configurato sui Citrix Cloud Connectorsper garantire che la connettività di Azure funzioni correttamente tramite i Citrix Cloud Connectors.

      In alternativa, è possibile abilitare questa funzionalità utilizzando PowerShell. Per ulteriori informazioni, vedere Creare un ambiente sicuro per il traffico gestito da Azure.

      Nota:

      Questa opzione è disponibile solo quando sono presenti Citrix Cloud Connectors attivi nella distribuzione. Attualmente, questa funzionalità non è supportata per le Connector Appliances.

    3. SelezionareAvanti.

    Nota:

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

  4. Configurare le risorse per la connessione come segue:

    • Nella paginaRegione, selezionare una regione.
    • Nella paginaRete, eseguire le seguenti operazioni:
      • Digitare un nome di risorsa di 1-64 caratteri per aiutare a identificare la combinazione di regione e rete. Un nome di risorsa non può contenere solo spazi vuoti o 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 uniche.) Se la regione selezionata nella pagina precedente non dispone di reti virtuali, tornare a quella pagina e selezionare una regione che dispone di reti virtuali.
  5. Nella paginaRiepilogo,visualizzare un riepilogo delle impostazioni e selezionareFineper completare la configurazione.

Visualizzare l’ID dell’applicazione

Dopo aver creato una connessione, è possibile visualizzare l’ID dell’applicazione che la connessione utilizza per accedere alle risorse di Azure.

Nell’elencoConnessione e risorse, selezionare la connessione per visualizzare i dettagli. La schedaDettaglimostra l’ID dell’applicazione.

ID applicazione nella pagina Aggiungi connessione e risorse

Creare un’entità servizio utilizzando PowerShell

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

Assicurarsi di avere a disposizione i seguenti elementi:

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

I passaggi dettagliati sono i seguenti:

  1. Connettersi alla sottoscrizione di Azure Resource Manager.

    Connect-AzAccount

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

    Get-AzSubscription -SubscriptionId $subscriptionId | Select-AzSubscription

  3. Creare l’applicazione nel 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, annotare l’ApplicationId. Tale 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 prima ottenere l’ID dell’applicazione e il segreto dell’entità servizio nel portale di Azure.

I passaggi dettagliati sono i seguenti:

  1. Ottenere l’ID applicazioneda Studio o utilizzando PowerShell.
  2. Accedere al portale di Azure.
  3. In Azure, selezionareAzure Active Directory.
  4. DaRegistrazioni appin Azure AD, selezionare l’applicazione.
  5. Andare aCertificati e segreti.
  6. Fare clic suSegreti client.

Segreto dell'applicazione nel portale di Azure

Creare una connessione utilizzando un’entità servizio esistente

Se si dispone già di un’entità servizio, è possibile utilizzarla per creare una connessione utilizzando Studio.

Assicurarsi di avere a disposizione i seguenti elementi:

  • SubscriptionId
  • ActiveDirectoryID (ID tenant)
  • ID applicazione
  • Segreto dell’applicazione

    Per ulteriori informazioni, vedere Ottenere il segreto dell’applicazione.

  • Data di scadenza del segreto

I passaggi dettagliati sono i seguenti:

Nella procedura guidataAggiungi connessione e risorse:

  1. Nella paginaConnessione, selezionareCrea una nuova connessione, il tipo di connessioneMicrosoft Azuree l’ambiente Azure.

  2. Selezionare gli strumenti da utilizzare per creare le macchine virtuali e quindi selezionareAvanti.

  3. Nella paginaDettagli connessione, selezionare la modalità di autenticazioneSegreto client applicazione, quindi immettere l’ID della 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 o i caratteri \/;:#.*?=<>|[]{}"'()'.

  4. SelezionareUsa esistente. Nella finestraDettagli entità servizio esistente, immettere le seguenti impostazioni per l’entità servizio esistente. Dopo aver immesso i dettagli, il pulsanteSalvaviene abilitato. SelezionareSalva. Non è possibile procedere oltre questa pagina finché non si forniscono dettagli validi.

    • ID sottoscrizione.Immettere l’ID della sottoscrizione di Azure. Per ottenere l’ID della sottoscrizione, accedere al portale di Azure e passare aSottoscrizioni > 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) dell’applicazione registrata con Azure AD.
    • Segreto dell’applicazione. Immettere una chiave segreta (segreto client). L’applicazione registrata utilizza la chiave per autenticarsi in Azure AD. Si consiglia di modificare regolarmente le chiavi 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. Si riceve un avviso sulla console 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ò essere superiore a due anni da oggi.

    • URL di autenticazione. Questo campo viene popolato automaticamente e non è modificabile.
    • URL di gestione. Questo campo viene popolato automaticamente e non è modificabile.
    • Suffisso di archiviazione. Questo campo viene popolato automaticamente e non è modificabile.
    • Endpoint di archiviazione BLOB di Azure per caricare o scaricare dischi o snapshot. Questo campo viene popolato automaticamente e non è modificabile.
    • Servizio Key Vault. Questo campo viene popolato automaticamente e non è modificabile.
    • Suffisso del bus di servizio. Questo campo viene popolato automaticamente e non è modificabile.

      L’accesso ai seguenti endpoint è richiesto per la creazione di 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.
      • Endpoint di archiviazione BLOB di Azure per caricare o scaricare dischi o snapshot: https://*.storage.azure.net. Questo (*) è un carattere jolly per le operazioni di importazione ed esportazione di archiviazione BLOB. Ad esempio, https://md-impexp-xxxxx.z[00-50].blob.storage.azure.net.
      • Servizio Key Vault: https://*.vault.azure.net. Questo (*) è un carattere jolly per il nome del Key Vault. Ad esempio, https://<your-key-vault-name>.vault.azure.net.
      • Suffisso del bus di servizio: https://*.servicebus.windows.net. Questo (*) è un carattere jolly per gli spazi dei nomi creati nel cloud globale di Azure. Ad esempio, https://{serviceNamespace}.servicebus.windows.net/{path}.
  5. Dopo aver selezionatoSalva, si viene reindirizzati alla paginaDettagli connessione. SelezionareAvantiper procedere alla pagina successiva.

  6. Configurare le risorse per la connessione come segue:

    • Nella paginaRegione, selezionare una regione.
    • Nella paginaRete, eseguire le seguenti operazioni:
      • Digitare un nome di risorsa di 1-64 caratteri per aiutare a identificare la combinazione di regione e rete. Un nome di risorsa non può contenere solo spazi vuoti o 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 uniche.) Se la regione selezionata nella pagina precedente non dispone di reti virtuali, tornare a quella pagina e selezionare una regione che dispone di reti virtuali.
  7. Nella paginaRiepilogo, visualizzare un riepilogo delle impostazioni e selezionareFineper 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

Azure Resource Manager limita le richieste per sottoscrizioni e tenant, instradando il traffico in base a limiti definiti, adattati alle esigenze specifiche del provider. Vedere Limitazione delle richieste di Resource Manager sul sito Microsoft per ulteriori informazioni. 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 Migliorare le prestazioni di Azure con Machine Creation Services.

Per aiutare a mitigare questi problemi, Citrix DaaS consente di rimuovere la limitazione interna di MCS per utilizzare una maggiore quota di richieste disponibile da Azure.

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

  • Operazioni simultanee assolute: 500
  • Massimo nuove operazioni al minuto: 2000
  • Massima concorrenza delle operazioni: 500

Utilizzare Studio per configurare le operazioni di Azure per una data connessione host:

  1. Da Studio, selezionareHostingnel riquadro sinistro.
  2. Selezionare una connessione relativa ad Azure per modificarla.
  3. Nella procedura guidataModifica connessione, selezionareAvanzate.
  4. Nella paginaAvanzate, utilizzare le opzioni di configurazione per specificare il numero di azioni simultanee e il numero massimo di nuove azioni al minuto, e qualsiasi opzione di connessione aggiuntiva.

Limitazione di Azure

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

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

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

Gestire l’entità servizio di una connessione di hosting esistente

Dopo aver creato una connessione di hosting utilizzando un’entità servizio, è possibile scegliere di modificare la connessione di hosting per avere:

  • Nuova entità servizio
  • Utilizzare un’altra entità servizio esistente
  1. Da Studio, selezionareHostingdal riquadro sinistro.
  2. Selezionare la connessione e quindi selezionareModifica connessionenella barra delle azioni.
  3. Nella paginaProprietà connessioneche appare, fare clic suModifica impostazioni connessione. Ora è possibile scegliere di creare una nuova entità servizio o utilizzare un’altra entità servizio esistente.

    Modifica impostazioni

    • Fare clic suCrea entità servizioper creare una nuova entità servizio. Seguire le istruzioni per accedere all’account utente di Azure AD. Citrix utilizza l’ID applicazione multi-tenant 08b70dc3-76c5-4611-ba7d-3312ba36cb2b per creare una nuova entità servizio per la connessione host esistente e concedere le autorizzazioni appropriate.
    • Fare clic suUsa esistenteper utilizzare un’altra entità servizio esistente per quella connessione di hosting.

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 di 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 l’entità servizio (SPN) di tale sottoscrizione.

Ad esempio, se esiste un’entità servizio (SPN 1), configurata in Studio come:

Entità servizio: SPN 1

Sottoscrizione: sottoscrizione 1

Tenant: tenant 1

L’immagine si trova in una sottoscrizione diversa, configurata in Studio come:

Sottoscrizione: sottoscrizione 2

Tenant: tenant 1

Se si desidera condividere l’immagine nella sottoscrizione 2 con la sottoscrizione 1 (SPN 1), passare alla sottoscrizione 2 e condividere il gruppo di risorse con SPN1.

L’immagine deve essere condivisa con un altro SPN utilizzando il controllo degli accessi basato sui ruoli 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 basato sui ruoli di Azure (Azure RBAC). Per concedere l’accesso, si assegnano ruoli alle entità servizio con ambito di gruppo di risorse con il ruolo di Collaboratore. Per assegnare ruoli di Azure, è necessario disporre dell’autorizzazione Microsoft.Authorization/roleAssignments/write, ad esempio Amministratore dell’accesso utente o Proprietario. Per ulteriori informazioni sulla condivisione di immagini con un altro SPN, consultare il documento Microsoft Assegnare ruoli di Azure utilizzando il portale di Azure.

Condividere immagini tra tenant

Per condividere immagini tra tenant con Azure Compute Gallery, creare o aggiornare la registrazione dell’applicazione e utilizzare questa applicazione per creare la connessione di hosting.

Ad esempio, se ci sono due tenant (Tenant 1 e Tenant 2) e si desidera condividere la galleria di immagini con Tenant 1, allora:

  1. Creare una registrazione dell’applicazione per Tenant 1. Per ulteriori informazioni, vedere Creare la registrazione dell’app.

  2. Concedere a Tenant 2 l’accesso all’applicazione richiedendo un accesso tramite un browser. Sostituire Tenant2 ID con l’ID del tenant di Tenant 1. Sostituire Application (client) ID con l’ID dell’applicazione della registrazione dell’applicazione creata. Una volta effettuate 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 ulteriori informazioni, vedere Concedere l’accesso a Tenant 2.

  3. 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 ulteriori informazioni, vedere Autenticare le richieste tra tenant.

Aggiungere tenant condivisi a una connessione utilizzando Studio

Quando si creano o si aggiornano cataloghi di macchine in Studio, è possibile selezionare immagini condivise da diversi tenant e sottoscrizioni di Azure (condivise tramite la 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 ulteriori informazioni, vedere Condividere immagini tra tenant.

Completare i seguenti passaggi per una connessione:

  1. Da Studio, selezionareHostingnel riquadro sinistro.
  2. Selezionare la connessione e quindi selezionareModifica connessionenella barra delle azioni.

    Tenant condivisi

  3. InTenant condivisi, eseguire le seguenti operazioni:
    1. Fornire l’ID dell’applicazione e il segreto dell’applicazione associati alla sottoscrizione della connessione. DaaS utilizza queste informazioni per autenticarsi in Azure AD.
    2. Aggiungere tenant e sottoscrizioni che condividono la Azure Compute Gallery con la sottoscrizione della connessione. È possibile aggiungere fino a otto tenant condivisi e otto sottoscrizioni per ogni tenant.
  4. Al termine, selezionareApplicaper applicare le modifiche apportate e mantenere la finestra aperta, oppure selezionareOKper applicare le modifiche e chiudere la finestra.

Implementare la condivisione di immagini utilizzando PowerShell

Questa sezione guida l’utente attraverso i processi di condivisione di immagini utilizzando PowerShell:

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 di Azure per creare e aggiornare cataloghi MCS utilizzando i comandi PowerShell.

  1. Nella cartella radice dell’unità di hosting, Citrix crea una nuova cartella di sottoscrizione condivisa denominata sharedsubscription.
  2. Elencare tutte le sottoscrizioni condivise in un tenant.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\sharedsubscription.folder"
    <!--NeedCopy-->
    
  3. Selezionare una sottoscrizione condivisa e quindi elencare tutti i gruppi di risorse condivisi di tale sottoscrizione condivisa.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription"
    <!--NeedCopy-->
    
  4. Selezionare un gruppo di risorse e quindi elencare tutte le gallerie di tale gruppo di risorse.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\ xyz.resourcegroup"
    <!--NeedCopy-->
    
  5. Selezionare una galleria e 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-->
    
  6. Selezionare una definizione di immagine e 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-->
    
  7. Creare e aggiornare un catalogo MCS utilizzando i seguenti elementi:

    • Gruppo di risorse
    • Galleria
    • Definizione dell’immagine della galleria
    • Versione dell’immagine della galleria

Aggiornare le proprietà personalizzate della connessione di hosting con gli ID tenant condivisi

Utilizzare Set-Item per aggiornare le proprietà personalizzate della connessione di hosting con gli ID tenant e gli 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 in Azure Compute Gallery che appartiene a un tenant di Azure diverso per creare e aggiornare cataloghi MCS utilizzando i comandi PowerShell.

  1. Nella cartella radice dell’unità di hosting, Citrix crea una nuova cartella di sottoscrizione condivisa denominata sharedsubscription.
  2. Elencare tutte le sottoscrizioni condivise.

    Get-ChildItem XDHyp:\HostingUnits\azres\sharedsubscription.folder
    <!--NeedCopy-->
    
  3. Selezionare una sottoscrizione condivisa e quindi elencare tutti i gruppi di risorse condivisi di tale sottoscrizione condivisa.

    Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription
    <!--NeedCopy-->
    
  4. Selezionare un gruppo di risorse e quindi elencare tutte le gallerie di tale gruppo di risorse.

    Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\ xyz.resourcegroup
    <!--NeedCopy-->
    
  5. Selezionare una galleria e quindi elencare tutte le definizioni di immagine di tale galleria.

    Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\efg.gallery
    <!--NeedCopy-->
    
  6. Selezionare una definizione di immagine e 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-->
    
  7. Creare e aggiornare un catalogo MCS utilizzando i seguenti elementi:

    • Gruppo di risorse
    • Galleria
    • Definizione dell’immagine della galleria
    • Versione dell’immagine della galleria

Creare un ambiente sicuro per il traffico gestito da Azure

MCS abilita il traffico di rete (chiamate API da Citrix Cloud all’hypervisor di Azure) per essere instradato tramite i Cloud Connectors nell’ambiente. Questa implementazione consente di bloccare la sottoscrizione di Azure per consentire il traffico di rete da indirizzi IP specifici. Per fare ciò, aggiungere ProxyHypervisorTrafficThroughConnector in CustomProperties. Dopo aver impostato le proprietà personalizzate, è possibile configurare i criteri di Azure per avere accesso privato al disco ai dischi gestiti di Azure.

Se si configura il criterio di Azure per creare automaticamente gli accessi al disco per ogni nuovo disco da utilizzare con endpoint privati, non è possibile caricare o scaricare più di cinque dischi o snapshot contemporaneamente con lo stesso oggetto di accesso al disco, come imposto da Azure. Questo limite è per ogni catalogo di macchine se si configura il criterio di Azure a livello di gruppo di risorse, e per tutti i cataloghi di macchine se si configura il criterio di Azure a livello di sottoscrizione. Se non si configura il criterio di Azure per creare automaticamente gli accessi al disco per ogni nuovo disco da utilizzare con endpoint privati, il limite di cinque operazioni simultanee non viene applicato.

Nota:

Attualmente, questa funzionalità non è supportata per Connector Appliance. Per le limitazioni di Azure relative a questa funzionalità, vedere Limitare l’accesso di importazione/esportazione per i dischi gestiti utilizzando Azure Private Link.

Abilitare il proxy

Per abilitare il proxy, impostare le proprietà personalizzate come segue sulla connessione host:

  1. Aprire una finestra PowerShell utilizzando l’SDK PowerShell remoto. Per ulteriori informazioni, vedere https://docs.citrix.com/en-us/citrix-daas/sdk-api.html#citrix-virtual-apps-and-desktops-remote-powershell-sdk/.
  2. Eseguire i seguenti comandi:

    Add-PSSnapin citrix*.
    cd XDHyp:\Connections\
    dir
    <!--NeedCopy-->
    
  3. Copiare le CustomProperties dalla connessione a un blocco note e aggiungere l’impostazione della proprietà <Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" /> alle CustomProperties per abilitare il proxy. Ad esempio:

    <CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">
    <Property xsi:type="StringProperty" Name="SubscriptionId" Value="4991xxxx-2xxx-4xxx-8xxx-ff59a830xxxx" />
    <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="5cxxxxx-9xxx-4xxx-8xxx-dffe3efdxxxx" />
    <Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />
    </CustomProperties>
    <!--NeedCopy-->
    
  4. Nella finestra PowerShell, assegnare una variabile alle proprietà personalizzate modificate. Ad esempio:

    $customProperty = '<CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">
    <Property xsi:type="StringProperty" Name="SubscriptionId" Value="4991xxxx-2xxx-4xxx-8xxx-ff59a830xxxx" />
    <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="5cxxxxx-9xxx-4xxx-8xxx-dffe3efdxxxx" />
    <Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />
    </CustomProperties>'
    <!--NeedCopy-->
    
  5. Eseguire $cred = Get-Credential. Se richiesto, fornire le credenziali di connessione. Le credenziali sono l’ID applicazione Azure e il segreto.
  6. Eseguire Set-Item -PSPath XDHyp:\Connections\<Connection_Name> -CustomProperties $customProperty -username $cred.username -Securepassword $cred.password.

    Importante:

    Se si riceve un messaggio che indica che SubscriptionId è mancante, sostituire tutte le virgolette doppie (“) con un backtick seguito da virgolette doppie () nella proprietà personalizzata. Ad esempio:

    <CustomProperties xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`" xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`">
    <Property xsi:type=`"StringProperty`" Name=`"SubscriptionId`" Value=`"4991xxxx-2xxx-4xxx-8xxx-ff59a830xxxx`" />
    <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=`"5cxxxxx-9xxx-4xxx-8xxx-dffe3efdxxxx`" />
    <Property xsi:type=`"StringProperty`" Name=`"ProxyHypervisorTrafficThroughConnector`" Value=`"True`" />
    </CustomProperties>
    <!--NeedCopy-->
    
  7. Eseguire dir per verificare le impostazioni CustomProperties aggiornate.

Opzione per utilizzare il proxy di sistema sui Citrix Cloud Connectors per il traffico API di Azure reindirizzato

Per instradare tutto il traffico esterno tramite un proxy non trasparente, configurare la connessione host con la proprietà personalizzata UseSystemProxyForHypervisorTrafficOnConnectors. Questo reindirizza il traffico Internet API di Azure sui Citrix Cloud Connectors tramite il proxy di sistema.

Eseguire gli stessi passaggi descritti in Abilitare il proxy per configurare la connessione host con la proprietà personalizzata. Tuttavia, assicurarsi di aggiungere l’impostazione della proprietà <Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" /> alle CustomProperties per abilitare il proxy.

<Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" />
<!--NeedCopy-->

Esempio:

<CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">
<Property xsi:type="StringProperty" Name="SubscriptionId" Value="4991xxxx-2xxx-4xxx-8xxx-ff59a830xxxx" />
<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="5cxxxxx-9xxx-4xxx-8xxx-dffe3efdxxxx" />
<Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />
<Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" />
</CustomProperties>
<!--NeedCopy-->

Nota:

Dopo aver impostato questa proprietà, il proxy configurato nelle impostazioni netsh winhttp sui Citrix Cloud Connectors viene utilizzato per il traffico in uscita verso il provider di servizi cloud.

Gestire il segreto dell’applicazione e la data di scadenza del segreto

Assicurarsi di modificare il segreto dell’applicazione per una connessione prima della scadenza del segreto. Si riceve un avviso su Studio prima della scadenza della chiave segreta.

Creare un segreto dell’applicazione in Azure

È possibile creare un segreto dell’applicazione per una connessione tramite il portale di Azure.

  1. SelezionareAzure Active Directory.
  2. DaRegistrazioni appin Azure AD, selezionare l’applicazione.
  3. Andare aCertificati e segreti.
  4. Fare clic suSegreti client > Nuovo segreto client.

    Crea segreto applicazione

  5. Fornire una descrizione del segreto e specificare una durata. Al termine, selezionareAggiungi.

    Nota:

    Assicurarsi di salvare il segreto client perché non sarà possibile recuperarlo in seguito.

  6. Copiare il valore del segreto client e la data di scadenza.
  7. In Studio, modificare la connessione corrispondente e sostituire il contenuto nei campiSegreto applicazioneeData di scadenza segretocon i valori copiati.

Modificare la data di scadenza del segreto

È possibile utilizzare Studio per aggiungere o modificare la data di scadenza del segreto dell’applicazione in uso.

  1. Nella procedura guidataAggiungi connessione e risorse, fare clic con il pulsante destro del mouse su una connessione e fare clic suModifica connessione.
  2. Nella paginaProprietà connessione, fare clic suData di scadenza segretoper aggiungere o modificare la data di scadenza del segreto dell’applicazione in uso.

Modifica data di scadenza del segreto

Creare una connessione host utilizzando l’identità gestita di Azure

È possibile creare una connessione host a Microsoft Azure Resource Manager utilizzando l’identità gestita di Azure. Le identità gestite di Azure offrono un modo sicuro e scalabile per accedere ai servizi di Azure senza la necessità di gestire le credenziali. Questo approccio elimina i rischi associati all’archiviazione, alla rotazione e alla gestione dei segreti.

LaModalità di autenticazioneha tre opzioni:

  • AppClientSecret
  • SystemAssignedManagedIdentity
  • UserAssignedManagedIdentity

Prima di iniziare

Di seguito sono riportati i passaggi da eseguire prima di creare la connessione host utilizzando l’identità gestita di Azure:

  1. Installare un Citrix Cloud Connector™ in una VM di Azure.
  2. Abilitare l’identità gestita di Azure su quella VM di Cloud Connector.

    • Per l’identità gestita assegnata dall’utente:

      1. Nel portale di Azure, creare un’identità gestita assegnata dall’utente. Per informazioni, vedere Creare e assegnare un’identità gestita assegnata dall’utente.
      2. Assegnare i ruoli di Azure all’identità gestita. Vedere Autorizzazioni di Azure richieste.
      3. Creare una VM di Azure come Cloud Connector e aggiungervi l’identità assegnata dall’utente.
    • Per l’identità gestita assegnata dal sistema:

      1. Aprire il portale di Azure e andare alla VM.
      2. Selezionare il pannello Identità nelle impostazioni della VM.
      3. Nella schedaAssegnata dal sistema, impostare lo stato suAttivo.
      4. Fare clic suSalva.
      5. Concedere Autorizzazioni di Azure richieste.

      Nota:

      Se si abilita l’identità gestita assegnata dal sistema su una VM di Cloud Connector e la si utilizza per creare una connessione host, è comunque possibile creare connessioni host con l’identità gestita assegnata dal sistema anche dopo averla disabilitata sulla VM di Cloud Connector. La creazione di connessioni host può avere successo anche 24 ore dopo che l’identità è stata disabilitata. Ciò accade perché i token di identità gestita vengono memorizzati nella cache dall’infrastruttura Azure sottostante. Per ulteriori informazioni, vedere I token di identità gestita vengono memorizzati nella cache?.

Creare la connessione host con l’identità gestita di Azure utilizzando Studio

Nella procedura guidataAggiungi connessione e risorse:

  1. Nella paginaConnessione:
    1. SelezionareCrea una nuova connessione, il tipo di connessione Microsoft Azure e l’ambiente Azure.
    2. Selezionare gli strumenti da utilizzare per creare le macchine virtuali e quindi selezionare Avanti.
  2. Nella paginaDettagli connessione, selezionare laModalità di autenticazione.

    • Per l’Identità gestita assegnata dall’utente, immettere le seguenti impostazioni. Dopo aver immesso i dettagli, selezionareAvantiper procedere alle pagine successive. Non è possibile procedere oltre questa pagina finché non si forniscono dettagli validi.

      • ID sottoscrizione:Immettere l’ID della sottoscrizione di Azure. Per ottenere l’ID della sottoscrizione, accedere al portale di Azure e passare aSottoscrizioni > Panoramica.
      • ID Active Directory (ID tenant): Immettere l’ID della directory (tenant) dell’applicazione registrata con Azure AD.
      • ID client: Immettere l’ID client dell’identità gestita creata nel portale di Azure.
      • URL di autenticazione: Questo campo viene popolato automaticamente e non è modificabile.
      • URL di gestione: Questo campo viene popolato automaticamente e non è modificabile.
      • Suffisso di archiviazione: Questo campo viene popolato automaticamente e non è modificabile.
    • Per l’Identità gestita assegnata dal sistema, immettere le seguenti impostazioni. Dopo aver immesso i dettagli, selezionareAvantiper procedere alle pagine successive. Non è possibile procedere oltre questa pagina finché non si forniscono dettagli validi.

      • ID sottoscrizione:Immettere l’ID della sottoscrizione di Azure. Per ottenere l’ID della sottoscrizione, accedere al portale di Azure e passare aSottoscrizioni > Panoramica.
      • ID Active Directory (ID tenant): Immettere l’ID della directory (tenant) dell’applicazione registrata con Azure AD.
      • URL di autenticazione: Questo campo viene popolato automaticamente e non è modificabile.
      • URL di gestione: Questo campo viene popolato automaticamente e non è modificabile.
      • Suffisso di archiviazione: Questo campo viene popolato automaticamente e non è modificabile.

Creare la connessione host con l’identità gestita di Azure utilizzando PowerShell

È possibile creare questa connessione host utilizzando una nuova CustomProperty AuthenticationMode. La AuthenticationMode ha tre opzioni: AppClientSecret, SystemAssignedManagedIdentity e UserAssignedManagedIdentity. Di seguito è riportata la descrizione delle opzioni della modalità di autenticazione:

  • AppClientSecret: Questo è il valore predefinito. Richiede un ID applicazione e un segreto.
  • UserAssignedManagedIdentity: Richiede un ID client da fornire tramite un nome utente.
  • SystemAssignedManagedIdentity: Non richiede alcun input. Anche se si fornisce un ID client, viene ignorato.

Nota:

Quando si utilizza PowerShell, il parametro ProxyHypervisorTrafficThroughConnector deve essere true per utilizzare l’identità gestita.

  1. Aprire una finestra PowerShell.
  2. Eseguire asnp citrix* per caricare i moduli PowerShell specifici di Citrix.
  3. Creare connessioni host. Ad esempio:

    • Per l’identità gestita assegnata dall’utente:

       $UserName = "should be the Client ID of the user-assigned managed identity"
       $Password = "It can be any string.Not used"
       
       $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="' + $SubscriptionId + '" />'`
       +  '<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="' + $TenantId + '" />'`
       +  '<Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />'`
       +  '<Property xsi:type="StringProperty" Name="AuthenticationMode" Value="UserAssignedManagedIdentity" />'`
       +  '</CustomProperties>'
       
       New-Item -ConnectionType "Custom" `
       -CustomProperties $CustomProperties `
       -HypervisorAddress @($HypervisorAddress) `
       -Path @("XDHyp:\Connections\$($ConnectionName)") `
       -Metadata $Metadata `
       -Persist `
       -PluginId "AzureRmFactory" `
       -Scope @() `
       -Password $Password `
       -UserName $UserName `
       -ZoneUid $zoneUid
       <!--NeedCopy-->
      
    • Per l’identità gestita assegnata dal sistema:

       $UserName = "It can be any string. Not used"
       $Password = "It can be any string. Not used"  
       $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="' + $SubscriptionId + '" />'`
       +  '<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="' + $TenantId + '" />'`
       +  '<Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />'`
       +  '<Property xsi:type="StringProperty" Name="AuthenticationMode" Value="SystemAssignedManagedIdentity" />'`
       +  '</CustomProperties>'
       
       New-Item -ConnectionType "Custom" `
       -CustomProperties $CustomProperties `
       -HypervisorAddress @($HypervisorAddress) `
       -Path @("XDHyp:\Connections\$($ConnectionName)") `
       -Metadata $Metadata `
       -Persist `
       -PluginId "AzureRmFactory" `
       -Scope @() `
       -Password $Password `
       -UserName $UserName `
       -ZoneUid $zoneUid
       <!--NeedCopy-->
      

Gestire l’identità gestita di Azure di una connessione di hosting esistente

Utilizzare Studio

Dopo aver creato una connessione di hosting, è possibile scegliere di aggiornare la connessione di hosting esistente per avere:

  • Identità gestita assegnata dal sistema
  • Identità gestita assegnata dall’utente
  • Una nuova identità gestita assegnata dall’utente
  1. Da Studio, selezionareHostingdal riquadro sinistro.
  2. Selezionare la connessione e quindi selezionareModifica connessionenella barra delle azioni.
  3. Nella paginaProprietà connessioneche appare, fare clic suModifica modalità di autenticazione. Ora è possibile scegliere di aggiornare la modalità di autenticazione.

    • Fare clic suIdentità gestita assegnata dall’utenteper utilizzare l’identità gestita assegnata dall’utente per quella connessione di hosting. Seguire l’ID client da compilare.
    • Fare clic suIdentità gestita assegnata dal sistemaper utilizzare l’identità gestita assegnata dal sistema per quella connessione di hosting.

Utilizzare PowerShell

È inoltre possibile aggiornare una connessione host esistente utilizzando PowerShell per utilizzare un’identità assegnata dal sistema o un’identità gestita assegnata dall’utente. Ad esempio, eseguire i seguenti comandi PowerShell:

  1. Aprire una finestra PowerShell.
  2. Eseguire asnp citrix* per caricare i moduli PowerShell specifici di Citrix.
  3. Eseguire i seguenti comandi:

    $connName = "ConnectionName"
    $conn = get-item XDHyp:\Connections\$connName
    $conn.CustomProperties
    <!--NeedCopy-->
    
  4. Modificare ProxyHypervisorTrafficThroughConnector in True e aggiungere la proprietà personalizzata per AuthenticationMode impostata su SystemAssignedManagedIdentity o UserAssignedManagedIdentity. Ad esempio:

    $customProps = '<CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation"><Property xsi:type="StringProperty" Name="SubscriptionId" Value="subscriptionId" /><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="tenantId" /><Property xsi:type="StringProperty" Name="AzureAdDeviceManagement" Value="false" /><Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="true" /><Property xsi:type="StringProperty" Name="AuthenticationMode" Value="SystemAssignedManagedIdentity" /></CustomProperties>'
    <!--NeedCopy-->
    
  5. Eseguire $cred = Get-Credential. Inserire qualsiasi cosa qui.
  6. Eseguire Set-Item -PSPath XDHyp:\Connections\$connName -CustomProperties $customProps -username $cred.username -Securepassword $cred.password.

Utilizzare un gruppo di sicurezza di rete pre-creato

Creare un gruppo di sicurezza di rete Deny-All per la preparazione dell’immagine invece di richiedere a Citrix di creare e modificare l’NSG. Modificare le proprietà personalizzate dell’unità di hosting utilizzando un comando PowerShell Set-Item per includere il parametro NsgForPreparation per fornire il gruppo di sicurezza di rete Deny-All.

Prerequisiti

Configurare le seguenti autorizzazioni richieste per un’entità servizio:

  • Microsoft.Network/networkSecurityGroups/join/action: Associare un gruppo di sicurezza di rete a una subnet o a un’interfaccia di rete
  • Microsoft.Network/networkSecurityGroups/read: Ottiene il gruppo di sicurezza di rete
  • Microsoft.Network/networkSecurityGroups/securityRules/read: Ottiene la regola

Aggiungere il gruppo di sicurezza di rete Deny-All pre-creato

Per aggiungere il gruppo di sicurezza di rete Deny-All pre-creato, impostare le proprietà personalizzate come segue sull’unità di hosting:

  1. Aprire una finestra PowerShell utilizzando l’SDK PowerShell remoto.
  2. Eseguire i seguenti comandi:

    Add-PSSnapin citrix*.
    cd XDHyp:\HostingUnits\
    Dir
    <!--NeedCopy-->
    
  3. Selezionare un’unità di hosting per recuperare i dettagli:

    Get-Item "XDHyp:\HostingUnits\<hostingunitname>"
    <!--NeedCopy-->
    
  4. Copiare le CustomProperties in un blocco note e aggiungere l’impostazione della proprietà <Property xsi:type="StringProperty” Name="NsgForPreparation” Value="{ResourceGroupName}/{NetworkSecurityGroupName}"/>. Ad esempio:

    <CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"NsgForPreparation`" Value=`"{ResourceGroupName}/{NetworkSecurityGroupName}`"/></CustomProperties>
    <!--NeedCopy-->
    
  5. Nella finestra PowerShell, assegnare una variabile alle proprietà personalizzate modificate. Ad esempio:

    $customProperty = "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"NsgForPreparation`" Value=`"{ResourceGroupName}/{NetworkSecurityGroupName}`"/></CustomProperties>"
    <!--NeedCopy-->
    
  6. Eseguire $cred = Get-Credential. Se richiesto, fornire le credenziali di connessione. Le credenziali sono l’ID applicazione Azure e il segreto.
  7. Eseguire il seguente comando.

    Set-Item -PSPath XDHyp:\HostingUnits\<hostingunitname> -CustomProperties $customProperty -username $cred.username -Securepassword $cred.password
    <!--NeedCopy-->
    

    Importante:

    Se si riceve un messaggio che indica che SubscriptionId è mancante, sostituire tutte le virgolette doppie (“) con un backtick seguito da virgolette doppie () nella proprietà personalizzata.

  8. Eseguire dir per verificare le impostazioni CustomProperties aggiornate.

Nota:

Ci vuole più di un minuto perché gli aggiornamenti si riflettano.

Recuperare i dettagli del gruppo di sicurezza di rete

Per recuperare i dettagli del gruppo di sicurezza di rete, recuperare prima i gruppi di risorse contenenti il gruppo di sicurezza di rete, quindi recuperare il gruppo di sicurezza di rete in base al nome del gruppo di risorse.

  1. Recuperare i gruppi di risorse contenenti il gruppo di sicurezza di rete. Ad esempio:

    Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["networksecuritygroup"]}'
    <!--NeedCopy-->
    
  2. Recuperare il gruppo di sicurezza di rete in base al nome del gruppo di risorse. Ad esempio:

    Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType securitygroup -MaxRecords 5 -AdditionalDataFilter '{"location": ["eastus", "westus"], "resourcegroup":["resourcegroupname"]}'
    <!--NeedCopy-->
    

Filtrare i gruppi di risorse vuoti

Utilizzare il comando PowerShell Get-HypInventoryItem per filtrare i gruppi di risorse vuoti durante la selezione di un’immagine master, un profilo macchina o un’immagine preparata durante la creazione del catalogo di macchine.

Esempi:

  • Recuperare il numero massimo di record in una pagina:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5
     <!--NeedCopy-->
    
  • Recuperare il numero massimo di record in una pagina e filtrare per trovare i contenitori di risorse che hanno risorse specifiche.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}'
     <!--NeedCopy-->
    
  • Recuperare con skip per indicare direttamente la pagina e filtrare per trovare i contenitori di risorse che hanno risorse specifiche.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -skip 20 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}'
     <!--NeedCopy-->
    
  • Utilizzare un token per recuperare la pagina successiva e filtrare per trovare i contenitori di risorse che hanno risorse specifiche.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}' -ContinuationToken 'ew0KICAiJGlkIjogIjEiLA0KICAiTWF4Um93cyI6IDUsDQogICJSb3dzVG9Ta2lwIjogMjUsDQogICJLdXN0b0NsdXN0ZXJVcmwiOiAiaHR0cHM6Ly9hcmctbmV1LTEzLXNmLmFyZy5jb3JlLndpbmRvd3MubmV0Ig0KfQ=='
     <!--NeedCopy-->
    
  • Recuperare tutti i gruppi di risorse con il tag interno Citrix e limitare il numero massimo di record con MaxRecords.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5
     <!--NeedCopy-->
    
  • Filtrare per profilo macchina (immagine master) con il tag interno Citrix e limitare il numero massimo di record con MaxRecords.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "templatespecversion"]}'
     <!--NeedCopy-->
    
  • Filtrare per immagine preparata con il tag interno Citrix e limitare il numero massimo di record con MaxRecords.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["manageddisk", "snapshot", "imageversion"]}'
     <!--NeedCopy-->
    
  • Filtrare per profilo macchina (immagine preparata) con il tag interno Citrix e limitare il numero massimo di record con MaxRecords.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "templatespecversion"]}'
     <!--NeedCopy-->
    
  • Filtrare per immagine con il tag interno Citrix e limitare il numero massimo di record con MaxRecords e posizione.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["manageddisk", "snapshot", "imageversion", "storageaccount"], "location": ["eastus", "westus"]}'
     <!--NeedCopy-->
    
  • Recuperare tutti i gruppi di risorse senza considerare i tag CitrixResource.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 50 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}' -Force $true
     <!--NeedCopy-->
    

Autorizzazioni di Azure richieste

Questa sezione descrive in dettaglio le autorizzazioni minime e le autorizzazioni generali richieste per Azure.

Autorizzazioni minime

Le autorizzazioni minime offrono un migliore controllo della sicurezza. Tuttavia, le nuove funzionalità che richiedono autorizzazioni aggiuntive falliscono se vengono concesse solo le autorizzazioni minime. Questa sezione elenca le autorizzazioni minime per azione.

Creazione di una connessione host

Aggiungere una 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",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/securityRules/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 macchine ed eliminare il catalogo di macchine.

Di seguito è riportato l’elenco delle autorizzazioni minime richieste quando le immagini master sono dischi gestiti o snapshot che 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",
"Microsoft.Compute/capacityReservationGroups/capacityReservations/read",
"Microsoft.Compute/capacityReservationGroups/deploy/action"
<!--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 nella stessa regione della connessione di hosting:

     "Microsoft.Storage/storageAccounts/read",
     "Microsoft.Storage/storageAccounts/listKeys/action",
     <!--NeedCopy-->
    
  • Se l’immagine master è una ImageVersion dalla Azure Compute Gallery (precedentemente 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, uno snapshot o un VHD si trova in una regione diversa dalla regione 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 il gruppo di risorse gestito da Citrix:

     "Microsoft.Resources/subscriptions/resourceGroups/write",
     "Microsoft.Resources/subscriptions/resourceGroups/delete",
     <!--NeedCopy-->
    
  • Se si inserisce l’immagine master nella Azure Compute Gallery (precedentemente Shared Image Gallery) in un tenant o 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 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-->

Gestione dei costi

Di seguito è riportata l’autorizzazione minima richiesta per recuperare i prezzi delle VM:

"Microsoft.Consumption/pricesheets/read"
<!--NeedCopy-->

Autorizzazioni generali

Il ruolo di Collaboratore ha pieno accesso 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à 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",
"Microsoft.Compute/capacityReservationGroups/capacityReservations/read",
"Microsoft.Consumption/pricesheets/read",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/securityRules/read",
"Microsoft.Compute/capacityReservationGroups/deploy/action"
<!--NeedCopy-->

Configurare le autorizzazioni di connessione host di Azure richieste

È possibile configurare facilmente tutte le autorizzazioni minime richieste per un’entità servizio o un account utente in Azure collegato a una connessione host per eseguire tutte le operazioni MCS utilizzando un modello ARM. Questo modello ARM automatizza quanto segue:

  • Creazione di un ruolo di Azure con le autorizzazioni minime necessarie per le operazioni.
  • Assegnazione di questo ruolo a un’entità servizio di Azure esistente a livello di sottoscrizione.

È possibile distribuire questo modello ARM utilizzando il portale di Azure o i comandi PowerShell. Per ulteriori informazioni, vedere Modello ARM per le operazioni di Citrix Virtual Apps and Desktops.

Convalidare le 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 richieste per diversi scenari, come la creazione, l’eliminazione e l’aggiornamento delle VM, la gestione dell’alimentazione delle VM, in modo da evitare di essere bloccati 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:

  1. Creare una connessione host ad Azure.
  2. Aprire una finestra PowerShell dall’host del Delivery Controller™.
  3. Eseguire asnp citrix* per caricare i moduli PowerShell specifici di Citrix.
  4. Eseguire il seguente comando per verificare se si dispone delle autorizzazioni richieste 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
  5. Dopo aver aggiunto le autorizzazioni mancanti richieste 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 superiore 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 di autorizzazione elevato:

    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 superiore 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 di Azure richieste.

Dove andare dopo

Ulteriori informazioni