Citrix DaaS

Connessione agli ambienti cloud di Google

Creare e gestire connessioni 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

Nell’interfaccia Full Configuration (Configurazione completa), seguire le indicazioni in Create a connection and resources(Crea una connessione e risorse). La seguente descrizione guida l’utente nella configurazione di una connessione di hosting:

  1. Da Manage > Full Configuration (Gestisci > Configurazione completa), 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).

    • Zone name (Nome zona). Selezionare una zona (equivalente a una posizione risorsa) in cui si desidera che risiedano le risorse host. Le zone vengono create automaticamente quando si crea una posizione risorsa e si aggiunge un Cloud Connector. Per ulteriori informazioni, vedere Zone.
    • Tipo di connessione. Selezionare Google Cloud dal menu.
    • Chiave dell’account di servizio. Importare la chiave contenuta nel file delle credenziali di Google (.json). A questo scopo, individuare il file delle credenziali, aprirlo con Blocco note (o qualsiasi editor di testo), quindi copiare il contenuto. Successivamente, tornare alla pagina Connection (Connessione), selezionare Import key (Chiave di importazione), incollare il contenuto e quindi selezionare Save (Salva).
    • ID account di servizio. Il campo viene compilato automaticamente con le informazioni della chiave importata.
    • Nome connessione. Digitare un nome per la connessione.
    • Indirizzare il traffico tramite Citrix Cloud Connector. Per indirizzare le richieste API tramite un connettore Citrix Cloud disponibile, selezionare questa casella di controllo. È anche possibile selezionare la casella di controllo Enable Google Cloud Build to use private pools (Abilita Google Cloud Build per utilizzare pool privati) per un ulteriore livello di sicurezza.

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

    Nota:

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

  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 solo l’accesso privato di Google ai propri progetti Google Cloud. Questa implementazione migliora la sicurezza per la gestione dei dati sensibili. A questo scopo:

  1. Installare Cloud Connectors nel VPC in cui si intende applicare i controlli del servizio VPC. Per ulteriori informazioni, vedere Controlli di servizio VPC.
  2. Aggiungere ProxyHypervisorTrafficThroughConnector in CustomProperties in caso di implementazione di Citrix Cloud. Se si utilizza un pool di lavoratori privato, aggiungere UsePrivateWorkerPool in CustomProperties. Per informazioni sul pool di lavoratori privati, vedere Panoramica dei pool privati.

Nota:

Attualmente, questa funzionalità non è supportata per Connector Appliance.

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 proxy

Per abilitare il proxy, 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 delle proprietà come segue:

    • In caso di implementazione nel cloud (utilizzando pool pubblici): aggiungere l’impostazione delle 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="ProxyHypervisorTrafficThroughConnector" Value="True"/>
       </CustomProperties>
       <!--NeedCopy-->
      

      Consentire la regola di ingresso per l’account del servizio Cloud Build nel perimetro del servizio VPC. Ad esempio:

       Ingress Rule 1
       From:
       Identities:
       <ProjectID>@cloudbuild.gserviceaccount.com
       Source > All sources allowed
       To:
       Projects =
       All projects
       Services =
       Service name: All services
       <!--NeedCopy-->
      

      Per informazioni sul perimetro del servizio VPC, vedere Dettagli e configurazione dei perimetri di servizio.

    • Nel caso di un pool di lavoratori privati in un’implementazione cloud, aggiungere le impostazioni delle proprietà <Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True"/> e <Property xsi:type="StringProperty" Name="UsePrivateWorkerPool" 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="ProxyHypervisorTrafficThroughConnector" Value="True"/>
       <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-->
    

Informazioni sulle autorizzazioni GCP

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.get
     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.get
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