Citrix Virtual Apps and Desktops 7 2402 LTSR

Verbindung zu AWS

Verbindungen und Ressourcen erstellen und verwalten beschreibt die Assistenten, die eine Verbindung erstellen. Die folgenden Informationen behandeln Details, die spezifisch für AWS-Cloud-Umgebungen sind.

Hinweis:

Bevor Sie eine Verbindung zu AWS erstellen, müssen Sie zuerst Ihr AWS-Konto als Ressourcenstandort einrichten. Siehe AWS-Cloud-Umgebungen.

Verbindung erstellen

Wenn Sie eine Verbindung über Web Studio erstellen:

  • Sie müssen die Werte für den API-Schlüssel und den geheimen Schlüssel angeben. Sie können die Schlüsseldatei mit diesen Werten aus AWS exportieren und dann importieren. Sie müssen auch die Region, die Verfügbarkeitszone, den VPC-Namen, die Subnetzadressen, den Domänennamen, die Namen der Sicherheitsgruppen und die Anmeldeinformationen angeben.
  • Die Anmeldeinformationsdatei für das AWS-Stammkonto (aus der AWS-Konsole abgerufen) ist nicht im selben Format wie Anmeldeinformationsdateien, die für Standard-AWS-Benutzer heruntergeladen wurden. Daher kann die Verwaltung von Citrix Virtual Apps and Desktops™ die Datei nicht verwenden, um die Felder für den API-Schlüssel und den geheimen Schlüssel zu füllen. Stellen Sie sicher, dass Sie AWS Identity Access Management (IAM)-Anmeldeinformationsdateien verwenden.

Hinweis:

Nachdem Sie eine Verbindung erstellt haben, können Versuche, den API-Schlüssel und den geheimen Schlüssel zu aktualisieren, fehlschlagen. Um das Problem zu beheben, überprüfen Sie Ihre Proxyserver- oder Firewall-Einschränkungen und stellen Sie sicher, dass die folgende Adresse erreichbar ist: https://*.amazonaws.com.

Standardwerte für Hostverbindungen

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

Option Absolut Prozentsatz
Gleichzeitige Aktionen (alle Typen) 125 100
Maximale neue Aktionen pro Minute 125  

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

Dienstendpunkt-URL

Dienstendpunkt-URL der Standardzone

Wenn Sie MCS verwenden, wird eine neue AWS-Verbindung mit einem API-Schlüssel und einem API-Geheimnis hinzugefügt. Mit diesen Informationen, zusammen mit dem authentifizierten Konto, fragt MCS AWS nach den unterstützten Zonen unter Verwendung des AWS DescribeRegions EC2 API-Aufrufs ab. Die Abfrage erfolgt über eine generische EC2-Dienstendpunkt-URL https://ec2.amazonaws.com/. Verwenden Sie MCS, um die Zone für die Verbindung aus der Liste der unterstützten Zonen auszuwählen. Die bevorzugte AWS-Dienstendpunkt-URL wird automatisch für die Zone ausgewählt. Nachdem Sie die Dienstendpunkt-URL jedoch erstellt haben, können Sie die URL nicht mehr festlegen oder ändern.

IAM-Berechtigungen definieren

Verwenden Sie die Informationen in diesem Abschnitt, um IAM-Berechtigungen für Citrix Virtual Apps and Desktops unter AWS zu definieren. Der IAM-Dienst von Amazon erlaubt Konten mit mehreren Benutzern, die weiter in Gruppen organisiert werden können. Diese Benutzer können unterschiedliche Berechtigungen besitzen, um ihre Fähigkeit zur Durchführung von Vorgängen, die mit dem Konto verbunden sind, zu steuern. Weitere Informationen zu IAM-Berechtigungen finden Sie unter IAM-JSON-Richtlinienreferenz.

So wenden Sie die IAM-Berechtigungsrichtlinie auf eine neue Benutzergruppe an:

  1. Melden Sie sich bei der AWS-Verwaltungskonsole an und wählen Sie den IAM-Dienst aus der Dropdown-Liste aus.
  2. Wählen Sie Neue Benutzergruppe erstellen.
  3. Geben Sie einen Namen für die neue Benutzergruppe ein und wählen Sie Weiter.
  4. Wählen Sie auf der Seite Berechtigungen die Option Benutzerdefinierte Richtlinie. Wählen Sie Auswählen.
  5. Geben Sie einen Namen für die Berechtigungsrichtlinie ein.
  6. Geben Sie im Abschnitt Richtliniendokument die relevanten Berechtigungen ein.

Nachdem Sie die Richtlinieninformationen eingegeben haben, wählen Sie Weiter, um die Benutzergruppe zu vervollständigen. Benutzern in der Gruppe werden Berechtigungen erteilt, nur die Aktionen auszuführen, die für Citrix Virtual Apps and Desktops erforderlich sind.

Wichtig:

Verwenden Sie den zuvor im Beispiel bereitgestellten Richtlinientext, um die Aktionen aufzulisten, die Citrix Virtual Apps and Desktops zum Ausführen von Aktionen innerhalb eines AWS-Kontos verwendet, ohne diese Aktionen auf bestimmte Ressourcen zu beschränken. Citrix empfiehlt, das Beispiel zu Testzwecken zu verwenden. Für Produktionsumgebungen können Sie weitere Einschränkungen für Ressourcen hinzufügen.

IAM-Berechtigungen festlegen

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

  1. Wählen Sie im Bereich Zusammenfassung die Registerkarte Berechtigungen.
  2. Wählen Sie Berechtigungen hinzufügen.

Identitäts- und Zugriffsverwaltung (IAM)

Erteilen Sie im Bildschirm Berechtigungen hinzufügen zu Berechtigungen:

