Verbindung zu Google Cloud-Umgebungen

(/de-de/citrix-virtual-apps-desktops/2407/install-configure/connections.html) beschreibt die Assistenten, die eine Verbindung erstellen. Die folgenden Informationen behandeln Details, die spezifisch für Google Cloud-Umgebungen sind.

Hinweis:

Bevor Sie eine Verbindung zu Google Cloud-Umgebungen herstellen, müssen Sie zuerst Ihr Google Cloud-Konto als Ressourcenstandort einrichten. Siehe (/de-de/citrix-virtual-apps-desktops/2407/install-configure/install-prepare/gcp.html).

Verbindung hinzufügen

Befolgen Sie die Anweisungen unter (/de-de/citrix-virtual-apps-desktops/2407/manage-deployment/connections.html). Die folgende Beschreibung führt Sie durch die Einrichtung einer Hosting-Verbindung:

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

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

  3. Wählen Sie auf der Seite Verbindung die Option Neue Verbindung erstellen und Citrix provisioning™ tools und dann Weiter.

    • Verbindungstyp. Wählen Sie im Menü 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ü, wählen Sie eine Region aus, die die zu verwendenden Ressourcen enthält, und wählen Sie dann Weiter.

  5. Geben Sie auf der Seite Netzwerk einen Namen für die Ressourcen ein, wählen Sie ein virtuelles Netzwerk aus dem Menü, wählen Sie ein Subnetz und dann Weiter. Der Ressourcenname hilft, die Kombination aus Region und Netzwerk zu identifizieren. Virtuelle Netzwerke mit dem Suffix (Shared) stellen freigegebene VPCs dar. 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 kann 1–64 Zeichen enthalten und darf nicht nur Leerzeichen oder die Zeichen \ / ; : # . * ? = < > | [ ] { } " ' ( ) ' ) enthalten.
  6. Auf der Seite Zusammenfassung bestätigen Sie die Informationen und wählen Sie dann Fertig stellen, um das Fenster Verbindung und Ressourcen hinzufügen zu verlassen.

Nachdem Sie die Verbindung und die Ressourcen erstellt haben, werden die von Ihnen erstellten Verbindungen und Ressourcen aufgelistet. Um die Verbindung zu konfigurieren, wählen Sie die Verbindung aus und wählen Sie dann die entsprechende Option in der Aktionsleiste aus.

Ähnlich können Sie die unter der Verbindung erstellten Ressourcen löschen, umbenennen oder testen. Wählen Sie dazu die Ressource unter der Verbindung aus und wählen Sie dann die entsprechende Option in der Aktionsleiste aus.

Dienstendpunkt-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: In diesem Fall besitzt das aktuelle Administratorkonto die bereitgestellten Maschinen im Projekt. Dieses Projekt wird auch als lokales Projekt bezeichnet.
  • Shared VPC-Projekt: Projekt, in dem Maschinen, die im Bereitstellungsprojekt erstellt wurden, die VPC aus dem Shared VPC-Projekt verwenden. Das für das Bereitstellungsprojekt verwendete Administratorkonto hat in diesem Projekt eingeschränkte Berechtigungen, insbesondere nur Berechtigungen zur Nutzung der VPC.

Eine sichere Umgebung für GCP-verwalteten Datenverkehr erstellen

Sie können privaten Google-Zugriff auf Ihre Google Cloud-Projekte zulassen. Diese Implementierung erhöht die Sicherheit beim Umgang mit sensiblen Daten. Um dies zu erreichen, können Sie eine der folgenden Optionen wählen:

  • Fügen Sie die folgenden Ingress-Regeln der VPC-Dienstkontrollen für das Cloud Build-Dienstkonto hinzu. Wenn Sie diesen Schritt ausführen, befolgen Sie die unten stehenden Schritte zum Erstellen einer sicheren Umgebung für GCP-verwalteten Datenverkehr nicht.

     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 Worker-Pool verwenden, fügen Sie UsePrivateWorkerPool in CustomProperties hinzu. Weitere Informationen zum privaten Worker-Pool finden Sie unter Übersicht über private Pools.

