Citrix Virtual Apps and Desktops

AWS-Cloudumgebungen

Dieser Artikel erläutert das Einrichten eines AWS-Kontos als Ressourcenstandort für Citrix Virtual Apps and Desktops. Der Ressourcenstandort enthält eine Reihe grundlegender Komponenten, die sich ideal für Machbarkeitsstudien oder andere Bereitstellungen eignen, bei denen keine Ressourcenverteilung über mehrere Verfügbarkeitszonen erforderlich ist. Nachdem Sie die hier aufgeführten Aufgaben ausgeführt haben, können Sie VDAs installieren, Maschinen bereitstellen und Maschinenkataloge sowie Bereitstellungsgruppen erstellen.

Mit den im vorliegenden Artikel aufgeführten Aufgaben wird ein Ressourcenstandort mit folgenden Komponenten erstellt:

  • Eine virtuelle private Cloud (VPC) mit öffentlichen und privaten Subnetzen in einer einzelnen Verfügbarkeitszone.
  • Eine Instanz, die sowohl als Active Directory-Domänencontroller als auch als DNS-Server ausgeführt wird und im privaten Subnetz der VPC residiert.
  • Eine Instanz, die als Bastionshost im öffentlichen Subnetz der VPC fungiert. Mit dieser Instanz werden RDP-Verbindungen zu den Instanzen im privaten Subnetz für Verwaltungszwecke initiiert. Wenn Sie den Ressourcenstandort eingerichtet haben, können Sie diese Instanz herunterfahren, sodass sie nicht mehr ohne Weiteres verfügbar ist. Wenn Sie andere Instanzen im privaten Subnetz verwalten müssen, z. B. VDA-Instanzen, müssen Sie die Bastionshostinstanz neu starten.

Aufgabenüberblick

Einrichten einer virtuellen privaten Cloud (VPC) mit öffentlichen und privaten Subnetzen: Wenn Sie diese Aufgabe ausführen, stellt AWS ein NAT-Gateway mit einer Elastic IP Address im öffentlichen Subnetz bereit. Dadurch können Instanzen im privaten Subnetz auf das Internet zugreifen. Instanzen im öffentlichen Subnetz sind für eingehenden öffentlichen Datenverkehr zugänglich, Instanzen im privaten Subnetz dagegen nicht.

Konfigurieren von Sicherheitsgruppen. Sicherheitsgruppen fungieren als virtuelle Firewall und steuern den Datenverkehr für die Instanzen in der VPC. Sie fügen den Sicherheitsgruppen Regeln zur Kommunikation zwischen Instanzen im öffentlichen und im privaten Subnetz hinzu. Sie ordnen die Sicherheitsgruppen außerdem jeder Instanz in der VPC zu.

Erstellen eines DHCP-Optionssatzes. Bei Amazon-VPCs werden DHCP- und DNS-Dienste standardmäßig bereitgestellt, was sich auf Ihre Konfiguration von DNS auf dem Active Directory-Domänencontroller auswirkt. Amazon-DHCP kann nicht deaktiviert werden und das Amazon-DNS kann nur für die öffentliche DNS-Auflösung, nicht aber für die Active Directory-Namensauflösung verwendet werden. Um die Domänen- und Namenserver anzugeben, die Instanzen über DHCP übergeben werden, erstellen Sie einen DHCP-Optionssatz. Dieser weist das Active Directory-Domänensuffix zu und gibt den DNS-Server für alle Instanzen in der VPC an. Um sicherzustellen, dass Host- (A) und Reverse-Lookup-Datensätze (PTR-Datensätze) automatisch registriert werden, wenn Instanzen der Domäne beitreten, konfigurieren Sie die Netzwerkadaptereigenschaften für jede Instanz, die Sie dem privaten Subnetz hinzufügen.

Fügen Sie der VPC einen Bastionshost und einen Domänencontroller hinzu. Über den Bastionshost können Sie sich bei Instanzen im privaten Subnetz anmelden, um die Domäne einzurichten und der Domäne Instanzen anzufügen.

Aufgabe 1: Einrichten der VPC

  1. Wählen Sie in der AWS-Verwaltungskonsole VPC.
  2. Wählen Sie im VPC-Dashboard die Option Create VPC.
  3. Wählen Sie VPC and more.
  4. Wählen Sie unter “NAT gateways ($)” In 1 AZoder  1 per AZ.
  5. Lassen Sie unter “DNS Options” die Option Enable DNS hostnames aktiviert.
  6. Wählen Sie Create VPC. AWS erstellt das öffentliche und private Subnetz, das Internetgateway, die Routingtabellen und die Standardsicherheitsgruppe.

Aufgabe 2: Konfigurieren von Sicherheitsgruppen

