Citrix Virtual Apps and Desktops

Connessione agli ambienti cloud di Google

Creare e gestire connessioni e risorse descrive le procedure guidate che creano una connessione. Le seguenti informazioni coprono i dettagli specifici degli ambienti cloud di Google.

Nota:

Prima di creare una connessione agli ambienti cloud di Google, è prima necessario completare la configurazione del proprio account cloud Google come posizione delle risorse. Vedere Ambienti Google Cloud.

Aggiungere una connessione

Seguire le indicazioni fornite in Creare una connessione e risorse. La seguente descrizione guida l’utente nella configurazione di una connessione di hosting:

  1. Da Manage > Configuration (Gestisci > Configurazione), selezionare Hosting nel riquadro di sinistra.

  2. Selezionare Add Connections and Resources (Aggiungi connessioni e risorse) nella barra delle azioni.

  3. Nella pagina Connection (Connessione), selezionare Create a new Connection (Crea una nuova connessione) e Citrix provisioning tools (Strumenti di provisioning Citrix), quindi selezionare Next (Avanti).

    • Tipo di connessione. Selezionare Google Cloud dal menu.
    • Nome connessione. Digitare un nome per la connessione.
  4. Nella pagina Region (Regione), selezionare un nome di progetto dal menu, selezionare una regione contenente le risorse che si desidera utilizzare, quindi selezionare Next (Avanti).

  5. Nella pagina Network (Rete) digitare un nome per le risorse, selezionare una rete virtuale dal menu, selezionare un sottoinsieme e quindi selezionare Next (Avanti). Il nome della risorsa aiuta a identificare la regione e la combinazione di rete. Le reti virtuali con il suffisso (Shared) (Condivisa) aggiunto al loro nome rappresentano i VPC condivisi. Se si configura un ruolo IAM a livello di subnet per un VPC condiviso, nell’elenco delle subnet vengono visualizzate solo le subnet specifiche del VPC condiviso.

    Nota:

    • Il nome della risorsa può contenere da 1 a 64 caratteri e non può contenere solo spazi vuoti né i caratteri \ / ; : # . * ? = < > | [ ] { } " ' ( ) ' ).
  6. Nella pagina Summary (Riepilogo), confermare le informazioni e quindi selezionare Finish (Fine) per uscire dalla finestra Add Connection and Resources (Aggiungi connessione e risorse).

Dopo aver creato la connessione e le risorse, vengono elencate la connessione e le risorse create. Per configurare la connessione, selezionare la connessione e quindi selezionare l’opzione applicabile nella barra delle azioni.

Allo stesso modo, è possibile eliminare, rinominare o testare le risorse create con la connessione. A tale scopo, selezionare la risorsa sotto la connessione e quindi selezionare l’opzione applicabile nella barra delle azioni.

URL dell’endpoint del servizio

È necessario avere accesso ai seguenti URL:

  • https://oauth2.googleapis.com
  • https://cloudresourcemanager.googleapis.com
  • https://compute.googleapis.com
  • https://storage.googleapis.com
  • https://cloudbuild.googleapis.com

Progetti Google Cloud

Esistono fondamentalmente due tipi di progetti Google Cloud:

  • Progetto di provisioning: in questo caso, l’account amministratore corrente possiede i computer forniti nel progetto. Questo progetto viene anche definito progetto locale.
  • Progetto VPC condiviso: progetto in cui le macchine create nel progetto di provisioning utilizzano il VPC del progetto Shared VPC. L’account amministratore utilizzato per il progetto di provisioning ha autorizzazioni limitate in questo progetto, in particolare solo autorizzazioni per utilizzare il VPC.

Creare un ambiente sicuro per il traffico gestito di GCP

È possibile consentire l’accesso privato di Google ai propri progetti Google Cloud. Questa implementazione migliora la sicurezza per la gestione dei dati sensibili. A tale scopo, è possibile effettuare una delle seguenti operazioni:

  • Includere le seguenti regole di ingresso dei controlli del servizio VPC per l’account Cloud Build Service. Se si effettua questa operazione, non seguire i passaggi seguenti per creare un ambiente sicuro per il traffico gestito da GCP.

     Ingress Rule 1
     From:
     Identities:
     <ProjectID>@cloudbuild.gserviceaccount.com
     Source > All sources allowed
     To:
     Projects =
     All projects
     Services =
     Service name: All services
     <!--NeedCopy-->
    
  • Se si utilizza un pool di lavoratori privato, aggiungere UsePrivateWorkerPool in CustomProperties. Per informazioni sul pool di lavoratori privati, vedere Panoramica dei pool privati.

Requisiti per creare un ambiente sicuro per il traffico gestito da GCP