Anforderungen zum Erstellen einer sicheren Umgebung für GCP-verwalteten Datenverkehr

Die Anforderungen zum Erstellen einer sicheren Umgebung für GCP-verwalteten Datenverkehr sind:

  • Stellen Sie sicher, dass die Hosting-Verbindung im Wartungsmodus ist, wenn Sie die benutzerdefinierten Eigenschaften aktualisieren.
  • Um private Worker-Pools zu verwenden, sind die folgenden Änderungen erforderlich:
    • Fügen Sie für das Citrix Cloud™-Dienstkonto die folgenden IAM-Rollen hinzu:
      • Cloud Build Service Account
      • Compute Instance Admin
      • Service Account User
      • Service Account Token Creator
      • Cloud Build WorkerPool Owner
    • Erstellen Sie das Citrix Cloud-Dienstkonto in demselben Projekt, das Sie zum Erstellen einer Hosting-Verbindung verwenden.
    • Richten Sie DNS-Zonen für private.googleapis.com und gcr.io ein, wie unter DNS-Konfiguration beschrieben.

      DNS-Zonen für private-googleapis-com

      DNS-Zonen für gcr.io

    • Richten Sie privates Network Address Translation (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 gepeerte VPC verwenden, erstellen Sie ein Cloud DNS-Zonen-Peering zur gepeerten VPC. Weitere Informationen finden Sie unter Erstellen einer Peering-Zone.

      Erstellen einer Peering-Zone

    • Richten Sie in den VPC-Dienstkontrollen Egress-Regeln ein, damit die APIs und VMs mit dem Internet kommunizieren können. Ingress-Regeln sind optional. Zum Beispiel:

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

Privaten Worker-Pool aktivieren

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

  1. Öffnen Sie ein PowerShell-Fenster vom Delivery Controller-Host aus 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. Eigenschaftseinstellung <Property xsi:type="StringProperty" Name="UsePrivateWorkerPool" Value="True"/> anhängen. Zum 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. Zum 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 Folgendes aus, um eine vorhandene 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 den vollständigen Satz von Berechtigungen, wie er in diesem Abschnitt angegeben ist, damit die Funktionalität korrekt funktioniert.

Hinweis:

GCP führt nach dem 29. April 2024 Änderungen am Standardverhalten und der Verwendung von Dienstkonten von Cloud Build Services ein. Weitere Informationen finden Sie unter Änderung des Cloud Build-Dienstkontos. Ihre bestehenden Google-Projekte, bei denen die Cloud Build API vor dem 29. April 2024 aktiviert wurde, sind von dieser Änderung nicht betroffen. Wenn Sie jedoch das bestehende Cloud Build Service-Verhalten nach dem 29. April beibehalten möchten, können Sie die Organisationsrichtlinie erstellen oder anwenden, um die Erzwingung der Einschränkung zu deaktivieren, bevor Sie die API aktivieren. Wenn Sie die neue Organisationsrichtlinie festlegen, können Sie weiterhin die bestehenden Berechtigungen in diesem Abschnitt und die Elemente befolgen, die als Vor der Änderung des Cloud Build-Dienstkontos gekennzeichnet sind. Andernfalls befolgen Sie die bestehenden Berechtigungen und Elemente, die als Nach der Änderung des Cloud Build-Dienstkontos gekennzeichnet sind.

Erstellen einer Hostverbindung

  • Mindestberechtigungen, die für das Citrix Cloud-Dienstkonto im Bereitstellungsprojekt erforderlich sind:

     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 verfügen über die oben aufgeführten Berechtigungen:

    • Compute-Administrator
    • Cloud Datastore-Benutzer
  • Zusätzliche Berechtigungen, die für Shared VPC für das Citrix Cloud-Dienstkonto im Shared VPC-Projekt erforderlich sind:

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

    Die folgenden von Google definierten Rollen verfügen über die oben aufgeführten Berechtigungen:

    • Compute Network User

Energieverwaltung von VMs

Mindestberechtigungen, die für das Citrix Cloud-Dienstkonto im Bereitstellungsprojekt im Falle von nur energieverwalteten Katalogen erforderlich sind:

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
compute.zoneOperations.get
<!--NeedCopy-->

Die folgenden von Google definierten Rollen verfügen über die oben aufgeführten Berechtigungen:

  • Compute Admin
  • Cloud Datastore User

Erstellen, Aktualisieren oder Löschen von VMs

  • Mindestberechtigungen, die für das Citrix Cloud-Dienstkonto im Bereitstellungsprojekt erforderlich sind:

     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
     compute.networks.get
     compute.resourcePolicies.use
    
     <!--NeedCopy-->
    

    Die folgenden von Google definierten Rollen verfügen über die oben aufgeführten Berechtigungen:

    • Compute Admin
    • Storage Admin
    • Cloud Build Editor
    • Service Account User
    • Cloud Datastore-Benutzer
  • Zusätzliche Berechtigungen, die für Shared VPC für das Citrix Cloud-Dienstkonto im Shared VPC-Projekt erforderlich sind, um eine Hosting-Einheit unter Verwendung von VPC und Subnetz aus dem Shared VPC-Projekt zu erstellen:

     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 verfügen über die oben aufgeführten Berechtigungen:

    • Compute Network-Benutzer
    • Cloud Datastore-Benutzer

    Mindestberechtigungen, die beim Herunterladen der Vorbereitungsanweisungsdisk auf MCS erforderlich sind:

    • (Vor der Änderung des Cloud Build-Dienstkontos): Weisen Sie diese Berechtigungen dem Cloud Build-Dienstkonto im Bereitstellungsprojekt zu.
    • (Nach der Änderung des Cloud Build-Dienstkontos): Weisen Sie diese Berechtigungen dem Cloud Compute-Dienstkonto im Bereitstellungsprojekt zu.
     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 verfügen über die oben aufgeführten Berechtigungen:

    • Cloud Build-Dienstkonto (Nach der Änderung des Cloud Build-Dienstkontos ist es das Cloud Compute-Dienstkonto)
    • Compute Instance-Administrator
    • Dienstkonto-Benutzer
  • Mindestberechtigungen, die für das Cloud Compute-Dienstkonto im Bereitstellungsprojekt erforderlich sind, die vom Google Cloud Build-Dienst beim Herunterladen der Vorbereitungsanweisungsdisk auf MCS benötigt werden:

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

    Die folgenden von Google definierten Rollen verfügen über die oben aufgeführten Berechtigungen:

    • Compute Network-Benutzer
    • Speicherkonto-Benutzer
    • Cloud Datastore-Benutzer

    Zusätzliche Berechtigungen für Shared VPC beim Herunterladen der Vorbereitungsanweisungsdisk auf MCS erforderlich:

    • (Vor der Änderung des Cloud Build-Dienstkontos): Weisen Sie diese Berechtigungen dem Cloud Build-Dienstkonto im Bereitstellungsprojekt zu.
    • (Nach der Änderung des Cloud Build-Dienstkontos): Weisen Sie diese Berechtigungen dem Cloud Compute-Dienstkonto im Bereitstellungsprojekt zu.
     compute.firewalls.list
     compute.networks.list
     compute.subnetworks.list
     compute.subnetworks.use
     resourcemanager.projects.get
     <!--NeedCopy-->
    

    Die folgenden von Google definierten Rollen verfügen über die oben aufgeführten Berechtigungen:

    • Compute-Netzwerkbenutzer
    • Speicherkonto-Benutzer
    • Cloud Datastore-Benutzer
  • Zusätzliche Berechtigungen für den Cloud Key Management Service (KMS) für das Citrix Cloud-Dienstkonto im Bereitstellungsprojekt erforderlich:

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

    Die folgenden von Google definierten Rollen verfügen über die oben aufgeführten Berechtigungen:

    • Compute KMS-Betrachter

Allgemeine Berechtigungen

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

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
compute.disks.list
compute.instances.setServiceAccount
compute.networks.get
compute.networks.use
compute.networks.useExternalIp
iam.serviceAccounts.actAs
compute.resourcePolicies.use
<!--NeedCopy-->

Nächste Schritte

Weitere Informationen

Verbindung zu Google Cloud-Umgebungen