Berechtigungen für IAM-Richtlinien erteilen

Verwenden Sie Folgendes als Beispiel auf der Registerkarte JSON:

JSON-Beispiel

Tipp:

Das genannte JSON-Beispiel enthält möglicherweise nicht alle Berechtigungen für Ihre Umgebung. Weitere Informationen finden Sie unter Definieren von Identity Access Management-Berechtigungen für die Ausführung von Citrix Virtual Apps and Desktops unter AWS.

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

Erstellen einer Hostverbindung

Eine neue Hostverbindung wird mithilfe der Informationen von AWS hinzugefügt.

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

Energieverwaltung von VMs

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",
                "ec2:DescribeInstanceStatus"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
<!--NeedCopy-->

Erstellen, Aktualisieren oder Löschen von VMs

Ein Maschinenkatalog wird erstellt, aktualisiert oder gelöscht, wobei VMs 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:DescribeInstanceStatus"
                "ec2:DescribeLaunchTemplates",
                "ec2:DescribeLaunchTemplateVersions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeRegions",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSnapshots",
                "ec2:DescribeSubnets",
                "ec2:DescribeTags",
                "ec2:DescribeSpotInstanceRequests",
                "ec2:DescribeInstanceCreditSpecifications",
                "ec2:DescribeInstanceAttribute",
                "ec2:GetLaunchTemplateData",
                "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 EC2-Abschnitt bezüglich Sicherheitsgruppen wird nur benötigt, wenn während der Katalogerstellung eine Isolationssicherheitsgruppe für die Vorbereitungs-VM erstellt werden muss. Sobald dies geschehen ist, sind diese Berechtigungen nicht mehr erforderlich.

Direkter Festplatten-Upload und -Download

Der direkte Festplatten-Upload eliminiert die Anforderung an Volume Worker für die Bereitstellung von Maschinenkatalogen und verwendet stattdessen öffentliche APIs, die von AWS bereitgestellt werden. Diese Funktionalität reduziert die Kosten, die mit zusätzlichen Speicherkonten verbunden sind, sowie die Komplexität bei der Wartung von Volume Worker-Operationen.

Hinweis:

Die Unterstützung für Volume Worker ist veraltet.

Die folgenden Berechtigungen müssen der 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 VM zu bestehenden Maschinenkatalogen hinzufügen, ohne jegliche Volume Worker-Operation wie Volume Worker-AMI und Volume Worker-VM.
  • Wenn Sie einen vorhandenen Katalog löschen, der zuvor einen Volume Worker verwendet hat, werden alle Artefakte, einschließlich der Volume Worker-bezogenen, 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. Um die Funktionalität zu implementieren, 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 nach Ermessen des Benutzers durch Hinzufügen eines Ressourcen- und Bedingungsblocks 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 gesamte Standardschlüsselrichtlinie für KMS-Schlüssel, die erforderlich ist, um dem Konto die Verwendung von IAM-Richtlinien zur Delegierung von Berechtigungen für alle Aktionen (kms:*) für den KMS-Schlüssel zu ermöglichen.

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

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

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

Minimale IAM-Berechtigungsrichtlinie

Das folgende JSON kann für alle derzeit unterstützten Funktionen verwendet werden. Mit dieser Richtlinie können Sie Hostverbindungen erstellen, VMs erstellen, aktualisieren oder löschen und die Energieverwaltung durchführen. Die Richtlinie kann auf die Benutzer angewendet werden, wie in den Abschnitten IAM-Berechtigungen definieren erläutert, oder Sie können auch die rollenbasierte Authentifizierung mithilfe des Sicherheitsschlüssels und des geheimen Schlüssels role_based_auth verwenden.

Wichtig:

Um role_based_auth zu verwenden, konfigurieren Sie zuerst die gewünschte IAM-Rolle auf allen Delivery Controllern an unserem Standort. Fügen Sie über Web Studio die Hosting-Verbindung hinzu und geben Sie role_based_auth für den Authentifizierungsschlüssel und das Geheimnis an. Eine Hosting-Verbindung 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:DescribeInstanceStatus",
                "ec2:DescribeLaunchTemplates",
                "ec2:DescribeLaunchTemplateVersions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeRegions",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSnapshots",
                "ec2:DescribeSubnets",
                "ec2:DescribeTags",
                "ec2:DescribeSpotInstanceRequests",
                "ec2:DescribeInstanceCreditSpecifications",
                "ec2:DescribeInstanceAttribute",
                "ec2:GetLaunchTemplateData",
                "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:GenerateDataKey",
                 "kms:ReEncryptTo",
                 "kms:ReEncryptFrom"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/*"
        }
    ]
}
<!--NeedCopy-->

Hinweis:

  • Der EC2-Abschnitt bezüglich Sicherheitsgruppen ist nur erforderlich, wenn während der Katalogerstellung eine Isolations-Sicherheitsgruppe für die Vorbereitungs-VM erstellt werden muss. Sobald dies geschehen ist, sind diese Berechtigungen nicht mehr erforderlich.
  • Der KMS-Abschnitt ist nur erforderlich, wenn die EBS-Volume-Verschlüsselung verwendet wird.
  • Der Berechtigungsabschnitt iam:PassRole wird nur für role_based_auth benötigt.
  • Spezifische Berechtigungen auf Ressourcenebene können anstelle des vollständigen Zugriffs hinzugefügt werden, basierend auf Ihren Anforderungen und Ihrer Umgebung. Weitere Informationen finden Sie in den AWS-Dokumenten Demystifying EC2 Resource-Level Permissions und Access management for AWS resources.

Nächste Schritte

Weitere Informationen

Verbindung zu AWS