Citrix Virtual Apps and Desktops

Verbindung zu Amazon WorkSpaces Core Managed Instances

Verbindungen und Ressourcen erstellen und verwalten beschreibt die Assistenten, die eine Verbindung erstellen. Die folgenden Informationen behandeln Details, die spezifisch für Amazon WorkSpaces Core Managed Instances sind.

IAM-Berechtigungen definieren

Bevor Sie eine Hostverbindung erstellen, muss eine IAM-Berechtigungsrichtlinie für einen IAM-Benutzer oder eine Rolle ordnungsgemäß definiert werden, die Citrix die entsprechenden Berechtigungen zum Bereitstellen und Verwalten von Ressourcen in Ihrem AWS-Konto in Ihrem Namen erteilt. Verwenden Sie die Informationen in diesem Abschnitt, um IAM-Berechtigungen für Citrix Virtual Apps and Desktops auf Amazon WorkSpaces Core Managed Instances 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 Operationen im Zusammenhang mit dem Konto zu steuern. Weitere Informationen zu IAM-Berechtigungen finden Sie in der IAM-JSON-Richtlinienreferenz.

Hinweis:

Da Citrix Ressourcen und Automatisierungen in Ihrem AWS-Konto in Ihrem Namen bereitstellt und verwaltet, wird die Konfiguration von IAM-Berechtigungsrichtlinien basierend auf bestimmten Tags oder Ressourcennamenkonventionen nicht unterstützt.

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

  1. Melden Sie sich bei der AWS-Managementkonsole an und wählen Sie den IAM-Dienst aus der Dropdown-Liste aus.
  2. Wählen Sie Create a New Group of Users (Neue Benutzergruppe erstellen).
  3. Geben Sie einen Namen für die neue Benutzergruppe ein und wählen Sie Continue (Weiter).
  4. Wählen Sie auf der Seite Permissions (Berechtigungen) die Option Custom Policy (Benutzerdefinierte Richtlinie).
  5. Geben Sie einen Namen für die Permissions policy (Berechtigungsrichtlinie) ein.
  6. Geben Sie im Abschnitt Policy Document (Richtliniendokument) die relevanten Berechtigungen ein.

Nachdem Sie die Richtlinieninformationen eingegeben haben, wählen Sie Continue (Weiter), um die Anwendung der IAM-Berechtigungsrichtlinie auf die Benutzergruppe abzuschließen. Benutzern in der Gruppe werden nur die Berechtigungen erteilt, die für Citrix Virtual Apps and Desktops erforderlich sind.

Wichtig:

  • Verwenden Sie den im Beispiel dieses Artikels 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 hinzufügen

Fügen Sie die Berechtigungen im Abschnitt IAM der AWS-Managementkonsole hinzu:

  1. Wählen Sie im Bereich Summary (Zusammenfassung) die Registerkarte Permissions (Berechtigungen).
    1. Wählen Sie Add permissions (Berechtigungen hinzufügen).
    1. Erteilen Sie auf dem Bildschirm Add Permissions to (Berechtigungen hinzufügen zu) die Berechtigungen.
  1. Fügen Sie im JSON-Abschnitt die erforderlichen AWS-Berechtigungen für Ihre Umgebung hinzu.

Eine serviceverknüpfte Rolle erstellen

Erstellen Sie für jedes Ihrer AWS-Konten, von denen Citrix Core V2-APIs aufrufen wird, eine serviceverknüpfte Rolle (SLR). connection-name Die Schritte zum Erstellen der Rolle:

  • Öffnen Sie eine Befehlszeilenschnittstelle (CLI) in der AWS-Managementkonsole.
  • Führen Sie den folgenden Befehl in der CLI aus:

     aws iam create-service-linked-role --aws-service-name workspaces-instances.amazonaws.com
     <!--NeedCopy-->
    

Sie können die serviceverknüpfte Rolle auch über die Amazon WorkSpaces Core-Managementkonsole konfigurieren. Siehe Erstellen einer serviceverknüpften Rolle (Konsole).