Bei diesem Vorgang werden die folgenden Sicherheitsgruppen für die VPC erstellt und konfiguriert:

  • Eine öffentliche Sicherheitsgruppe, die den Instanzen in Ihrem öffentlichen Subnetz zugeordnet werden.
  • Eine private Sicherheitsgruppe, die den Instanzen in Ihrem privaten Subnetz zugeordnet werden.

So erstellen Sie die Sicherheitsgruppen:

  1. Wählen Sie im VPC-Dashboard Sicherheitsgruppen.
  2. Erstellen Sie eine Sicherheitsgruppe für die öffentliche Sicherheitsgruppe. Wählen Sie Create Security Group und geben Sie einen Namen und eine Beschreibung für die Gruppe ein. Wählen Sie unter “VPC” die VPC aus, die Sie zuvor erstellt haben. Wählen Sie Yes, Create.

Öffentliche Sicherheitsgruppe konfigurieren

  1. Wählen Sie in der Liste der Sicherheitsgruppen die private Sicherheitsgruppe aus.

  2. Wählen Sie die Registerkarte Inbound Rules und dann Edit, um die folgenden Regeln zu erstellen:

    Typ Quelle
    ALL Traffic Wählen Sie die private Sicherheitsgruppe.
    ALL Traffic Wählen Sie die öffentliche Sicherheitsgruppe.
    ICMP 0.0.0.0/0
    22 (SSH) 0.0.0.0/0
    80 (HTTP) 0.0.0.0/0
    443 (HTTPS) 0.0.0.0/0
    1494 (ICA/HDX) 0.0.0.0/0
    2598 (Sitzungszuverlässigkeit) 0.0.0.0/0
    3389 (RDP) 0.0.0.0/0
  3. Wenn Sie fertig sind, wählen Sie Save.

  4. Wählen Sie die Registerkarte Inbound Rules und dann Edit, um die folgenden Regeln zu erstellen:

    Typ Ziel
    ALL Traffic Wählen Sie die private Sicherheitsgruppe.
    ALL Traffic 0.0.0.0/0
    ICMP 0.0.0.0/0
  5. Wenn Sie fertig sind, wählen Sie Save.

Private Sicherheitsgruppe konfigurieren

  1. Wählen Sie in der Liste der Sicherheitsgruppen die private Sicherheitsgruppe aus.

  2. Wenn Sie keinen Datenverkehr von der öffentlichen Sicherheitsgruppe eingerichtet haben, müssen Sie TCP-Ports festlegen. Wählen Sie die Registerkarte Inbound Rules und dann Edit aus, um die folgenden Regeln zu erstellen:

    Typ Quelle
    ALL Traffic Wählen Sie die private Sicherheitsgruppe.
    ALL Traffic Wählen Sie die öffentliche Sicherheitsgruppe.
    ICMP Wählen Sie die öffentliche Sicherheitsgruppe.
    TCP 53 (DNS) Wählen Sie die öffentliche Sicherheitsgruppe.
    UDP 53 (DNS) Wählen Sie die öffentliche Sicherheitsgruppe.
    80 (HTTP) Wählen Sie die öffentliche Sicherheitsgruppe.
    TCP 135 Wählen Sie die öffentliche Sicherheitsgruppe.
    TCP 389 Wählen Sie die öffentliche Sicherheitsgruppe.
    UDP 389 Wählen Sie die öffentliche Sicherheitsgruppe.
    443 (HTTPS) Wählen Sie die öffentliche Sicherheitsgruppe.
    TCP 1494 (ICA/HDX) Wählen Sie die öffentliche Sicherheitsgruppe.
    TCP 2598 (Sitzungszuverlässigkeit) Wählen Sie die öffentliche Sicherheitsgruppe.
    3389 (RDP) Wählen Sie die öffentliche Sicherheitsgruppe.
    TCP 49152–65535 Wählen Sie die öffentliche Sicherheitsgruppe.
  3. Wenn Sie fertig sind, wählen Sie Save.

  4. Wählen Sie die Registerkarte Inbound Rules und dann Edit, um die folgenden Regeln zu erstellen:

    Typ Ziel
    ALL Traffic Wählen Sie die private Sicherheitsgruppe.
    ALL Traffic 0.0.0.0/0
    ICMP 0.0.0.0/0
    UDP 53 (DNS) 0.0.0.0/0
  5. Wenn Sie fertig sind, wählen Sie Save.

Aufgabe 3: Starten von Instanzen

