Citrix Virtual Apps and Desktops

Verbindung zu AWS

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

Hinweis:

Bevor Sie eine Verbindung zu AWS herstellen, müssen Sie zunächst Ihr AWS-Konto als Ressourcenstandort eingerichtet haben. Siehe AWS-Cloudumgebungen.

Verbindung erstellen

Beim Erstellen einer Verbindung von Web 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 die Einschränkungen Ihres Proxyservers oder Ihrer Firewall 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.

Kontoübergreifende Bereitstellung

Es gibt Anwendungsfälle, in denen die Delivery Controller in einem primären AWS-Konto (Konto mit freigegebenen Diensten oder Konto mit Sitekomponenten) mit IAM-Rollen platziert werden sollen, die kontenübergreifenden Zugriff haben (kontoübergreifende IAM-Rolle) und MCS-bereitgestellte Maschinenkataloge in einem separaten sekundären AWS-Konto (Workloadkonten), ohne dass zusätzliche Delivery Controller in den separaten Konten erforderlich sind. Um solche Szenarien zu unterstützen, verwendet dieses Feature VPC-Peering und kontenübergreifenden Zugriff mit IAM-Rollen, um Unternehmen, die mehrere AWS-Konten verwalten, die Bereitstellung über verschiedene AWS-Konten hinweg zu ermöglichen.

Mit VPC-Peering können Ihre Delivery Controller und bereitgestellten VMs in verschiedenen Regionen und/oder Konten miteinander kommunizieren.

Mit kontenübergreifendem Zugriff unter Verwendung der IAM-Rollen gestatten Sie dem primären Konto (Delivery Controller-Konto), eine IAM-Rolle zu übernehmen, um auf AWS-Ressourcen im sekundären Konto (Maschinenkatalog-VMs) zuzugreifen.

Um Delivery Controllern den Zugriff auf die Ressourcen des sekundären Kontos zu ermöglichen, erstellen Sie eine Hostverbindung, nachdem Sie die IAM-Rolle vom sekundären Konto übernommen haben.

Voraussetzungen

Richten Sie Folgendes ein, bevor Sie eine Hostverbindung für die kontoübergreifende Bereitstellung erstellen:

  • Richten Sie VPC-Peering ein und konfigurieren Sie die Sicherheitsgruppen in beiden Regionen oder Konten. Siehe VPC-Peering einrichten
  • Delegieren Sie den kontenübergreifenden Zugriff mit IAM-Rollen. Siehe (Link zum Thema unten).

VPC-Peering einrichten

Nehmen wir an, dass sich VPC A im primären Konto (Konto A) befindet und über die Delivery Controller und Active Directory verfügt. VPC B befindet sich im sekundären Konto (Konto B), in dem Sie die VMs bereitstellen möchten.

Um eine VPC-Peering-Verbindung zwischen Konto A und Konto B einzurichten, gehen Sie wie folgt vor:

  1. Erstellen Sie eine VPC-Peering-Verbindung. Siehe:

  2. Gehen Sie zu Ihrer VPC A und zur Routentabelle, die mit dem öffentlichen Subnetz verknüpft ist.
  3. Klicken Sie auf Routen bearbeiten > Route hinzufügen. Fügen Sie den CIDR-Block von VPC B in der Spalte Ziel und das von Ihnen erstellte VPC-Peering in der Spalte Ziel hinzu.
  4. Wiederholen Sie die Schritte 2 und 3, jedoch mit den privaten Subnetzen für VPC A und VPC B (fügen Sie den CIDR-Block von VPC A hinzu). Siehe Aktualisieren Sie Ihre Routentabellen für eine VPC-Peering-Verbindung.
  5. Gehen Sie zur privaten Sicherheitsgruppe, die mit VPC A verknüpft ist.
  6. Wählen Sie Aktionen und dann Eingehende Regeln bearbeiten.
  7. Wählen Sie Regel hinzufügen. Wählen Sie als Typ Gesamter Datenverkehr aus und fügen Sie dann in der Quellspalte Folgendes hinzu:

    • Wenn es sich um eine andere Region handelt, der CIDR-Block von VPC B.
    • Wenn es sich um ein anderes Konto, aber dieselbe Region handelt, fügen Sie die Konto-ID und die private Sicherheitsgruppen-ID von VPC B getrennt durch einen Schrägstrich hinzu (Beispiel: 123456789012/sg-1a2b3c4d).
  8. Wiederholen Sie die Schritte 5 bis 7, jedoch mit der privaten Sicherheitsgruppe für VPC B (fügen Sie jedoch den CIDR-Block von VPC A oder die Konto-ID und die ID der privaten Sicherheitsgruppe von VPC A derselben Region, aber eines anderen Kontos hinzu). Weitere Informationen finden Sie unter Sicherheitsgruppen aktualisieren, um auf Peer-Sicherheitsgruppen zu verweisen.