I requisiti per creare un ambiente sicuro per il traffico gestito GCP sono:

  • Assicurarsi che la connessione di hosting sia in modalità di manutenzione durante l’aggiornamento delle proprietà personalizzate.
  • Per utilizzare i pool di lavoratori privati, sono necessarie le seguenti modifiche:
    • Per Citrix Cloud Service Account, aggiungere i seguenti ruoli IAM:
      • Account del servizio Cloud Build
      • Amministratore istanze Compute
      • Utente account di servizio
      • Creatore token account di servizio
      • Proprietario del pool di worker Cloud Build
    • Creare l’account di servizio Citrix Cloud nello stesso progetto che si utilizza per creare una connessione di hosting.
    • Configurare le zone DNS per private.googleapis.com e gcr.io come descritto nella Configurazione DNS.

      Zone DNS per private-googleapis-com

      Zone DNS per gcr.io

    • Configurare la traduzione degli indirizzi di rete (NAT) privata o utilizzare la connessione al servizio privato. Per ulteriori informazioni, vedere Accesso alle API di Google tramite gli endpoint.

      Connessione al servizio privato

    • Se si utilizza un VPC con peering, creare una zona Cloud DNS che esegue il peering del VPC con peering. Per ulteriori informazioni, vedere Creazione di una zona di peering.

      Creare una zona di peering

    • Nei controlli dei servizi VPC, impostare le regole di uscita in modo che le API e le VM possano comunicare con Internet. Le regole di ingresso sono opzionali. Ad esempio:

       Egress Rule 1
       From:
       Identities:ANY_IDENTITY
       To:
       Projects =
       All projects
       Service =
       Service name: All services
       <!--NeedCopy-->
      

Abilitare il pool di lavoratori privati