Führen Sie die folgenden Schritte aus, um zwei EC2-Instanzen zu erstellen und das von Amazon generierte Standardadministratorkennwort zu entschlüsseln:

  1. Wählen Sie in der AWS-Verwaltungskonsole EC2.
  2. Wählen Sie im EC2-Dashboard Launch Instance.
  3. Wählen Sie ein Windows Server-Maschinenimage und einen Instanztyp.
  4. Geben Sie auf der Seite Configure Instance Details einen Namen für die Instanz ein und wählen Sie die zuvor eingerichtete VPC aus.
  5. Treffen Sie unter Subnet für jede Instanz folgende Auswahl:

    • Bastion host: Wählen Sie das öffentliche Subnetz
    • Domain Controller: Wählen Sie das private Subnetz
  6. Treffen Sie unter Auto-assign Public IP address für jede Instanz folgende Auswahl:

    • Bastion host: Wählen Sie Enable.
    • Domain Controller: Wählen Sie Use default setting oder Disable.
  7. Geben Sie für Network Interfaces eine primäre IP-Adresse innerhalb des IP-Bereichs des privaten Subnetzes für den Domänencontroller ein.
  8. Ändern Sie auf der Seite Add Storage bei Bedarf die Datenträgergröße.
  9. Geben Sie auf der Seite Tag Instance einen Anzeigenamen für jede Instanz ein.
  10. Wählen Sie auf der Seite Configure Security Groups die Option Select an existing security group und treffen Sie dann für jede Instanz die folgende Auswahl:

    • Bastion host: Wählen Sie die öffentliche Sicherheitsgruppe.
    • Domain Controller: Wählen Sie die private Sicherheitsgruppe aus.
  11. Überprüfen Sie Ihre Auswahl und wählen Sie Launch.
  12. Erstellen Sie ein neues Schlüsselpaar oder wählen Sie ein vorhandenes aus. Wenn Sie ein neues Schlüsselpaar erstellen, laden Sie die private Schlüsseldatei (.pem) herunter und bewahren Sie sie an einem sicheren Ort auf. Sie müssen den privaten Schlüssel angeben, wenn Sie das Standardadministratorkennwort für die Instanz beschaffen.
  13. Wählen Sie Launch Instances. Wählen Sie View Instances, um eine Liste Ihrer Instanzen anzuzeigen. Warten Sie, bis die neu gestartete Instanz alle Statusprüfungen bestanden hat, bevor Sie darauf zugreifen.
  14. Beschaffen Sie das Standardadministratorkennwort für jede Instanz:

    1. Wählen Sie die Instanz aus der Liste aus und wählen Sie Connect.
    2. Gehen Sie zur Registerkarte RDP client, wählen Sie Get Password und laden Sie Ihre private Schlüsseldatei (.pem) hoch, wenn Sie dazu aufgefordert werden.
    3. Wählen Sie Decrypt Password, um das menschenlesbare Kennwort zu erhalten. AWS zeigt das Standardkennwort an.
  15. Wiederholen Sie die Schritte ab Schritt 2, bis Sie zwei Instanzen erstellt haben:

    • Eine Bastionshostinstanz in Ihrem öffentlichen Subnetz
    • Eine Instanz in Ihrem privaten Subnetz, die als Domänencontroller verwendet werden soll.

Aufgabe 4: Erstellen eines DHCP-Optionssatzes

  1. Wählen Sie im VPC-Dashboard DHCP Options Sets.

  2. Geben Sie die folgenden Informationen ein:

    • Name tag: Geben Sie einen Anzeigenamen für den Satz ein.
    • Domain name: Geben Sie den vollqualifizierten Domänennamen ein, den Sie beim Konfigurieren der Domänencontrollerinstanz verwenden möchten.
    • Domain name servers: Geben Sie die private IP-Adresse, die Sie der Domänencontrollerinstanz zugewiesen haben, und die Zeichenfolge AmazonProvidedDNS getrennt durch Kommas ein.
    • NTP servers: Lassen Sie dieses Feld leer.
    • NetBIOS name servers: Geben Sie die private IP-Adresse der Domänencontrollerinstanz ein.
    • NetBIOS node type: Geben Sie 2 ein.
  3. Wählen Sie Yes, Create.

  4. Verknüpfen des neuen Satzes mit der VPC:

    1. Wählen Sie im VPC-Dashboard Your VPCs und dann die VPC, die Sie zuvor eingerichtet haben.
    2. Wählen Sie Actions > Edit DHCP Options Set.
    3. Wenn Sie dazu aufgefordert werden, wählen Sie den neuen Satz, den Sie erstellt haben, und wählen Sie Save.