Eine Verbindung erstellen

Sie können eine Verbindung zu Amazon WorkSpaces Core Managed Instances erstellen mit:

  • Web Studio
  • PowerShell-Befehle

  • Hinweis:

  • Überprüfen Sie Ihre Proxy-Server- oder Firewall-Einschränkungen und stellen Sie sicher, dass die folgenden Adressen erreichbar sind: https://*.amazonaws.com und https://*.api.aws. Stellen Sie außerdem sicher, dass alle in Citrix Gateway-Dienstkonnektivität genannten Adressen erreichbar sind.

  • Wenn diese nicht erreichbar sind, kann dies beim Erstellen oder Aktualisieren der Hostverbindung zu Fehlern führen.

Eine Verbindung mit Web Studio erstellen

  1. Navigieren Sie zur Seite Hosting > Verbindung und Ressourcen hinzufügen.
  2. Führen Sie auf der Seite Verbindung die folgenden Schritte aus, um die Verbindung zu konfigurieren:

    1. Wählen Sie Create a new connection (Neue Verbindung erstellen).
    2. Wählen Sie unter Zone den Ressourcenstandort aus, den Sie für Ihre AWS-Umgebung eingerichtet haben.
    3. Wählen Sie Amazon WorkSpaces Core als Verbindungstyp.
    4. Wählen Sie Use IAM user access key (IAM-Benutzerzugriffsschlüssel verwenden) oder Use IAM role (IAM-Rolle verwenden).

      Für den IAM-Benutzerzugriffsschlüssel geben Sie Ihren API-Schlüssel und Geheimschlüssel für den IAM-Benutzer an, der über die entsprechende IAM-Berechtigungsrichtlinie verfügt, damit Citrix Ressourcen in Ihrem AWS-Konto verwalten kann.

      Für die IAM-Rolle stellen Sie sicher, dass Sie der Delivery Controller-Instanz eine IAM-Rolle zugewiesen haben, die über die entsprechende IAM-Berechtigungsrichtlinie verfügt, damit Citrix Ressourcen in Ihrem AWS-Konto verwalten kann. Weitere Informationen finden Sie im Leitfaden zur rollenbasierten Authentifizierung.

    5. Geben Sie einen Verbindungsnamen ein und klicken Sie auf Next (Weiter).
  3. Geben Sie auf der Seite Virtual Machine Location (Speicherort der virtuellen Maschine) den Speicherort an, an dem die VMs bereitgestellt werden sollen. Wählen Sie die Cloud-Region, VPC und Verfügbarkeitszone für die Erstellung neuer VMs aus.
  4. Auf der Seite Network (Netzwerk):

    1. Geben Sie einen Namen für die Ressourcen ein, die Sie zuvor in der Verfügbarkeitszone oder lokalen Zone ausgewählt haben.
    2. Wählen Sie ein oder mehrere Subnetze in der VPC aus, die Sie im vorherigen Menü konfiguriert haben.
  5. Klicken Sie sich durch die verbleibenden Seiten bis zur Seite Summary (Zusammenfassung).
  6. Klicken Sie auf Finish (Fertig stellen), um die Hostverbindung zu Amazon WorkSpaces Core Managed Instances zu erstellen.

Wichtige Überlegungen