Hinweis:

Das Erstellen einer VPC-Peering-Verbindung ist kostenlos. Während VPC-Peering innerhalb einer Availability Zone kostenlos ist, fallen Gebühren an, wenn die Datenübertragung über eine VPC-Peering-Verbindung über mehrere Availability Zones und Regionen hinweg erfolgt. Weitere Informationen finden Sie unter Preise für eine VPC-Peering-Verbindung.

Delegieren Sie den kontenübergreifenden Zugriff mit IAM-Rollen

Nachdem Sie das VPC-Peering über Konten hinweg eingerichtet haben, delegieren Sie den kontenübergreifenden Zugriff mit IAM-Rollen.

Mit kontenübergreifendem Zugriff unter Verwendung der IAM-Rollen gestatten Sie dem primären Konto (Delivery Controller™-Konto), eine IAM-Rolle zu übernehmen, um auf AWS-Ressourcen im sekundären Konto (Maschinenkatalog-VMs) zuzugreifen.

Um auf kontoübergreifende Ressourcen zuzugreifen, gehen Sie wie folgt vor:

Nicht vergessen:

Angenommen, VPC A befindet sich im primären Konto (Konto A) und verfügt über den Delivery Controller und Active Directory. VPC B befindet sich im sekundären Konto (Konto B), in dem Sie die VMs bereitstellen möchten

  1. Richten Sie mit den oben genannten Schritten VPC-Peering über Konten hinweg ein.
  2. Erstellen Sie eine IAM-Rolle und -Richtlinie in Konto B mit minimalen Citrix IAM-Berechtigungen. Weitere Informationen finden Sie unter IAM-Tutorial: Zugriff über AWS-Konten hinweg mit von IAM-Rollen delegieren. Nehmen wir an, die ARN dieser Rolle lautet „arn:aws:iam::5678:role/citrix-role“.
  3. Fügen Sie der Rolle “arn:aws:iam::5678:role/citrix-role” die Vertrauensrichtlinie hinzu, sodass der Zugriff durch die Rolle “arn:aws:iam::1234:role/primary-account-citrix-role” von Konto A gemäß – Kontoübergreifender Ressourcenzugriff in IAM zulässig ist.
  4. Erstellen Sie die IAM-Rolle und -Richtlinie in Konto A mit dem oben genannten Namen “primary-account-citrix role”, das die Möglichkeit hat, die IAM-Rolle zu übernehmen und die IAM-Rolle von Konto B weiterzugeben (arn:aws:iam::5678:role/citrix-role).
  5. Weisen Sie allen Delivery Controllern in Konto A die Rolle “arn:aws:iam::1234:role/primary-account-citrix-role” zu.

Delivery Controller kann jetzt die Rolle von Konto B übernehmen (“arn:aws:iam::5678:role/citrix-role”).

Hostverbindung für kontoübergreifende Bereitstellung erstellen

Erstellen Sie eine Hostverbindung im sekundären Konto (Konto B), in dem Sie die VMs bereitstellen möchten. Dadurch kann der Delivery Controller von Konto A auf die Ressourcen in Konto B zugreifen, nachdem er die Rolle von Konto B übernommen hat.

Verwenden Sie PowerShell-Befehle, um die Hostverbindung zu erstellen und die folgenden zwei benutzerdefinierten Eigenschaften hinzuzufügen:

  • CrossAccountRoleArn: Wenn Sie die Eigenschaft CrossAccountRoleArn nicht angeben, wird die reguläre Hostverbindung erstellt. In diesem Fall wird MaximumAssumeRoleDurationInSeconds ignoriert, auch wenn es angegeben ist.
  • MaximumAssumeRoleDurationInSeconds: DurationInSeconds muss zwischen 900 und 3600 Sekunden liegen. Die Standardeinstellung ist 900 Sekunden. Wenn Sie einen Wert größer als 3600 angeben, wird DurationInSeconds auf 3600 gesetzt.

Beispiel:

  $connectionName = "cross-account-conn"
$cloudRegion = "us-east-1"
$apiKey = "role_based_auth"
$secretKey = "role_based_auth"
$zoneUid = "xxxxxx"
$secureKey = (ConvertTo-SecureString -String $secretKey -AsPlainText -Force)
$connectionPath = "XDHyp:\Connections\" + $connectionName
$customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="CrossAccountRoleArn" Value="arn:aws:iam::5678:role/citrix-role" /><Property xsi:type="StringProperty" Name="MaximumAssumeRoleDurationInSeconds" Value="3600" />
"</CustomProperties>'