Aufgabe 5: Konfigurieren der Instanzen

  1. Stellen Sie mit einem RDP-Clients eine Verbindung mit der öffentlichen IP-Adresse der Bastionhostinstanz her. Geben Sie die Anmeldeinformationen für das Administratorkonto ein, wenn Sie dazu aufgefordert werden.

  2. Starten Sie Remote Desktop Connection auf der Bastionshostinstanz und stellen Sie eine Verbindung zur privaten IP-Adresse der Instanz her, die Sie konfigurieren möchten. Geben Sie die Anmeldeinformationen für die Instanz ein, wenn Sie dazu aufgefordert werden.

  3. Konfigurieren Sie für alle Instanzen im privaten Subnetz folgende DNS-Einstellungen:

    1. Wählen Sie Start > Control Panel > Network and Internet > Network and Sharing Center > Change adapter settings. Doppelklicken Sie auf die angezeigte Netzwerkverbindung.
    2. Wählen Sie Properties > Internet Protocol Version 4 (TCP/IPv4) > Properties.
    3. Wählen Sie Advanced > DNS. Vergewissern Sie sich, dass die folgenden Einstellungen aktiviert sind, und wählen Sie OK:

      • Register this connection’s addresses in DNS
      • Use this connection’s DNS suffix in DNS registration
  4. Konfigurieren des Domänencontrollers:

    1. Fügen Sie mit Server-Manager die Active Directory-Domänendiensterolle mit allen Standardfeatures hinzu.
    2. Stufen Sie die Instanz auf einen Domänencontroller hoch. Aktivieren Sie im Rahmen der Heraufstufung DNS und verwenden Sie den Domänennamen, den Sie beim Erstellen des DHCP-Optionssatzes festgelegt haben. Starten Sie die Instanz neu, wenn Sie dazu aufgefordert werden.

Verbindung erstellen

Beim Erstellen einer Verbindung von Studio aus gilt Folgendes:

  • Sie müssen den API-Schlüssel und die geheimen Schlüsselwerte angeben. Sie können die Schlüsseldatei mit diesen Werten aus AWS exportieren und anschließend importieren. Sie müssen auch die Werte für Region, Verfügbarkeitszone, VPC-Namen, Subnetzadressen, Domänenname, Namen der Sicherheitsgruppen und Anmeldeinformationen angeben.
  • Die für das AWS-Rootkonto von der AWS-Konsole abgerufene Anmeldeinformationsdatei hat nicht das gleiche Format wie die Anmeldeinformationsdateien, die für Standard-AWS-Benutzer heruntergeladen werden. Deshalb kann diese Datei nicht von Citrix Virtual Apps and Desktops zum Ausfüllen der Felder “API-Schlüssel” und “Geheimer Schlüssel” verwendet werden. Verwenden Sie AWS Identity Access Management (IAM)-Anmeldeinformationsdateien.

Hinweis:

Nachdem Sie eine Verbindung hergestellt haben, kann die Aktualisierung des API-Schlüssels und des geheimen Schlüssels fehlschlagen. Um das Problem zu beheben, überprüfen Sie Ihren Proxyserver oder die Firewall-Beschränkungen und stellen Sie sicher, dass die folgende Adresse erreichbar ist: https://*.amazonaws.com.

Standardwerte für Hostverbindungen

Wenn Sie Hostverbindungen in AWS-Cloudumgebungen erstellen, werden die folgenden Standardwerte angezeigt:

| Option | Absolut | Prozent | |— | — | —| | Gleichzeitige Aktionen (alle Typen) | 125 | 100 | | Höchstanzahl neue Aktionen pro Minute | 125 |

MCS unterstützt standardmäßig maximal 100 gleichzeitige Provisioningvorgänge.

Service-Endpunkt-URL

Standard-Service-Endpunkt-URL

Wenn Sie MCS verwenden, werden neue AWS-Verbindungen mit einem API-Schlüssel und einem API-Geheimnis hinzugefügt. Anhand dieser Informationen und des authentifizierten Kontos fragt MCS bei AWS mit dem AWS-API-Aufruf DescribeRegions EC2 die unterstützten Zonen ab. Die Abfrage erfolgt mit der generischen EC2-Service-Endpunkt-URL https://ec2.amazonaws.com/. Wählen Sie über MCS die Zone für die Verbindung aus der Liste der unterstützten Zonen aus. Die bevorzugte AWS-Service-Endpunkt-URL wird automatisch für die Zone ausgewählt. Nach dem Erstellen der Service-Endpunkt-URL können Sie diese nicht mehr ändern.

AWS-Tenancy

AWS bietet die folgenden Tenancy-Optionen an: Freigegeben (Standardoption) und Dediziert. Bei einer freigegebenen Tenancy können sich die Amazon EC2-Instanzen mehrerer Kunden auf derselben physischen Hardware befinden. Bei der dedizierten Tenancy ist die Hardware zur Ausführung der EC2-Instanzen und anderer, vom Kunden entwickelter Instanzen nur einem Kunden vorbehalten. Sie wird nicht von anderen Kunden verwendet.

Sie können mit MCS dedizierte AWS-Hosts über PowerShell bereitstellen.

Dedizierte AWS-Hostmandanten mit PowerShell konfigurieren

Sie können einen Katalog mit Maschinen erstellen, deren Hostmandanten über PowerShell definiert wird.

Ein dedizierter Amazon [EC2]-Host ist ein physischer Server mit [EC2]-Instanzkapazität, der vollständig dediziert ist und die Verwendung vorhandener Socket- oder VM-Softwarelizenzen gestattet.