Wenn Sie eine Verbindung mit Web Studio erstellen:

  • Definieren Sie die entsprechenden IAM-Berechtigungen, damit Citrix Ihre AWS-Ressourcen verwalten kann.
    • Wenn Sie einen IAM-Benutzerzugriffsschlüssel verwenden, damit Citrix Ihre AWS-Ressourcen verwalten kann, müssen Sie die Werte für den API-Schlüssel und den Geheimschlüssel angeben. Sie können die Schlüsseldatei, die diese Werte enthält, aus AWS exportieren und dann importieren. Sie müssen auch die Region, Verfügbarkeitszone, den VPC-Namen, Subnetzadressen, den Domänennamen, Sicherheitsgruppennamen und Anmeldeinformationen angeben.
    • Wenn Sie eine IAM-Rolle verwenden, damit Citrix Ihre AWS-Ressourcen verwalten kann, müssen Sie sicherstellen, dass allen Ihren Delivery Controllern eine Rolle mit entsprechenden IAM-Berechtigungen zugewiesen ist. Weitere Informationen finden Sie im Leitfaden zur rollenbasierten Authentifizierung.
  • Die Anmeldeinformationsdatei für das AWS-Root-Konto (aus der AWS-Konsole abgerufen) ist nicht im selben Format wie Anmeldeinformationsdateien, die für Standard-AWS-Benutzer heruntergeladen wurden. Daher kann Citrix Virtual Apps and Desktops die Datei nicht verwenden, um die Felder für den API-Schlüssel und den Geheimschlüssel zu füllen. Stellen Sie sicher, dass Sie AWS Identity Access Management (IAM)-Anmeldeinformationsdateien verwenden.
  • Die Zone kann eine Verfügbarkeitszone oder eine lokale Zone sein.

  • Eine Verbindung mit PowerShell erstellen

  1. Öffnen Sie ein PowerShell-Fenster.
  2. Führen Sie asnp citrix* aus, um die Citrix-spezifischen PowerShell-Module zu laden.
  3. Führen Sie die folgenden Befehle aus. Es folgt ein Beispiel:

    ``` $connectionName = “demo-hostingconnection” $cloudRegion = “us-east-1” $apiKey = “aaaaaaaaaaaaaaaaaaaa” $apiSecret = “bbbbb” $secureKey = ConvertTo-SecureString -String $apiSecret $zoneUid = “00000000-0000-0000-0000-000000000000” $connectionPath = “XDHyp:\Connections" + $connectionName

    $connection = New-Item -Path $connectionPath -ConnectionType “AmazonWorkSpacesCoreMachineManagerFactory” -HypervisorAddress “ “https://workspaces-instances.$($cloudRegion).api.aws”” -Persist -Scope @() -UserName $apiKey -SecurePassword $secureKey -ZoneUid $zoneUid

  • New-BrokerHypervisorConnection -HypHypervisorConnectionUid $connection.HypervisorConnectionUid

    $hostingUnitName = “demo-hostingunit” $availabilityzone = “us-east-1a” $vpcName = “Default VPC” $jobGroup = [Guid]::NewGuid() $hostingUnitPath = “XDHyp:\HostingUnits" + $HostingUnitName $rootPath = $connectionPath + “" + $vpcName + “.virtualprivatecloud"

    • $availabilityZonePath = @($rootPath + $availabilityzone + “.availabilityzone”) $networkPaths = (Get-ChildItem $availabilityZonePath[0] | Where ObjectType -eq “Network”) | Select-Object -ExpandProperty FullPath # will select all the networks in the availability zone

    New-Item -Path $hostingUnitPath -AvailabilityZonePath $availabilityZonePath -HypervisorConnectionName $connectionName -JobGroup $jobGroup -PersonalvDiskStoragePath @() -RootPath $rootPath -NetworkPath $networkPaths

    ```

Hinweis:

Um eine Verbindung mittels rollenbasierter Authentifizierung herzustellen, geben Sie apiKey und apiSecret als role_based_auth an.

Einschränkung

Wenn Sie den Namen einer AWS Virtual Private Cloud (VPC) in der AWS-Konsole ändern, wird die vorhandene Hosting-Einheit in Citrix Cloud™ unterbrochen. Wenn die Hosting-Einheit unterbrochen ist, können Sie keine Kataloge erstellen oder Maschinen zu vorhandenen Katalogen hinzufügen. Um das Problem zu beheben, ändern Sie den Namen der AWS VPC wieder in den ursprünglichen Namen.

Verbindung bearbeiten

Sie können eine vorhandene Hostverbindung bearbeiten, um:

Optionen zum Bereitstellen von IAM-Berechtigungen bearbeiten

  1. Klicken Sie mit der rechten Maustaste auf eine vorhandene Amazon WorkSpaces Core-Verbindung.
  2. Klicken Sie auf der Seite Verbindungseigenschaften auf Einstellungen bearbeiten.
  3. Wählen Sie eine der Optionen aus, um IAM-Berechtigungen für Citrix zur Ressourcenverwaltung bereitzustellen. Geben Sie die erforderlichen Details ein und klicken Sie auf Speichern.

Maximale Anzahl gleichzeitiger Aktionen ändern

Wenn Sie Hostverbindungen in Studio für Amazon WorkSpaces Core Managed Instances erstellen, werden die folgenden Standardwerte angezeigt:

Option Absolut Prozentsatz
Gleichzeitige Aktionen (alle Typen) 125 100
Maximale neue Aktionen pro Minute 150 n. z.
Maximale gleichzeitige Bereitstellungsvorgänge 150 n. z.

MCS unterstützt standardmäßig 150 maximale gleichzeitige Bereitstellungsvorgänge.

Sie können diese Werte konfigurieren, indem Sie im Citrix Studio auf dem Bildschirm Verbindung bearbeiten den Abschnitt Erweitert aufrufen:

Alternativ können Sie das Remote PowerShell SDK verwenden, um die maximale Anzahl gleichzeitiger Vorgänge für optimale Einstellungen in Ihrer Umgebung festzulegen.

Verwenden Sie die benutzerdefinierte PowerShell-Eigenschaft MaximumConcurrentProvisioningOperations, um die maximale Anzahl gleichzeitiger AWS-Bereitstellungsvorgänge anzugeben.

Vor der Konfiguration:

  • Stellen Sie sicher, dass Sie das PowerShell SDK für Cloud installiert haben.
  • Beachten Sie, dass der Standardwert für MaximumConcurrentProvisioningOperations 150 beträgt.

Führen Sie die folgenden Schritte aus, um den Wert von MaximumConcurrentProvisioningOperations anzupassen:

  1. Öffnen Sie ein PowerShell-Fenster.
  2. Führen Sie asnp citrix* aus, um die Citrix-spezifischen PowerShell-Module zu laden.
  3. Geben Sie cd xdhyp:\Connections\ ein.
  4. Geben Sie dir ein, um die Verbindungen aufzulisten.
  5. Ändern oder initialisieren Sie die Zeichenfolge der benutzerdefinierten Eigenschaften:

    • Wenn die Zeichenfolge der benutzerdefinierten Eigenschaften einen Wert hat, kopieren Sie die benutzerdefinierten Eigenschaften in den Editor. Ändern Sie anschließend die Eigenschaft MaximumConcurrentProvisioningOperations auf Ihren bevorzugten Wert. Sie können einen Wert im Bereich von 1–1000 eingeben. Beispiel: <Property xsi:type="IntProperty" Name="MaximumConcurrentProvisioningOperations" Value="xyz"/>.

    • Wenn die Zeichenfolge der benutzerdefinierten Eigenschaften leer oder null ist, müssen Sie die Zeichenfolge initialisieren, indem Sie die richtige Syntax sowohl für das Schema als auch für die Eigenschaft MaximumConcurrentProvisioningOperations eingeben.

  6. Fügen Sie im PowerShell-Fenster die geänderten benutzerdefinierten Eigenschaften aus dem Editor ein und weisen Sie den geänderten benutzerdefinierten Eigenschaften eine Variable zu. Wenn Sie die benutzerdefinierten Eigenschaften initialisiert haben, fügen Sie die folgenden Zeilen nach der Syntax hinzu:

    $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Property xsi:type="IntProperty" Name="MaximumConcurrentProvisioningOperations" Value="100"/></CustomProperties>'
    <!--NeedCopy-->
    

    Diese Zeichenfolge setzt die Eigenschaft MaximumConcurrentProvisioningOperations auf 100. In der Zeichenfolge der benutzerdefinierten Eigenschaften müssen Sie die Eigenschaft MaximumConcurrentProvisioningOperations auf einen Wert setzen, der Ihren Anforderungen entspricht.

  7. Geben Sie Get-XDAuthentication ein, wodurch Sie zur Eingabe Ihrer Anmeldeinformationen aufgefordert werden.
  8. Führen Sie $cred = Get-Credential aus, wodurch Sie möglicherweise nur nach einem Kennwort (oder einem Namen und Kennwort) gefragt werden. Sie werden möglicherweise auch nach der Anwendungs-ID und dem zugehörigen Geheimnis gefragt. Für Verbindungen, die eine rollenbasierte Authentifizierung verwenden, ist role_based_auth sowohl der Name als auch das Kennwort. Andernfalls geben Sie die AWS-API-ID und das Geheimnis ein.
  9. Führen Sie set-item -PSPath 'XDHyp:\Connections<connection-name>’ -CustomProperties $customProperties -username $cred.username -Securepassword $cred.password` aus. Sie müssen den <connection-name> auf den Namen der Verbindung setzen.
  10. Geben Sie dir ein, um die aktualisierte Zeichenfolge der benutzerdefinierten Eigenschaften zu überprüfen.