$connection = New-Item -Path $connectionPath -ConnectionType "AWS" -HypervisorAddress "https://ec2.$($cloudRegion).amazonaws.com" -Persist -Scope @() -UserName $apiKey -SecurePassword $secureKey -ZoneUid $zoneUid -CustomProperties $customProperties

New-BrokerHypervisorConnection -HypHypervisorConnectionUid $connection.HypervisorConnectionUid
<!--NeedCopy-->

Nachdem die Hostverbindung hergestellt wurde, erstellen Sie Hostingeinheiten mit Studio oder PowerShell. Wählen Sie jedoch VPC und Netzwerke aus.

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 mithilfe einer generischen EC2-Service-Endpoint-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.

IAM-Berechtigungen definieren

Anhand der Informationen in diesem Abschnitt können Sie IAM-Berechtigungen für Citrix Virtual Apps and Desktops 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 Virtual Apps and Desktops erforderlichen Aktionen benötigen.

Wichtig:

Verwenden Sie den Richtlinientext im obigen Beispiel, um die von Citrix Virtual Apps and Desktops 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.

IAM-Berechtigungen festlegen

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.

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.

Hostverbindung erstellen

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

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

Energieverwaltung virtueller Maschinen

VMs werden ein- oder ausgeschaltet.

  {
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:DescribeInstances",
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:RebootInstances"
            ],
            "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: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:CreateSecurityGroup",
                "ec2:DeleteSecurityGroup",
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "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 Sicherheitsgruppen 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.

Hinweis:

Die Unterstützung für Volumeworker wurde entfernt. Für die Bereitstellung des Maschinenkatalogs sind die Berechtigungen zum direkten Hoch- und Herunterladen auf den Datenträger erforderlich.

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 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 IAM-Berechtigungen definieren) 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 zunächst die gewünschte IAM-Rolle auf allen Delivery Controllers auf unserer Site. Fügen Sie unter Verwendung von Web 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: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:CreateSecurityGroup",
                "ec2:DeleteSecurityGroup",
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "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 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.

Berechtigungen für die Hostverbindung bestätigen

Sie können die Berechtigungen für eine Hostverbindung überprüfen, um Aufgaben im Zusammenhang mit der Erstellung und Verwaltung von MCS-Maschinenkatalogen auszuführen. Diese Implementierung hilft Ihnen, die fehlenden Berechtigungen, die für verschiedene Szenarien wie das Erstellen, Löschen und Aktualisieren von VMs, Energieverwaltung von VMs und EBS-Verschlüsselung erforderlich sind, im Voraus zu ermitteln, sodass Sie vermeiden können, in kritischen Zeiten blockiert zu werden.

Sie können die Berechtigungen für eine Hostverbindung mit dem PowerShell-Befehl Test-HypHypervisorConnection überprüfen. Das Ergebnis des Befehls wird als Liste erfasst, in der jedes Element in der Liste in drei Abschnitte unterteilt ist.

  • Kategorie: Die Aktion oder Aufgabe, die ein Benutzer ausführen kann, um einen MCS-Maschinenkatalog zu erstellen und zu verwalten.
  • Korrekturmaßnahme: Der Schritt, den ein Administrator ausführen muss, um die Diskrepanz bei fehlenden Berechtigungen eines Benutzers zu beheben.
  • Fehlende Berechtigung: Die Liste der fehlenden Berechtigungen für eine Kategorie.

Gehen Sie wie folgt vor, um die Berechtigungen zu überprüfen:

  1. Erstellen Sie eine Hostverbindung zu AWS.
  2. Öffnen Sie ein PowerShell-Fenster vom Delivery Controller-Host aus.
  3. Führen Sie asnp citrix* aus, um die Citrix-spezifischen PowerShell-Module zu laden.
  4. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Sie über die erforderlichen Berechtigungen verfügen, um Ihre Berechtigungen abzurufen.

      Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AWSCon"
    <!--NeedCopy-->
    
  5. Nachdem Sie die fehlenden Berechtigungen hinzugefügt haben, die zum Nachschlagen Ihrer Berechtigungen erforderlich sind, führen Sie den folgenden Befehl aus, um zu überprüfen, ob Sie über Berechtigungen in den folgenden Kategorien verfügen:

    • Erstellen, Aktualisieren, Löschen
    • Energieverwaltung
    • EBS-Verschlüsselung
      Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AWSCon" [-SecurePassword -Password] "password" -UserName "" -CustomProperties ""
    <!--NeedCopy-->
    

Weitere Informationen zum Hinzufügen von Berechtigungen finden Sie unter IAM-Berechtigungen festlegen.

So geht es weiter

Weitere Informationen

Verbindung zu AWS