Für dedizierte Hosts gilt eine voreingestellte Nutzung basierend auf dem Instanztyp. Ein einzelner dedizierter Host des Instanztyps C4 Large ist beispielsweise auf die Ausführung von 16 Instanzen beschränkt. Weitere Informationen finden Sie auf der AWS-Website.

Voraussetzungen für die Bereitstellung auf AWS-Hosts:

  • Ein importiertes Bring Your Own License-Image (AMI). Mit dedizierten Hosts können Sie Ihre vorhandenen Lizenzen verwenden und verwalten.
  • Eine Zuordnung dedizierter Hosts mit ausreichender Nutzungskapazität.
  • Aktiviertes Auto-Placement.

Verwenden Sie zur Bereitstellung auf einem dedizierten Host in AWS mit PowerShell das Cmdlet New-ProvScheme mit dem auf Host festgelegten Parameter “TenancyType”.

Weitere Informationen finden Sie in der Citrix Dokumentation für Entwickler.

Erfassung der AWS-Instanzeigenschaft

Wenn Sie einen Katalog für die Bereitstellung von Maschinen über Maschinenerstellungsdienste (MCS) in AWS erstellen, wählen Sie ein AMI (Amazon Machine Image) als Master-/Gold-Image des Katalogs. Von diesem AMI verwendet MCS einen Snapshot des Datenträgers. In früheren Versionen mussten Rollen oder Tags auf Maschinen individuell über die die AWS-Konsole festgelegt werden. Diese Funktion ist standardmäßig aktiviert.

Tipp:

Zur Verwendung der Erfassung der AWS-Instanzeigenschaft benötigen Sie eine VM, die dem AMI zugeordnet ist.

Zur Verbesserung dieses Prozesses liest MCS Eigenschaften aus der Instanz, aus der das AMI stammt, und wendet die IAM-Rolle und -Tags (Identity and Access Management) der Maschine auf die für einen bestimmten Katalog bereitgestellten Maschinen an. Wenn Sie dieses optionale Feature verwenden, findet der Katalogerstellungsprozess die ausgewählte AMI-Quellinstanz und liest einen begrenzten Satz von Eigenschaften. Diese Eigenschaften werden dann in einer AWS-Startvorlage gespeichert, mit der Maschinen für den Katalog bereitgestellt werden. Alle Maschinen im Katalog erben die erfassten Instanzeigenschaften.

Erfasste Eigenschaften sind:

  • IAM-Rollen — auf bereitgestellte Instanzen angewendet.
  • Tags – auf bereitgestellte Instanzen, deren Datenträger und Netzwerkkarten angewendet. Die Tags werden auf flüchtige Citrix Ressourcen angewendet: S3-Bucket und -Objekte, Volume- und Workerressourcen sowie AMIs, Snapshots und Startvorlagen.

Tipp:

Das Tagging flüchtiger Citrix Ressourcen ist optional und kann über die benutzerdefinierte Eigenschaft AwsOperationalResourcesTagging konfiguriert werden.

Erfassen der AWS-Instanzeigenschaft

Sie können dieses Feature über die Spezifizierung der benutzerdefinierten Eigenschaft AwsCaptureInstanceProperties beim Erstellen eines Provisioningschemas für eine AWS-Hostingverbindung nutzen:

New-ProvScheme -CustomProperties “AwsCaptureInstanceProperties,true” …<standard provscheme parameters

Weitere Informationen finden Sie in der Citrix Dokumentation für Entwickler.

Anwenden von AWS-Instanzeigenschaften und Tagging von Betriebsressourcen

Wenn Sie einen Katalog zum Bereitstellen von Maschinen in AWS über die Maschinenerstellungsdienste erstellen, können Sie festlegen, ob Sie auf diese Maschinen die IAM-Rolle und Tag-Eigenschaften anwenden. Außerdem können Sie festlegen, ob Sie Maschinen-Tags auf Betriebsressourcen anwenden.

Tagging von AWS-Betriebsressourcen

Ein Amazon Machine Image (AMI) ist eine virtuelle Appliance, die zum Erstellen einer virtuellen Maschine in der Amazon Cloud-Umgebung EC2 verwendet wird. Sie verwenden ein AMI, um Dienste bereitzustellen, die die EC2-Umgebung verwenden. Wenn Sie einen Katalog für die Bereitstellung von Maschinen über MCS für AWS erstellen, wählen Sie ein AMI als Gold-Image des Katalogs.

Wichtig:

Das Erstellen von Katalogen durch Erfassen einer Instanzeigenschaft und einer Startvorlage ist für die Verwendung des Taggings von Betriebsressourcen erforderlich.