Per abilitare il pool di lavoratori privati, impostare le proprietà personalizzate come segue sulla connessione host:

  1. Aprire una finestra di PowerShell dall’host Delivery Controller o utilizzare l’SDK Remote PowerShell. Per ulteriori informazioni sull’SDK Remote PowerShell, vedere SDK e API.
  2. Eseguire i seguenti comandi:

    1. Add-PSSnapin citrix*
    2. cd XDHyp:\Connections\
    3. dir
  3. Copiare le CustomProperties dalla connessione a un blocco note.
  4. Aggiungere l’impostazione della proprietà <Property xsi:type="StringProperty" Name="UsePrivateWorkerPool" Value="True"/>. 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="UsePrivateWorkerPool" Value="True"/>
    </CustomProperties>
    <!--NeedCopy--> ```
    
  5. Nella finestra di PowerShell assegnare una variabile alle proprietà personalizzate modificate. Ad esempio: $customProperty = '<CustomProperties…</CustomProperties>'.
  6. Eseguire $gcpServiceAccount = "<ENTER YOUR SERVICE ACCOUNT EMAIL HERE>".
  7. Eseguire $gcpPrivateKey = "<ENTER YOUR SERVICE ACCOUNT PRIVATE KEY HERE AFTER REMOVING ALL INSTANCES OF \n >".
  8. Eseguire $securePassword = ConvertTo-SecureString $gcpPrivateKey -AsPlainText -Force.
  9. Eseguire quanto segue per aggiornare una connessione host esistente:

    Set-Item -PassThru -Path @('XDHyp:\Connections\\<ENTER YOUR CONNECTION NAME HERE>') -SecurePassword $securePassword -UserName $gcpServiceAccount -CustomProperties $customProperty
    <!--NeedCopy-->
    

Autorizzazioni GCP richieste

Questa sezione contiene l’elenco completo delle autorizzazioni GCP. Usare il set completo di autorizzazioni indicato nella sezione per il corretto funzionamento della funzionalità.

Creazione di una connessione host

  • Autorizzazioni minime richieste per Citrix Cloud Service Account nel progetto Provisioning:

     compute.instanceTemplates.list
     compute.instances.list
     compute.networks.list
     compute.projects.get
     compute.regions.list
     compute.subnetworks.list
     compute.zones.list
     resourcemanager.projects.get
     <!--NeedCopy-->
    

    I seguenti ruoli definiti da Google dispongono delle autorizzazioni elencate sopra:

    • Amministratore Compute
    • Utente di Cloud Datastore
  • Autorizzazioni aggiuntive richieste per Shared VPC for Citrix Cloud Service Account nel progetto Shared VPC:

     compute.networks.list
     compute.subnetworks.list
     resourcemanager.projects.get
     <!--NeedCopy-->
    

    I seguenti ruoli definiti da Google dispongono delle autorizzazioni elencate sopra:

    • Utente di rete Compute

Gestione dell’alimentazione delle macchine virtuali

Autorizzazioni minime richieste per Citrix Cloud Service Account nel progetto Provisioning:

compute.instanceTemplates.list
compute.instances.list
compute.instances.get
compute.instances.reset
compute.instances.resume
compute.instances.start
compute.instances.stop
compute.instances.suspend
compute.networks.list
compute.projects.get
compute.regions.list
compute.subnetworks.list
compute.zones.list
resourcemanager.projects.get
<!--NeedCopy-->

I seguenti ruoli definiti da Google dispongono delle autorizzazioni elencate sopra:

  • Amministratore Compute
  • Utente di Cloud Datastore

Creazione, aggiornamento o eliminazione di macchine virtuali

  • Autorizzazioni minime richieste per Citrix Cloud Service Account nel progetto Provisioning:

     cloudbuild.builds.create
     cloudbuild.builds.get
     cloudbuild.builds.list
     compute.acceleratorTypes.list
     compute.diskTypes.get
     compute.diskTypes.list
     compute.disks.create
     compute.disks.createSnapshot
     compute.disks.delete
     compute.disks.get
     compute.disks.list
     compute.disks.setLabels
     compute.disks.use
     compute.disks.useReadOnly
     compute.firewalls.create
     compute.firewalls.delete
     compute.firewalls.list
     compute.globalOperations.get
     compute.images.create
     compute.images.delete
     compute.images.get
     compute.images.list
     compute.images.setLabels
     compute.images.useReadOnly
     compute.instanceTemplates.create
     compute.instanceTemplates.delete
     compute.instanceTemplates.get
     compute.instanceTemplates.list
     compute.instanceTemplates.useReadOnly
     compute.instances.attachDisk
     compute.instances.create
     compute.instances.delete
     compute.instances.detachDisk
     compute.instances.get
     compute.instances.list
     compute.instances.reset
     compute.instances.resume
     compute.instances.setDeletionProtection
     compute.instances.setLabels
     compute.instances.setMetadata
     compute.instances.setServiceAccount
     compute.instances.setTags
     compute.instances.start
     compute.instances.stop
     compute.instances.suspend
     compute.machineTypes.get
     compute.machineTypes.list
     compute.networks.list
     compute.networks.updatePolicy
     compute.nodeGroups.list
     compute.nodeTemplates.get
     compute.projects.get
     compute.regions.list
     compute.snapshots.create
     compute.snapshots.delete
     compute.snapshots.list
     compute.snapshots.setLabels
     compute.snapshots.useReadOnly
     compute.subnetworks.get
     compute.subnetworks.list
     compute.subnetworks.use
     compute.zoneOperations.get
     compute.zoneOperations.list
     compute.zones.get
     compute.zones.list
     iam.serviceAccounts.actAs
     resourcemanager.projects.get
     storage.buckets.create
     storage.buckets.delete
     storage.buckets.get
     storage.buckets.list
     storage.buckets.update
     storage.objects.create
     storage.objects.delete
     storage.objects.get
     storage.objects.list
     <!--NeedCopy-->
    

    I seguenti ruoli definiti da Google dispongono delle autorizzazioni elencate sopra:

    • Amministratore Compute
    • Amministratore archiviazione
    • Editor Cloud Build
    • Utente account di servizio
    • Utente di Cloud Datastore
  • Autorizzazioni aggiuntive necessarie per Shared VPC for Citrix Cloud Service Account nel progetto Shared VPC per creare un’unità di hosting utilizzando VPC e una sottorete del progetto Shared VPC:

     compute.firewalls.list
     compute.networks.list
     compute.projects.get
     compute.regions.list
     compute.subnetworks.get
     compute.subnetworks.list
     compute.subnetworks.use
     compute.zones.list
     resourcemanager.projects.get
     <!--NeedCopy-->
    

    I seguenti ruoli definiti da Google dispongono delle autorizzazioni elencate sopra:

    • Utente di rete Compute
    • Utente di Cloud Datastore
  • Autorizzazioni minime richieste per l’account Cloud Build Service nel progetto Provisioning richieste dal servizio Google Cloud Build quando si scarica il disco di istruzioni di preparazione su MCS:

     compute.disks.create
     compute.disks.delete
     compute.disks.get
     compute.disks.list
     compute.disks.setLabels
     compute.disks.use
     compute.disks.useReadOnly
     compute.images.get
     compute.images.list
     compute.images.useReadOnly
     compute.instances.create
     compute.instances.delete
     compute.instances.get
     compute.instances.getSerialPortOutput
     compute.instances.list
     compute.instances.setLabels
     compute.instances.setMetadata
     compute.instances.setServiceAccount
     compute.machineTypes.list
     compute.networks.get
     compute.networks.list
     compute.projects.get
     compute.subnetworks.list
     compute.subnetworks.use
     compute.subnetworks.useExternalIp
     compute.zoneOperations.get
     compute.zones.list
     iam.serviceAccounts.actAs
     logging.logEntries.create
     pubsub.topics.publish
     resourcemanager.projects.get
     source.repos.get
     source.repos.list
     storage.buckets.create
     storage.buckets.get
     storage.buckets.list
     storage.objects.create
     storage.objects.delete
     storage.objects.get
     storage.objects.list
     <!--NeedCopy-->
    

    I seguenti ruoli definiti da Google dispongono delle autorizzazioni elencate sopra:

    • Account del servizio Cloud Build
    • Amministratore istanze Compute
    • Utente account di servizio
  • Autorizzazioni minime richieste per l’account Cloud Compute Service nel progetto Provisioning richieste dal servizio Google Cloud Build quando si scarica il disco di istruzioni di preparazione su MCS:

     resourcemanager.projects.get
     storage.objects.create
     storage.objects.get
     storage.objects.list
     <!--NeedCopy-->
    

    I seguenti ruoli definiti da Google dispongono delle autorizzazioni elencate sopra:

    • Utente di rete Compute
    • Utente dell’account di archiviazione
    • Utente di Cloud Datastore
  • Autorizzazioni aggiuntive richieste per l’account Shared VPC for Cloud Build Service nel progetto Provisioning richieste dal servizio Google Cloud Build quando si scarica il disco di istruzioni di preparazione su MCS:

     compute.firewalls.list
     compute.networks.list
     compute.subnetworks.list
     compute.subnetworks.use
     resourcemanager.projects.get
     <!--NeedCopy-->
    

    I seguenti ruoli definiti da Google dispongono delle autorizzazioni elencate sopra:

    • Utente di rete Compute
    • Utente dell’account di archiviazione
    • Utente di Cloud Datastore
  • Autorizzazioni aggiuntive richieste per Cloud Key Management Service (KMS) per Citrix Cloud Service Account nel progetto Provisioning:

     cloudkms.cryptoKeys.get
     cloudkms.cryptoKeys.list
     cloudkms.keyRings.get
     cloudkms.keyRings.list
     <!--NeedCopy-->
    

    I seguenti ruoli definiti da Google dispongono delle autorizzazioni elencate sopra:

    • Visualizzatore KMS Compute

Autorizzazioni generali

Di seguito sono riportate le autorizzazioni per Citrix Cloud Service Account nel progetto di Provisioning per tutte le funzionalità supportate in MCS. Queste autorizzazioni garantiscono la migliore compatibilità in futuro:

resourcemanager.projects.get
cloudbuild.builds.create
cloudbuild.builds.get
cloudbuild.builds.list
compute.acceleratorTypes.list
compute.diskTypes.get
compute.diskTypes.list
compute.disks.create
compute.disks.createSnapshot
compute.disks.delete
compute.disks.get
compute.disks.setLabels
compute.disks.use
compute.disks.useReadOnly
compute.firewalls.create
compute.firewalls.delete
compute.firewalls.list
compute.globalOperations.get
compute.images.create
compute.images.delete
compute.images.get
compute.images.list
compute.images.setLabels
compute.images.useReadOnly
compute.instanceTemplates.create
compute.instanceTemplates.delete
compute.instanceTemplates.get
compute.instanceTemplates.list
compute.instanceTemplates.useReadOnly
compute.instances.attachDisk
compute.instances.create
compute.instances.delete
compute.instances.detachDisk
compute.instances.get
compute.instances.list
compute.instances.reset
compute.instances.resume
compute.instances.setDeletionProtection
compute.instances.setLabels
compute.instances.setMetadata
compute.instances.setTags
compute.instances.start
compute.instances.stop
compute.instances.suspend
compute.instances.update
compute.instances.updateAccessConfig
compute.instances.updateDisplayDevice
compute.instances.updateSecurity
compute.instances.updateShieldedInstanceConfig
compute.instances.updateShieldedVmConfig
compute.machineTypes.get
compute.machineTypes.list
compute.networks.list
compute.networks.updatePolicy
compute.nodeGroups.list
compute.nodeTemplates.get
compute.projects.get
compute.regions.list
compute.snapshots.create
compute.snapshots.delete
compute.snapshots.list
compute.snapshots.setLabels
compute.snapshots.useReadOnly
compute.subnetworks.get
compute.subnetworks.list
compute.subnetworks.use
compute.subnetworks.useExternalIp
compute.zoneOperations.get
compute.zoneOperations.list
compute.zones.get
compute.zones.list
resourcemanager.projects.get
storage.buckets.create
storage.buckets.delete
storage.buckets.get
storage.buckets.list
storage.buckets.update
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
cloudkms.cryptoKeys.get
cloudkms.cryptoKeys.list
cloudkms.keyRings.get
cloudkms.keyRings.list
<!--NeedCopy-->

Passaggi successivi

Ulteriori informazioni

Connessione agli ambienti cloud di Google