Sicherheitsgruppen pro Netzwerkschnittstelle konfigurieren

Beim Bearbeiten einer Hostverbindung können Sie jetzt die maximale Anzahl von Sicherheitsgruppen pro Elastic Network Interface (ENI) mithilfe eines PowerShell-Befehls konfigurieren. Informationen zu den Kontingentwerten für AWS-Sicherheitsgruppen finden Sie unter Sicherheitsgruppen.

So konfigurieren Sie Sicherheitsgruppen pro Netzwerkschnittstelle:

  1. Öffnen Sie ein PowerShell-Fenster.
  2. Führen Sie asnp citrix* aus, um die Citrix-spezifischen PowerShell-Module zu laden.
  3. Führen Sie cd xdhyp:\Connections\ aus.
  4. Führen Sie dir aus, um die Verbindungen aufzulisten.
  5. Führen Sie den folgenden PowerShell-Befehl aus, um Sicherheitsgruppen pro Netzwerkschnittstelle zu konfigurieren:

    Set-HypHypervisorConnectionMetadata -HypervisorConnectionName aws -Name "Citrix_MachineManagement_Options" -Value " AwsMaxENISecurityGroupLimit=<number>"
    <!--NeedCopy-->
    

    Hinweis:

    Wenn Sie keinen Wert für AwsMaxENISecurityGroupLimit festlegen, wird der Standardwert 5 verwendet.

Dienstendpunkt-URL

Dienstendpunkt-URL für Standardzone

Wenn Sie MCS verwenden, wird eine neue Amazon WorkSpaces Core Managed Instances-Verbindung mit einem API-Schlüssel und einem API-Geheimnis hinzugefügt. Mit diesen Informationen und dem authentifizierten Konto fragt MCS AWS nach den unterstützten Regionen und Zonen mithilfe von AWS EC2- und Amazon WorkSpaces Core Managed Instances-API-Aufrufen ab. Die Abfrage erfolgt über eine Workspace Instances Service Endpoint URL https://workspaces-instances.us-east-1.api.aws/ und einen EC2 Service Endpoint https:/ec2.us-east-1.api.aws/.

Hinweis:

Stellen Sie sicher, dass https://workspaces-instances.us-east-1.api.aws/ erreichbar ist.

Erforderliche AWS-Berechtigungen

Dieser Abschnitt enthält die vollständige Liste der AWS-Berechtigungen. Verwenden Sie den vollständigen Satz von Berechtigungen, wie in diesem Abschnitt angegeben, damit die Funktionalität korrekt funktioniert.

Hinweis:

Die Berechtigung iam:PassRole wird nur benötigt, wenn IAM-Rollen für Citrix zur Verwaltung von Ressourcen verwendet werden.