Um einen AWS-Katalog zu erstellen, müssen Sie zunächst ein AMI für die Instanz erstellen, die als Gold-Image fungieren soll. MCS liest die Tags dieser Instanz und fügt sie in die Startvorlage ein. Die Startvorlagen-Tags werden dann auf alle in der AWS-Umgebung erstellten Citrix Ressourcen angewendet:

  • Virtuelle Maschinen
  • VM-Datenträger
  • VM-Netzwerkschnittstellen
  • S3-Buckets
  • S3-Objekte
  • Startvorlagen
  • AMIs

Tagging einer Betriebsressource

Tagging von Ressourcen mit PowerShell:

  1. Öffnen Sie ein PowerShell-Fenster vom DDC-Host aus.
  2. Führen Sie den Befehl asnp citrix aus, um Citrix spezifische PowerShell-Module zu laden.

Verwenden Sie die neue benutzerdefinierte Eigenschaft AwsOperationalResourcesTagging, um eine Ressource für eine bereitgestellte VM zu taggen. Eigenschaftssyntax:

New-ProvScheme -CustomProperties “AwsCaptureInstanceProperties,true; AwsOperationalResourcesTagging,true” …<standard provscheme parameters>

Definieren von IAM-Berechtigungen

Anhand der Informationen in diesem Abschnitt können Sie IAM-Berechtigungen für Citrix DaaS in AWS definieren. Der IAM-Dienst von Amazon gestattet Konten mit mehreren Benutzern, die in Gruppen organisiert werden können. Die Benutzer können verschiedene Berechtigungen für die Durchführung von Vorgängen haben, die mit dem Konto verknüpft sind. Weitere Informationen zu IAM-Berechtigungen finden Sie unter IAM-JSON-Richtlinienreferenz.

Gehen Sie zum Anwenden der IAM-Berechtigungsrichtlinie auf eine neue Benutzergruppe folgendermaßen vor:

  1. Melden Sie sich bei der AWS-Verwaltungskonsole an und wählen Sie IAM service aus der Dropdownliste aus.
  2. Wählen Sie Create a New Group of Users.
  3. Geben Sie einen Namen für die neue Benutzergruppe ein und wählen Sie Continue.
  4. Wählen Sie auf der Seite Permissions die Option Custom Policy. Wählen Sie Select.
  5. Geben Sie einen Namen für die Berechtigungsrichtlinieein.
  6. Geben Sie im Abschnitt Richtliniendokument die relevanten Berechtigungen ein.

Nach Eingabe der Richtlinieninformationen wählen Sie Continue, um die Benutzergruppe abzuschließen. Den Benutzern in der Gruppe werden nur die Berechtigungen erteilt, die sie zur Ausführung der für Citrix DaaS erforderlichen Aktionen benötigen.

Wichtig:

Verwenden Sie den Richtlinientext im obigen Beispiel, um die von Citrix DaaS in einem AWS-Konto durchgeführten Aktionen aufzulisten, ohne diese auf bestimmte Ressourcen zu beschränken. Citrix empfiehlt die Verwendung des Beispiels zu Testzwecken. Für Produktionsumgebungen können Sie weitere Beschränkungen für Ressourcen hinzufügen.

Hinzufügen von IAM-Berechtigungen

Legen Sie die Berechtigungen im Bereich IAM der AWS Management Console fest:

  1. Wählen Sie im Bereich Summary die Registerkarte Permissions.
  2. Wählen Sie Add Permissions.

Identity and Access Management (IAM)

Erteilen Sie im Fenster Add Permissions to folgende Berechtigungen:

Berechtigungen für IAM-Richtlinien erteilen

Verwenden Sie Folgendes als Beispiel für die Registerkarte JSON:

JSON-Beispiel

Tipp:

Das JSON-Beispiel enthält möglicherweise nicht alle Berechtigungen für Ihre Umgebung. Weitere Informationen finden Sie unter How to Define Identity Access Management Permissions Running Citrix Virtual Apps and Desktops on AWS.

Informationen zu AWS-Berechtigungen

Dieser Abschnitt enthält die vollständige Liste der AWS-Berechtigungen.

Hinweis:

Die Berechtigung iam:PassRole wird nur für role_based_auth benötigt.

Hostverbindung erstellen

Eine neue Hostverbindung wird unter Verwendung der von AWS abgerufenen Informationen hinzugefügt.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeImages",
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
<!--NeedCopy-->

Energieverwaltung virtueller Maschinen

Maschineninstanzen werden ein- oder ausgeschaltet.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:AttachVolume",
                "ec2:CreateVolume",
                "ec2:DeleteVolume",
                "ec2:DescribeInstances",
                "ec2:DescribeVolumes",
                "ec2:DetachVolume",
                "ec2:StartInstances",
                "ec2:StopInstances"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
<!--NeedCopy-->

Erstellen, Aktualisieren oder Löschen von VMs

