Citrix Virtual Apps and Desktops

Verbindung zu Google-Cloudumgebungen

Unter Verbindungen und Ressourcen erstellen und verwalten werden die Assistenten zum Erstellen einer Verbindung beschrieben. Die folgenden Informationen beziehen sich speziell auf Google-Cloudumgebungen.

Hinweis:

Bevor Sie eine Verbindung zu Google-Cloudumgebungen herstellen, müssen Sie zunächst Ihr Google-Cloudkonto als Ressourcenstandort eingerichtet haben. Siehe Google Cloud-Umgebungen.

Hinzufügen einer Verbindung

Folgen Sie den Anweisungen unter Erstellen einer Verbindung und von Ressourcen. Die folgende Beschreibung erläutert, wie Sie eine Hostverbindung einrichten:

  1. Wählen Sie unter Verwalten > Konfiguration im linken Bereich Hosting.

  2. Wählen Sie in der Aktionsleiste Verbindung und Ressourcen hinzufügen.

  3. Wählen Sie auf der Seite Verbindung die Optionen Neue Verbindung erstellen und Citrix-Provisioningtools und wählen Sie Weiter.

    • Verbindungstyp. Wählen Sie im Menü die Option Google Cloud.
    • Verbindungsname. Geben Sie einen Namen für die Verbindung ein.
  4. Wählen Sie auf der Seite Region einen Projektnamen aus dem Menü aus, wählen Sie die Region, in der sich die gewünschten Ressourcen befinden, und wählen Sie Weiter.

  5. Geben Sie auf der Seite Netzwerk einen Ressourcennamen ein, wählen Sie ein virtuelles Netzwerk aus dem Menü aus, wählen Sie einen Teilbereich (Subset) und wählen Sie Weiter. Mit dem Ressourcennamen kann diese Kombination von Region und Netzwerk identifiziert werden. Virtuelle Netzwerke mit dem Namenssuffix (Shared) sind freigegebene VPCs. Wenn Sie eine IAM-Rolle auf Subnetzebene für eine freigegebene VPC konfigurieren, werden nur bestimmte Subnetze der freigegebenen VPC in der Subnetzliste angezeigt.

    Hinweis:

    • Der Ressourcenname muss aus 1–64 Zeichen bestehen, er darf nicht ausschließlich aus Leerzeichen bestehen, und folgende Zeichen sind nicht erlaubt: \ / ; : # . * ? = < > | [ ] { } " ' ( ) ' ).
  6. Überprüfen Sie die Informationen auf der Seite Zusammenfassung und wählen Sie Fertig stellen, um das Fenster Verbindung und Ressourcen hinzufügen zu schließen.

Nach dem Erstellen der Verbindung und der Ressourcen wird die erstellte Verbindung samt Ressourcen aufgelistet. Wählen Sie zum Konfigurieren der Verbindung diese aus und wählen Sie in der Aktionsleiste die entsprechende Option.

Sie können außerdem die unter der Verbindung erstellten Ressourcen löschen, umbenennen oder testen. Wählen Sie hierfür die Ressource unter der Verbindung aus und wählen Sie in der Aktionsleiste die entsprechende Option.

Service-Endpunkt-URLs

Sie müssen Zugriff auf die folgenden URLs haben:

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

Google Cloud-Projekte

Es gibt grundsätzlich zwei Arten von Google Cloud-Projekten:

  • Bereitstellungsprojekt: Hier besitzt das aktuelle Administratorkonto die bereitgestellten Maschinen im Projekt. Das Projekt wird auch als “lokales Projekt” bezeichnet.
  • Freigegebene-VPC-Projekt: Projekt, in dem im Bereitstellungsprojekt erstellte Maschinen die VPC aus dem Freigegebene-VPC-Projekt verwenden. Das für das Bereitstellungsprojekt verwendete Administratorkonto hat in diesem Projekt eingeschränkte Berechtigungen, spezifisch hat es nur Berechtigungen zur Verwendung der VPC.

Sichere Umgebung für von GCP verwalteten Netzwerkverkehr erstellen