Erstellen einer Hostverbindung

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

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

Energieverwaltung von VMs

VMs werden ein- oder ausgeschaltet.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:DescribeInstances",,
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:RebootInstances",
                "ec2:DescribeInstanceStatus"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
           "Action": [
               "workspaces-instances:*"
           ],
           "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:RevokeSecurityGroupEgress",
                "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:DescribeInstanceStatus",
                "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": "*"
        },
        {
            "Action": [
                "workspaces-instances:*"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }

    ]
}
<!--NeedCopy-->

Hinweis:

  • Der EC2-Abschnitt bezüglich SecurityGroups wird nur benötigt, wenn während der Katalogerstellung eine Isolation Security Group für die Vorbereitungs-VM erstellt werden muss. Sobald dies geschehen ist, sind diese Berechtigungen nicht mehr erforderlich.

Direkter Festplatten-Upload und -Download

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

EBS-Verschlüsselung erstellter Volumes

EBS kann neu erstellte Volumes automatisch verschlüsseln, wenn das AMI verschlüsselt ist oder EBS so konfiguriert ist, dass alle neuen Volumes verschlüsselt werden. Um die Funktionalität zu implementieren, müssen jedoch die folgenden Berechtigungen in die IAM-Richtlinie aufgenommen werden.

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

Hinweis:

Die Berechtigungen können nach Ermessen des Benutzers auf bestimmte Schlüssel beschränkt werden, indem ein Ressourcen- und Bedingungsblock hinzugefügt wird. Zum Beispiel: KMS-Berechtigungen mit Bedingung:

{
     "Version": "2012-10-17",
     "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                 "kms:CreateGrant",
                 "kms:Decrypt",
                 "kms:DescribeKey",
                 "kms:GenerateDataKeyWithoutPlainText",
                 "kms:GenerateDataKey",
                 "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:*) auf dem 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 hinzugefügt, um die rollenbasierte Authentifizierung zu unterstützen.

{
     "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 unter IAM-Berechtigungen definieren erläutert, oder Sie können auch die rollenbasierte Authentifizierung verwenden, indem Sie IAM-Rolle verwenden bei der Konfiguration einer Hostverbindung auswählen.

Wichtig:

Um IAM-Rollen für Citrix zur Verwaltung von Ressourcen zu verwenden, konfigurieren Sie zuerst die gewünschte IAM-Rolle auf der Delivery Controller EC2-Instanz, wenn Sie die Delivery Controller einrichten. Fügen Sie mit Citrix Studio die Hosting-Verbindung hinzu und wählen Sie die Option IAM-Rolle verwenden. Eine Hosting-Verbindung mit diesen Einstellungen verwendet dann die rollenbasierte Authentifizierung.

{
    "Version": "2012-10-17",
-  "Statement": [
        {
-  "Action": [
-  "ec2:AttachVolume",
-  "ec2:AssociateIamInstanceProfile",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupEgress",
                "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: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/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "workspaces-instances:*"
            ],
            "Resource": "*"
        }

    ]
}
<!--NeedCopy-->

Hinweis:

  • Der EC2-Abschnitt bezüglich SecurityGroups wird nur benötigt, wenn während der Katalogerstellung eine Isolation Security Group 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 benötigt, wenn IAM-Rollen für Citrix zur Verwaltung von Ressourcen verwendet werden.
  • Spezifische Berechtigungen auf Ressourcenebene können anstelle des vollständigen Zugriffs hinzugefügt werden, basierend auf Ihren Anforderungen und Ihrer Umgebung. Weitere Details finden Sie in den AWS-Dokumenten Demystifying EC2 Resource-Level Permissions und Access management for AWS resources.
  • Verwenden Sie die Berechtigungen ec2:CreateNetworkInterface und ec2:DeleteNetworkInterface nur, wenn Sie die Volume-Worker-Methode verwenden.

Nächste Schritte

Weitere Informationen

Verbindung zu Amazon WorkSpaces Core Managed Instances