Ein Maschinenkatalog wird mit VMs erstellt, aktualisiert oder gelöscht, die als AWS-Instanzen bereitgestellt werden.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:AttachVolume",
                "ec2:AssociateIamInstanceProfile",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateImage",
                "ec2:CreateLaunchTemplate",
                "ec2:CreateSecurityGroup",
                "ec2:CreateTags",
                "ec2:CreateVolume",
                "ec2:DeleteVolume",
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeAvailabilityZones",
                “ec2:DescribeIamInstanceProfileAssociations”,
                "ec2:DescribeImages",
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeLaunchTemplates",
                "ec2:DescribeLaunchTemplateVersions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeRegions",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSnapshots",
                "ec2:DescribeSubnets",
                "ec2:DescribeTags",
                "ec2:DescribeVolumes",
                "ec2:DescribeVpcs",
                "ec2:DetachVolume",
                "ec2:DisassociateIamInstanceProfile",
                "ec2:RunInstances",
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:TerminateInstances"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateSecurityGroup",
                "ec2:DeleteSecurityGroup",
                "ec2:RevokeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupIngress"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "s3:CreateBucket",
                "s3:DeleteBucket",
                "s3:PutBucketAcl",
                "s3:PutBucketTagging",
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject",
                "s3:PutObjectTagging"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::citrix*"
        },
        {
            "Action": [
                "ebs:StartSnapshot",
                "ebs:GetSnapshotBlock",
                "ebs:PutSnapshotBlock",
                "ebs:CompleteSnapshot",
                "ebs:ListSnapshotBlocks",
                "ebs:ListChangedBlocks",
                "ec2:CreateSnapshot"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
<!--NeedCopy-->

Hinweis:

Der Abschnitt zu EC2, der sich auf SecurityGroups bezieht, wird nur benötigt, wenn während der Katalogerstellung eine Isolationssicherheitsgruppe für die Vorbereitungs-VM erstellt werden muss. Sobald dies abgeschlossen ist, sind diese Berechtigungen nicht erforderlich.

Direkter Disk-Upload und -Download

Durch den direkten Disk-Upload entfällt die Volumeworker-Anforderung beim Provisioning von Maschinenkatalogen. Stattdessen werden von AWS bereitgestellte öffentliche APIs verwendet. Diese Funktion reduziert die mit zusätzlichen Speicherkonten verbundenen Kosten und die komplexe Verwaltung von Volumeworker-Prozessen.

Folgende Berechtigungen müssen zur Richtlinie hinzugefügt werden:

  • ebs:StartSnapshot
  • ebs:GetSnapshotBlock
  • ebs:PutSnapshotBlock
  • ebs:CompleteSnapshot
  • ebs:ListSnapshotBlocks
  • ebs:ListChangedBlocks
  • ec2:CreateSnapshot
  • ec2:DeleteSnapshot
  • ec2:DescribeLaunchTemplates

Wichtig:

  • Sie können eine neue VM zu vorhandenen Maschinenkatalogen ohne Volumeworker-Prozesse wie Volumeworker-AMI und Volumeworker-VM hinzufügen.
  • Wenn Sie einen vorhandenen Katalog löschen, in dem Volumeworker verwendet wurde, werden alle Artefakte inklusive zugehörigem Volumeworker gelöscht.

EBS-Verschlüsselung erstellter Volumes

EBS kann neu erstellte Volumes automatisch verschlüsseln, wenn das AMI verschlüsselt ist oder EBS zur Verschlüsselung aller neuen Volumes konfiguriert ist. Zum Implementieren der Funktionalität müssen jedoch die folgenden Berechtigungen in der IAM-Richtlinie enthalten sein.

{
     "Version": "2012-10-17",
     "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                 "kms:CreateGrant",
                 "kms:Decrypt",
                 "kms:DescribeKey",
                 "kms:GenerateDataKeyWithoutPlainText",
                 "kms:ReEncryptTo",
                 "kms:ReEncryptFrom"
            ],
            "Resource": "*"
        }
    ]
}
<!--NeedCopy-->

Hinweis:

Die Berechtigungen können durch Hinzufügen eines Abschnitts “Resource” und “Condition” nach Ermessen des Benutzers auf bestimmte Schlüssel beschränkt werden. Beispiel: KMS-Berechtigungen mit Bedingung:

{
     "Version": "2012-10-17",
     "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                 "kms:CreateGrant",
                 "kms:Decrypt",
                 "kms:DescribeKey",
                 "kms:GenerateDataKeyWithoutPlainText",
                 "kms:ReEncryptTo",
                 "kms:ReEncryptFrom"
            ],
            "Resource": [
                "arn:aws:kms:us-east-2:123456789012:key/abcd1234-a123-456d-a12b-a123b4cd56ef"
            ],
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": true
                }
            }
        }
    ]
}
<!--NeedCopy-->