Sie können den Google-Zugriff auf Ihre Google Cloud-Projekte auf den privaten Zugriff einschränken. Diese Implementierung erhöht die Sicherheit beim Umgang mit vertraulichen Daten. Hierfür können Sie einen der folgenden Schritte ausführen:

  • Schließen Sie die folgenden Eingangsregeln von VPC Service Controls für das Cloud Build-Dienstkonto ein. Wenn Sie diesen Schritt ausführen, stellen Sie keine sichere Umgebung für GCP-verwalteten Datenverkehr gemäß der folgenden Anleitung her.

     Ingress Rule 1
     From:
     Identities:
     <ProjectID>@cloudbuild.gserviceaccount.com
     Source > All sources allowed
     To:
     Projects =
     All projects
     Services =
     Service name: All services
     <!--NeedCopy-->
    
  • Wenn Sie einen privaten Pool verwenden, fügen Sie UsePrivateWorkerPool zu CustomProperties hinzu. Informationen zum privaten Workerpool finden Sie unter Private Pools – Übersicht.

Anforderungen für die Schaffung einer sicheren Umgebung für den von GCP verwalteten Netzwerkverkehr

Für die Schaffung einer sicheren Umgebung für den von GCP verwalteten Netzwerkverkehr gelten folgende Anforderungen:

  • Die Hostingverbindung muss sich im Wartungsmodus befinden, wenn Sie die benutzerdefinierten Eigenschaften aktualisieren.
  • Um private Workerpools verwenden zu können, sind die folgenden Änderungen erforderlich:
    • Fügen Sie für das Citrix Cloud Service-Konto die folgenden IAM-Rollen hinzu:
      • Cloud Build-Dienstkonto
      • Compute Instance-Administrator
      • Dienstkontobenutzer
      • Dienstkonto-Token-Ersteller
      • Inhaber von Cloud Build-Workerpools
    • Erstellen Sie das Citrix Cloud Service-Konto in demselben Projekt, das Sie für die Erstellung einer Hostingverbindung verwenden.
    • Richten Sie DNS-Zonen für private.googleapis.com und gcr.io ein (siehe DNS-Konfiguration).

      DNS-Zonen für private-googleapis-com

      DNS-Zonen für gcr.io

    • Richten Sie die private Netzwerkadressübersetzung (NAT) ein oder verwenden Sie Private Service Connect. Weitere Informationen finden Sie unter Zugriff auf Google-APIs über Endpunkte.

      Private Service Connect

    • Wenn Sie eine Peering-VPC verwenden, erstellen Sie ein Cloud-DNS-Zonen-Peering zur Peering-VPC. Weitere Informationen finden Sie unter Peering-Zone erstellen.

      Peering-Zone erstellen

    • Richten Sie in VPC Service Controls Ausgangsregeln ein, damit die APIs und VMs mit dem Internet kommunizieren können. Eingangsregeln sind optional. Beispiel:

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

Privaten Workerpool aktivieren

Um den privaten Workerpool zu aktivieren, legen Sie die benutzerdefinierten Eigenschaften für die Hostverbindung wie folgt fest:

  1. Öffnen Sie ein PowerShell-Fenster auf dem Delivery Controller-Host, oder verwenden Sie das Remote PowerShell-SDK. Weitere Informationen zum Remote PowerShell SDK finden Sie unter SDKs und APIs.
  2. Führen Sie die folgenden Befehle aus:

    1. Add-PSSnapin citrix*
    2. cd XDHyp:\Connections\
    3. dir
  3. Kopieren Sie die CustomProperties von der Verbindung in einen Editor.
  4. Hängen sie die Eigenschaftseinstellung <Property xsi:type="StringProperty" Name="UsePrivateWorkerPool" Value="True"/> an. Beispiel:

    ```
    <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. Weisen Sie im PowerShell-Fenster den geänderten benutzerdefinierten Eigenschaften eine Variable zu. Beispiel: $customProperty = '<CustomProperties…</CustomProperties>'.
  6. Führen Sie $gcpServiceAccount = "<ENTER YOUR SERVICE ACCOUNT EMAIL HERE>" aus.
  7. Führen Sie $gcpPrivateKey = "<ENTER YOUR SERVICE ACCOUNT PRIVATE KEY HERE AFTER REMOVING ALL INSTANCES OF \n >" aus.
  8. Führen Sie $securePassword = ConvertTo-SecureString $gcpPrivateKey -AsPlainText -Force aus.
  9. Führen Sie den folgenden Befehl aus, um eine bestehende Hostverbindung zu aktualisieren:

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

Erforderliche GCP-Berechtigungen

Dieser Abschnitt enthält die vollständige Liste der GCP-Berechtigungen. Verwenden Sie sämtliche Berechtigungen, wie im Abschnitt angegeben, um eine ordnungsgemäße Funktionalität sicherzustellen.

Erstellen einer Hostverbindung

  • Mindestberechtigungen für das Citrix Cloud-Dienstkonto im Bereitstellungsprojekt:

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

    Die folgenden von Google definierten Rollen haben die oben aufgeführten Berechtigungen:

    • Compute-Administrator
    • Cloud-Datenspeicherbenutzer
  • Weitere für die freigegebene VPC für das Citrix Cloud-Dienstkonto im Freigegebene-VPC-Projekt erforderliche Berechtigungen:

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

    Die folgenden von Google definierten Rollen haben die oben aufgeführten Berechtigungen:

    • Compute Network User

Energieverwaltung virtueller Maschinen

Mindestberechtigungen für das Citrix Cloud-Dienstkonto im Bereitstellungsprojekt:

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

Die folgenden von Google definierten Rollen haben die oben aufgeführten Berechtigungen:

  • Compute-Administrator
  • Cloud-Datenspeicherbenutzer

Erstellen, Aktualisieren oder Löschen von VMs

  • Mindestberechtigungen für das Citrix Cloud-Dienstkonto im Bereitstellungsprojekt:

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

    Die folgenden von Google definierten Rollen haben die oben aufgeführten Berechtigungen:

    • Compute-Administrator
    • Speicher-Administrator
    • Cloud Build-Editor
    • Dienstkontobenutzer
    • Cloud-Datenspeicherbenutzer
  • Weitere für die freigegebene VPC für das Citrix Cloud-Dienstkonto im Freigegebene-VPC-Projekt erforderliche Berechtigungen zur Erstellung einer Hostingeinheit unter Verwendung der VPC und des Subnetzes aus dem Freigegebene-VPC-Projekt:

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

    Die folgenden von Google definierten Rollen haben die oben aufgeführten Berechtigungen:

    • Compute Network User
    • Cloud-Datenspeicherbenutzer
  • Mindestberechtigungen für das Cloud Build-Dienstkonto im Bereitstellungprojekt, die vom Google Cloud Build-Dienst beim Herunterladen des Anweisungsdatenträgers auf MCS erfordert werden:

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

    Die folgenden von Google definierten Rollen haben die oben aufgeführten Berechtigungen:

    • Cloud Build-Dienstkonto
    • Compute Instance-Administrator
    • Dienstkontobenutzer
  • Mindestberechtigungen für das Cloud Compute-Dienstkonto im Bereitstellungprojekt, die vom Google Cloud Build-Dienst beim Herunterladen des Anweisungsdatenträgers auf MCS erfordert werden:

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

    Die folgenden von Google definierten Rollen haben die oben aufgeführten Berechtigungen:

    • Compute Network User
    • Storage Account User
    • Cloud-Datenspeicherbenutzer
  • Zusätzliche Berechtigungen für die freigegebene VPC für das Cloud Build-Dienstkonto im Bereitstellungprojekt, die vom Google Cloud Build-Dienst beim Herunterladen des Anweisungsdatenträgers auf MCS erfordert werden:

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

    Die folgenden von Google definierten Rollen haben die oben aufgeführten Berechtigungen:

    • Compute Network User
    • Storage Account User
    • Cloud-Datenspeicherbenutzer
  • Zusätzliche Berechtigungen für den Cloud-Schlüsselverwaltungsdienst (KMS) für das Citrix Cloud-Dienstkonto im Bereitstellungsprojekt:

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

    Die folgenden von Google definierten Rollen haben die oben aufgeführten Berechtigungen:

    • Compute KMS Viewer

Allgemeine Berechtigungen

Im Folgenden sind die Berechtigungen für das Citrix Cloud-Dienstkonto im Provisioning-Projekt für alle in MCS unterstützten Funktionen aufgeführt. Diese Berechtigungen ab jetzt die beste Kompatibilität:

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

So geht es weiter

Weitere Informationen

Verbindung zu Google-Cloudumgebungen