Die folgende Schlüsselrichtlinienanweisung ist die komplette Standardrichtlinie für KMS-Schlüssel, die erforderlich ist, damit das Konto unter Einsatz von IAM-Richtlinien Berechtigungen für alle Aktionen (kms: *) für den KMS-Schlüssel delegieren kann.

{
"Sid": "Enable IAM policies",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "kms:",
"Resource": ""
}
<!--NeedCopy-->

Weitere Informationen finden Sie in der offiziellen AWS-Dokumentation unter AWS Key Management Service.

Rollenbasierte IAM-Authentifizierung

Die folgenden Berechtigungen werden zur Unterstützung der rollenbasierten Authentifizierung hinzugefügt.

{
     "Version": "2012-10-17",
     "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/*"
        }
    ]
}
<!--NeedCopy-->

Richtlinie für Mindest-IAM-Berechtigungen

Die folgende JSON kann für alle derzeit unterstützten Features verwendet werden. Unter Verwendung der Richtlinie können Sie Hostverbindungen erstellen, VMs erstellen, aktualisieren und löschen und die Energieverwaltung durchführen. Die Richtlinie kann auf die Benutzer angewendet werden (siehe Definieren von IAM-Berechtigungen) oder Sie können die rollenbasierte Authentifizierung über den Sicherheitsschlüssel role_based_auth und den geheimen Schlüssel verwenden.

Wichtig:

Um role_based_auth zu verwenden, konfigurieren Sie beim Einrichten des Cloud Connectors zunächst die gewünschte IAM-Rolle für die EC2-Instanz des Cloud Connectors. Fügen Sie unter Verwendung von Citrix Studio die Hostingverbindung hinzu und geben Sie role_based_auth für den Authentifizierungsschlüssel und das Geheimnis an. Eine Hostingverbindung mit diesen Einstellungen verwendet dann die rollenbasierte Authentifizierung.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:AttachVolume",
                "ec2:AssociateIamInstanceProfile",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateImage",
                "ec2:CreateLaunchTemplate",
                "ec2:CreateNetworkInterface",
                "ec2:CreateTags",
                "ec2:CreateVolume",
                "ec2:DeleteLaunchTemplate",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteSecurityGroup",
                "ec2:DeleteSnapshot",
                "ec2:DeleteTags",
                "ec2:DeleteVolume",
                "ec2:DeregisterImage",
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeIamInstanceProfileAssociations",
                "ec2:DescribeImages",
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeLaunchTemplates",
                "ec2:DescribeLaunchTemplateVersions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeRegions",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSnapshots",
                "ec2:DescribeSubnets",
                "ec2:DescribeTags",
                "ec2:DescribeVolumes",
                "ec2:DescribeVpcs",
                "ec2:DetachVolume",
                "ec2:DisassociateIamInstanceProfile",
                "ec2:RebootInstances",
                "ec2:RunInstances",
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:TerminateInstances"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateSecurityGroup",
                "ec2:DeleteSecurityGroup",
                "ec2:RevokeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupIngress"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "s3:CreateBucket",
                "s3:DeleteBucket",
                "s3:DeleteObject",
                "s3:GetObject",
                "s3:PutBucketAcl",
                "s3:PutObject",
                "s3:PutBucketTagging",
                "s3:PutObjectTagging"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::citrix*"
        },
        {
            "Action": [
                "ebs:StartSnapshot",
                "ebs:GetSnapshotBlock",
                "ebs:PutSnapshotBlock",
                "ebs:CompleteSnapshot",
                "ebs:ListSnapshotBlocks",
                "ebs:ListChangedBlocks",
                "ec2:CreateSnapshot"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                 "kms:CreateGrant",
                 "kms:Decrypt",
                 "kms:DescribeKey",
                 "kms:GenerateDataKeyWithoutPlainText",
                 "kms:ReEncryptTo",
                 "kms:ReEncryptFrom"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/*"
        }
    ]
}
<!--NeedCopy-->

Hinweis:

  • Der Abschnitt zu EC2, der sich auf SecurityGroups bezieht, wird nur benötigt, wenn während der Katalogerstellung eine Isolationssicherheitsgruppe für die Vorbereitungs-VM erstellt werden muss. Sobald dies abgeschlossen ist, sind diese Berechtigungen nicht erforderlich.
  • Der KMS-Abschnitt ist nur bei Verwendung der EBS-Volume-Verschlüsselung erforderlich.
  • Der Berechtigungsbereich iam:PassRole wird nur für role_based_auth benötigt.
  • Anstelle eines Vollzugriffs können spezifische Berechtigungen auf Ressourcenebene gemäß Ihren Anforderungen und Ihrer Umgebung hinzugefügt werden. Weitere Informationen finden Sie in den AWS-Dokumenten Demystifying EC2 Resource-Level Permissions und Access management for AWS resources.

Weitere Informationen