Verbindung mit Microsoft Azure
Hinweis:
Seit Juli 2023 hat Microsoft Azure Active Directory (Azure AD) in Microsoft Entra ID umbenannt. In diesem Dokument beziehen sich alle Verweise auf Azure Active Directory, Azure AD oder AAD nun auf Microsoft Entra ID.
Verbindungen und Ressourcen erstellen und verwalten beschreibt die Assistenten, die eine Verbindung erstellen. Die folgenden Informationen behandeln Details, die spezifisch für Azure Resource Manager-Cloudumgebungen sind.
Hinweis:
Bevor Sie eine Verbindung mit Microsoft Azure erstellen, müssen Sie Ihr Azure-Konto als Ressourcenstandort eingerichtet haben. Siehe Microsoft Azure Resource Manager-Cloudumgebungen.
Dienstprinzipale und Verbindungen erstellen
Bevor Sie Verbindungen erstellen, müssen Sie Dienstprinzipale einrichten, die von den Verbindungen für den Zugriff auf Azure-Ressourcen verwendet werden. Sie können eine Verbindung auf zwei Arten erstellen:
- Einen Dienstprinzipal und eine Verbindung gemeinsam mit Web Studio erstellen
- Eine Verbindung mit einem zuvor erstellten Dienstprinzipal erstellen
Dieser Abschnitt zeigt Ihnen, wie Sie diese Aufgaben erledigen:
- Dienstprinzipal und Verbindung mit Web Studio erstellen
- Dienstprinzipal mit PowerShell erstellen
- Anwendungsgeheimnis in Azure abrufen
- Verbindung mit einem vorhandenen Dienstprinzipal erstellen
Überlegungen
- Citrix® empfiehlt die Verwendung eines Dienstprinzipals mit der Rolle „Mitwirkender“. Eine Liste der Mindestberechtigungen finden Sie jedoch im Abschnitt Mindestberechtigungen.
- Beim Erstellen der ersten Verbindung fordert Azure Sie auf, die erforderlichen Berechtigungen zu erteilen. Für zukünftige Verbindungen müssen Sie sich weiterhin authentifizieren, aber Azure merkt sich Ihre vorherige Zustimmung und zeigt die Aufforderung nicht erneut an.
- Konten, die zur Authentifizierung verwendet werden, müssen über Berechtigungen verfügen, um Rollen im Abonnement mithilfe von Azure RBAC zuzuweisen. Beispiel: Besitzer, Administrator für rollenbasierte Zugriffssteuerung oder Benutzerzugriffsadministrator des Abonnements.
- Das zur Authentifizierung verwendete Konto muss Mitglied des Verzeichnisses des Abonnements sein. Es gibt zwei Arten von Konten, die zu beachten sind: „Geschäfts-, Schul- oder Unikonto“ und „persönliches Microsoft-Konto“. Weitere Informationen finden Sie unter CTX219211.
-
Obwohl Sie ein vorhandenes Microsoft-Konto verwenden können, indem Sie es als Mitglied des Verzeichnisses des Abonnements hinzufügen, kann es zu Komplikationen kommen, wenn dem Benutzer zuvor Gastzugriff auf eine der Ressourcen des Verzeichnisses gewährt wurde. In diesem Fall haben sie möglicherweise einen Platzhaltereintrag im Verzeichnis, der ihnen nicht die erforderlichen Berechtigungen gewährt, und es wird ein Fehler zurückgegeben.
Beheben Sie dies, indem Sie die Ressourcen aus dem Verzeichnis entfernen und sie explizit wieder hinzufügen. Gehen Sie jedoch vorsichtig mit dieser Option um, da sie unbeabsichtigte Auswirkungen auf andere Ressourcen haben kann, auf die das Konto zugreifen kann.
- Es gibt ein bekanntes Problem, bei dem bestimmte Konten als Verzeichnisgäste erkannt werden, obwohl sie tatsächlich Mitglieder sind. Solche Konfigurationen treten typischerweise bei älteren, etablierten Verzeichniskonten auf. Problemumgehung: Fügen Sie dem Verzeichnis ein Konto hinzu, das den korrekten Mitgliedschaftswert annimmt.
- Ressourcengruppen sind lediglich Container für Ressourcen und können Ressourcen aus anderen Regionen als ihrer eigenen Region enthalten. Dies kann potenziell verwirrend sein, wenn Sie erwarten, dass in der Region einer Ressourcengruppe angezeigte Ressourcen verfügbar sind.
- Stellen Sie sicher, dass Ihr Netzwerk und Subnetz groß genug sind, um die benötigte Anzahl von Maschinen zu hosten. Dies erfordert etwas Weitsicht, aber Microsoft hilft Ihnen, die richtigen Werte anzugeben, mit Anleitungen zur Kapazität des Adressraums.
Dienstprinzipal und Verbindung mit Web Studio erstellen
Wichtig:
Diese Funktion ist für Azure China-Abonnements noch nicht verfügbar.
Mit Web Studio können Sie sowohl einen Dienstprinzipal als auch eine Verbindung in einem einzigen Workflow erstellen. Dienstprinzipale gewähren Verbindungen Zugriff auf Azure-Ressourcen. Wenn Sie sich bei Azure authentifizieren, um einen Dienstprinzipal zu erstellen, wird eine Anwendung in Azure registriert. Für die registrierte Anwendung wird ein geheimer Schlüssel (als Clientgeheimnis oder Anwendungsgeheimnis bezeichnet) erstellt. Die registrierte Anwendung (in diesem Fall eine Verbindung) verwendet das Clientgeheimnis zur Authentifizierung bei Azure AD.
Stellen Sie vor dem Start sicher, dass Sie die folgenden Voraussetzungen erfüllt haben:
- Sie verfügen über ein Benutzerkonto im Azure Active Directory-Mandanten Ihres Abonnements.
- Konten, die zur Authentifizierung verwendet werden, müssen über Berechtigungen verfügen, um Rollen im Abonnement mithilfe von Azure RBAC zuzuweisen. Beispiel: Besitzer, Administrator für rollenbasierte Zugriffssteuerung oder Benutzerzugriffsadministrator des Abonnements.
- Sie verfügen über globale Administrator-, Anwendungsadministrator- oder Anwendungsentwicklerberechtigungen für die Authentifizierung. Diese Berechtigungen können nach dem Erstellen der Hostverbindung widerrufen werden. Weitere Informationen zu Rollen finden Sie unter Integrierte Azure AD-Rollen.
Verwenden Sie den Assistenten Verbindung und Ressourcen hinzufügen, um einen Dienstprinzipal und eine Verbindung gemeinsam zu erstellen:
- Wählen Sie auf der Seite Verbindung die Option Neue Verbindung erstellen, den Verbindungstyp Microsoft Azure und Ihre Azure-Umgebung aus.
- Wählen Sie die Tools aus, die zum Erstellen der virtuellen Maschinen verwendet werden sollen, und wählen Sie dann Weiter.
-
Geben Sie auf der Seite Verbindungsdetails Ihre Azure-Abonnement-ID und einen Namen für die Verbindung ein. Nachdem Sie die Abonnement-ID eingegeben haben, wird die Schaltfläche Neu erstellen aktiviert.
Hinweis:
Der Verbindungsname darf 1–64 Zeichen enthalten und darf nicht nur Leerzeichen oder die Zeichen
\/;:#.*?=<>|[]{}"'()'enthalten. - Wählen Sie Neu erstellen und geben Sie dann den Benutzernamen und das Kennwort des Azure Active Directory-Kontos ein.
- Wählen Sie Anmelden.
- Wählen Sie Akzeptieren, um Citrix Virtual Apps and Desktops™ die aufgeführten Berechtigungen zu erteilen. Citrix Virtual Apps and Desktops erstellt einen Dienstprinzipal, der es ihm ermöglicht, Azure-Ressourcen im Namen des angegebenen Benutzers zu verwalten.
-
Nachdem Sie Akzeptieren ausgewählt haben, kehren Sie zur Seite Verbindung im Assistenten zurück.
Hinweis:
Nachdem Sie sich erfolgreich bei Azure authentifiziert haben, verschwinden die Schaltflächen Neu erstellen und Vorhandene verwenden. Der Text Verbindung erfolgreich wird mit einem grünen Häkchen angezeigt, was die erfolgreiche Verbindung zu Ihrem Azure-Abonnement anzeigt.
-
Wählen Sie auf der Seite Verbindungsdetails die Option Weiter.
Hinweis:
Sie können erst zur nächsten Seite wechseln, wenn Sie sich erfolgreich bei Azure authentifiziert und der Erteilung der erforderlichen Berechtigungen zugestimmt haben.
-
Konfigurieren Sie Ressourcen für die Verbindung. Ressourcen umfassen die Region und das Netzwerk.
- Wählen Sie auf der Seite Region eine Region aus.
- Gehen Sie auf der Seite Netzwerk wie folgt vor:
- Geben Sie einen Ressourcennamen mit 1 bis 64 Zeichen ein, um die Kombination aus Region und Netzwerk zu identifizieren. Ein Ressourcenname darf nicht nur Leerzeichen oder die Zeichen
\/;:#.*?=<>|[]{}"'()'enthalten. - Wählen Sie ein Paar aus virtuellem Netzwerk und Ressourcengruppe aus. (Wenn Sie mehrere virtuelle Netzwerke mit demselben Namen haben, bietet die Kombination des Netzwerknamens mit der Ressourcengruppe eindeutige Kombinationen.) Wenn die auf der vorherigen Seite ausgewählte Region keine virtuellen Netzwerke enthält, kehren Sie zu dieser Seite zurück und wählen Sie eine Region mit virtuellen Netzwerken aus.
- Geben Sie einen Ressourcennamen mit 1 bis 64 Zeichen ein, um die Kombination aus Region und Netzwerk zu identifizieren. Ein Ressourcenname darf nicht nur Leerzeichen oder die Zeichen
- Zeigen Sie auf der Seite Zusammenfassung eine Zusammenfassung der Einstellungen an und wählen Sie Fertig stellen, um die Einrichtung abzuschließen.
Anwendungs-ID anzeigen
Nachdem Sie eine Verbindung erstellt haben, können Sie die Anwendungs-ID anzeigen, die die Verbindung für den Zugriff auf Azure-Ressourcen verwendet.
Wählen Sie in der Liste Verbindung und Ressourcen hinzufügen die Verbindung aus, um die Details anzuzeigen. Die Registerkarte Details zeigt die Anwendungs-ID an.
Dienstprinzipal mit PowerShell erstellen
Um einen Dienstprinzipal mit PowerShell zu erstellen, stellen Sie eine Verbindung mit Ihrem Azure Resource Manager-Abonnement her und verwenden Sie die in den folgenden Abschnitten bereitgestellten PowerShell-Cmdlets.
Stellen Sie sicher, dass Sie die folgenden Elemente bereithalten:
-
SubscriptionId: Azure Resource Manager
SubscriptionIDfür das Abonnement, in dem Sie VDAs bereitstellen möchten. - ActiveDirectoryID: Mandanten-ID der Anwendung, die Sie bei Azure AD registriert haben.
- ApplicationName: Name für die Anwendung, die in Azure AD erstellt werden soll.
Die detaillierten Schritte sind wie folgt:
Stellen Sie eine Verbindung mit Ihrem Azure Resource Manager-Abonnement her.
`Connect-AzAccount`
-
Wählen Sie das Azure Resource Manager-Abonnement aus, in dem Sie den Dienstprinzipal erstellen möchten.
Get-AzSubscription -SubscriptionId $subscriptionId | Select-AzSubscription -
Erstellen Sie die Anwendung in Ihrem AD-Mandanten.
$AzureADApplication = New-AzADApplication -DisplayName $ApplicationName -
Erstellen Sie einen Dienstprinzipal.
New-AzADServicePrincipal -ApplicationId $AzureADApplication.AppId -
Weisen Sie dem Dienstprinzipal eine Rolle zu.
New-AzRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $AzureADApplication.AppId –scope /subscriptions/$SubscriptionId -
Notieren Sie sich im Ausgabefenster der PowerShell-Konsole die ApplicationId. Diese ID geben Sie beim Erstellen der Hostverbindung an.
Abrufen des Anwendungsgeheimnisses in Azure
Um eine Verbindung mithilfe eines vorhandenen Dienstprinzipals zu erstellen, müssen Sie zuerst die Anwendungs-ID und das Geheimnis des Dienstprinzipals im Azure-Portal abrufen.
Die detaillierten Schritte sind wie folgt:
- Rufen Sie die Anwendungs-ID aus dem Web Studio oder mithilfe von PowerShell ab.
- Melden Sie sich beim Azure-Portal an.
- Wählen Sie in Azure Azure Active Directory aus.
- Wählen Sie unter App-Registrierungen in Azure AD Ihre Anwendung aus.
- Gehen Sie zu Zertifikate & Geheimnisse.
- Klicken Sie auf Clientgeheimnisse.
Verbindung mithilfe eines vorhandenen Dienstprinzipals erstellen
Wenn Sie bereits einen Dienstprinzipal haben, können Sie ihn verwenden, um eine Verbindung mithilfe von Web Studio zu erstellen.
Stellen Sie sicher, dass Sie diese Elemente bereithalten:
- SubscriptionId
- ActiveDirectoryID (Mandanten-ID)
- Application ID
-
Anwendungsgeheimnis
Weitere Informationen finden Sie unter Abrufen des Anwendungsgeheimnisses.
- Ablaufdatum des Geheimnisses
Die detaillierten Schritte sind wie folgt:
Im Assistenten Verbindung und Ressourcen hinzufügen:
-
Wählen Sie auf der Seite Verbindung die Option Neue Verbindung erstellen, den Verbindungstyp Microsoft Azure und Ihre Azure-Umgebung aus.
-
Wählen Sie die Tools aus, die zum Erstellen der virtuellen Maschinen verwendet werden sollen, und wählen Sie dann Weiter.
-
Geben Sie auf der Seite Verbindungsdetails Ihre Azure-Abonnement-ID und einen Namen für die Verbindung ein.
Hinweis:
Der Verbindungsname darf 1–64 Zeichen enthalten und darf nicht nur Leerzeichen oder die Zeichen
\/;:#.*?=<>|[]{}"'()'enthalten. -
Wählen Sie Vorhandene verwenden. Geben Sie im Fenster Details des vorhandenen Dienstprinzipals die folgenden Einstellungen für den vorhandenen Dienstprinzipal ein. Nachdem Sie die Details eingegeben haben, wird die Schaltfläche Speichern aktiviert. Wählen Sie Speichern. Sie können diese Seite erst verlassen, wenn Sie gültige Details angegeben haben.
- Abonnement-ID. Geben Sie Ihre Azure-Abonnement-ID ein. Um Ihre Abonnement-ID zu erhalten, melden Sie sich beim Azure-Portal an und navigieren Sie zu Abonnements > Übersicht.
- Active Directory-ID (Mandanten-ID). Geben Sie die Verzeichnis- (Mandanten-) ID der Anwendung ein, die Sie bei Azure AD registriert haben.
- Anwendungs-ID. Geben Sie die Anwendungs- (Client-) ID der Anwendung ein, die Sie bei Azure AD registriert haben.
- Anwendungsgeheimnis. Erstellen Sie einen geheimen Schlüssel (Clientgeheimnis). Die registrierte Anwendung verwendet den Schlüssel zur Authentifizierung bei Azure AD. Wir empfehlen, Schlüssel aus Sicherheitsgründen regelmäßig zu ändern. Speichern Sie den Schlüssel unbedingt, da Sie ihn später nicht mehr abrufen können.
-
Ablaufdatum des Geheimnisses. Geben Sie das Datum ein, nach dem das Anwendungsgeheimnis abläuft. Sie sehen ein Warnsymbol bei der spezifischen Hostverbindung im Knoten Hosting, beginnend 14 Tage vor Ablauf des geheimen Schlüssels. Wenn der geheime Schlüssel jedoch abläuft, erhalten Sie Fehlermeldungen.
Hinweis:
Aus Sicherheitsgründen darf die Ablaufzeit nicht länger als zwei Jahre ab jetzt sein.
- Authentifizierungs-URL. Dieses Feld wird automatisch ausgefüllt und ist nicht bearbeitbar.
- Verwaltungs-URL. Dieses Feld wird automatisch ausgefüllt und ist nicht bearbeitbar.
- Speichersuffix. Dieses Feld wird automatisch ausgefüllt und ist nicht bearbeitbar.
- Azure Blob-Speicherendpunkt zum Hoch- oder Herunterladen von Datenträgern oder Snapshots. Dieses Feld wird automatisch ausgefüllt und ist nicht bearbeitbar.
- Key Vault-Dienst. Dieses Feld wird automatisch ausgefüllt und ist nicht bearbeitbar.
-
Service Bus-Suffix. Dieses Feld wird automatisch ausgefüllt und ist nicht bearbeitbar.
Der Zugriff auf die folgenden Endpunkte ist für die Erstellung eines MCS-Katalogs in Azure erforderlich. Der Zugriff auf diese Endpunkte optimiert die Konnektivität zwischen Ihrem Netzwerk und dem Azure-Portal sowie dessen Diensten.
- Authentifizierungs-URL:
https://login.microsoftonline.com - Verwaltungs-URL:
https://management.azure.com. Dies ist eine Anforderungs-URL für Azure Resource Manager-Anbieter-APIs. Der Endpunkt für die Verwaltung hängt von der Umgebung ab. Zum Beispiel ist er für Azure Globalhttps://management.azure.comund für Azure US Governmenthttps://management.usgovcloudapi.net. - Speichersuffix:
https://*.core.windows.net. Dies (*) ist ein Platzhalterzeichen für das Speichersuffix. Zum Beispielhttps://demo.table.core.windows.net. - Azure Blob-Speicherendpunkt zum Hoch- oder Herunterladen von Datenträgern oder Snapshots:
https://*.storage.azure.net. Dies (*) ist ein Platzhalterzeichen für Blob-Speicherimport- und -exportvorgänge. Zum Beispielhttps://md-impexp-xxxxx.z[00-50].blob.storage.azure.net. - Key Vault-Dienst:
https://*.vault.azure.net. Dies (*) ist ein Platzhalterzeichen für den Key Vault-Namen. Zum Beispielhttps://<your-key-vault-name>.vault.azure.net. - Service Bus-Suffix:
https://*.servicebus.windows.net. Dies (*) ist ein Platzhalterzeichen für Namespaces, die in der globalen Azure-Cloud erstellt wurden. Zum Beispielhttps://{serviceNamespace}.servicebus.windows.net/{path}.
- Authentifizierungs-URL:
- Nachdem Sie Speichern ausgewählt haben, kehren Sie zur Seite Verbindungsdetails zurück. Wählen Sie Weiter, um zur nächsten Seite zu gelangen.
-
Konfigurieren Sie Ressourcen für die Verbindung. Ressourcen umfassen die Region und das Netzwerk.
- Auf der Seite Region wählen Sie eine Region aus.
- Auf der Seite Netzwerk führen Sie folgende Schritte aus:
- Geben Sie einen Ressourcennamen mit 1 bis 64 Zeichen ein, um die Kombination aus Region und Netzwerk zu identifizieren. Ein Ressourcenname darf nicht nur Leerzeichen oder die Zeichen
\/;:#.*?=<>|[]{}"'()'enthalten. - Wählen Sie ein Paar aus virtuellem Netzwerk und Ressourcengruppe aus. (Wenn Sie mehrere virtuelle Netzwerke mit demselben Namen haben, bietet die Kombination des Netzwerknamens mit der Ressourcengruppe eindeutige Kombinationen.) Wenn die auf der vorherigen Seite ausgewählte Region keine virtuellen Netzwerke enthält, kehren Sie zu dieser Seite zurück und wählen Sie eine Region aus, die virtuelle Netzwerke enthält.
- Geben Sie einen Ressourcennamen mit 1 bis 64 Zeichen ein, um die Kombination aus Region und Netzwerk zu identifizieren. Ein Ressourcenname darf nicht nur Leerzeichen oder die Zeichen
- Auf der Seite Zusammenfassung zeigen Sie eine Zusammenfassung der Einstellungen an und wählen Fertig stellen, um die Einrichtung abzuschließen.
Dienstprinzipale und Verbindungen verwalten
Dieser Abschnitt beschreibt, wie Sie Dienstprinzipale und Verbindungen verwalten können:
- Azure-Drosselungseinstellungen konfigurieren
- Image-Freigabe in Azure aktivieren
- Freigegebene Mandanten zu einer Verbindung mit Web Studio hinzufügen
- Image-Freigabe mit PowerShell implementieren
- Anwendungsgeheimnis und Ablaufdatum des Geheimnisses verwalten
Azure-Drosselungseinstellungen konfigurieren
Azure Resource Manager drosselt Anforderungen für Abonnements und Mandanten und leitet den Datenverkehr basierend auf definierten Grenzwerten, die auf die spezifischen Anforderungen des Anbieters zugeschnitten sind. Weitere Informationen finden Sie auf der Microsoft-Website unter Drosselung von Resource Manager-Anforderungen. Es gibt Grenzwerte für Abonnements und Mandanten, bei denen die Verwaltung vieler Maschinen problematisch werden kann. Beispielsweise kann ein Abonnement, das viele Maschinen enthält, Leistungsprobleme im Zusammenhang mit Energieoperationen aufweisen.
Tipp:
Weitere Informationen finden Sie unter Verbessern der Azure-Leistung mit Machine Creation Services.
Um diese Probleme zu mindern, können Sie die interne MCS-Drosselung entfernen, um mehr vom verfügbaren Anforderungskontingent von Azure zu nutzen.
Wir empfehlen die folgenden optimalen Einstellungen beim Ein- oder Ausschalten von VMs in großen Abonnements, z. B. solchen mit 1.000 VMs:
- Absolute gleichzeitige Operationen: 500
- Maximale neue Operationen pro Minute: 2000
- Maximale Parallelität von Operationen: 500
Verwenden Sie Web Studio, um Azure-Operationen für eine bestimmte Azure-Verbindung zu konfigurieren:
- Wählen Sie in Web Studio im linken Bereich Hosting aus.
- Wählen Sie die Verbindung aus.
- Wählen Sie im Assistenten Verbindung bearbeiten die Option Erweitert aus.
- Verwenden Sie auf der Seite Erweitert die Konfigurationsoptionen, um die Anzahl der gleichzeitigen Aktionen und die maximalen neuen Aktionen pro Minute sowie alle zusätzlichen Verbindungsoptionen anzugeben.

MCS unterstützt standardmäßig 500 maximale gleichzeitige Operationen. Alternativ können Sie das Remote PowerShell SDK verwenden, um die maximale Anzahl gleichzeitiger Operationen festzulegen.
Verwenden Sie die PowerShell-Eigenschaft MaximumConcurrentProvisioningOperations, um die maximale Anzahl gleichzeitiger Azure-Bereitstellungsvorgänge anzugeben. Bei der Verwendung dieser Eigenschaft ist Folgendes zu beachten:
- Der Standardwert von
MaximumConcurrentProvisioningOperationsist 500. - Konfigurieren Sie den Parameter
MaximumConcurrentProvisioningOperationsmit dem PowerShell-BefehlSet-item.
Bildfreigabe in Azure aktivieren
Beim Erstellen oder Aktualisieren von Maschinenkatalogen können Sie freigegebene Images aus verschiedenen Azure-Mandanten und -Abonnements auswählen (die über die Azure Compute Gallery freigegeben sind). Um die Bildfreigabe innerhalb oder zwischen Mandanten zu ermöglichen, müssen Sie die erforderlichen Einstellungen in Azure vornehmen:
- Bilder innerhalb eines Mandanten freigeben (abonnementübergreifend)
- Bilder mandantenübergreifend freigeben
Bilder innerhalb eines Mandanten freigeben (abonnementübergreifend)
Um ein Image in der Azure Compute Gallery auszuwählen, das zu einem anderen Abonnement gehört, muss das Image mit dem Dienstprinzipal (SPN) dieses Abonnements geteilt werden.
Wenn beispielsweise ein Dienstprinzipal (SPN 1) vorhanden ist, der in Studio wie folgt konfiguriert ist:
Dienstprinzipal: SPN 1
Abonnement: Abonnement 1
Mandant: Mandant 1
Das Image befindet sich in einem anderen Abonnement, das in Studio wie folgt konfiguriert ist:
Abonnement: Abonnement 2
Mandant: Mandant 1
Wenn Sie das Image in Abonnement 2 mit Abonnement 1 (SPN 1) teilen möchten, wechseln Sie zu Abonnement 2 und teilen Sie die Ressourcengruppe mit SPN1.
Das Image muss mit einem anderen SPN über die rollenbasierte Zugriffssteuerung (RBAC) von Azure geteilt werden. Azure RBAC ist das Autorisierungssystem, das zur Verwaltung des Zugriffs auf Azure-Ressourcen verwendet wird. Weitere Informationen zu Azure RBAC finden Sie im Microsoft-Dokument Was ist die rollenbasierte Zugriffssteuerung (Azure RBAC). Um Zugriff zu gewähren, weisen Sie Dienstprinzipalen Rollen im Bereich der Ressourcengruppe mit der Rolle „Mitwirkender“ zu. Um Azure-Rollen zuzuweisen, müssen Sie die Berechtigung Microsoft.Authorization/roleAssignments/write haben, z. B. Benutzerzugriffsadministrator oder Besitzer. Weitere Informationen zum Teilen von Images mit einem anderen SPN finden Sie im Microsoft-Dokument Zuweisen von Azure-Rollen über das Azure-Portal.
Informationen zum Auswählen eines Images aus einem anderen Abonnement mithilfe von PowerShell-Befehlen finden Sie unter Auswählen eines Images aus einem anderen Abonnement.
Images mandantenübergreifend freigeben
Um Images mandantenübergreifend mit der Azure Compute Gallery freizugeben, erstellen Sie eine Anwendungsregistrierung.
Wenn es beispielsweise zwei Mandanten (Tenant 1 und Tenant 2) gibt und Sie Ihre Image-Galerie mit Tenant 1 teilen möchten, dann:
-
Erstellen Sie eine Anwendungsregistrierung für Tenant 1. Weitere Informationen finden Sie unter Erstellen der App-Registrierung.
-
Gewähren Sie Tenant 2 Zugriff auf die Anwendung, indem Sie eine Anmeldung über einen Browser anfordern. Ersetzen Sie
Tenant2 IDdurch die Mandanten-ID von Tenant 1. Ersetzen SieApplication (client) IDdurch die Anwendungs-ID der von Ihnen erstellten Anwendungsregistrierung. Wenn Sie die Ersetzungen vorgenommen haben, fügen Sie die URL in einen Browser ein und folgen Sie den Anmeldeaufforderungen, um sich bei Tenant 2 anzumelden. Beispiel:https://login.microsoftonline.com/<Tenant 2 ID>/oauth2/authorize?client_id=<Application (client) ID>&response_type=code&redirect_uri=https%3A%2F%2Fwww.microsoft.com%2F <!--NeedCopy-->Weitere Informationen finden Sie unter Tenant 2 Zugriff gewähren.
-
Gewähren Sie der Anwendung Zugriff auf die Ressourcengruppe von Tenant 2. Melden Sie sich als Tenant 2 an und gewähren Sie der Anwendungsregistrierung Zugriff auf die Ressourcengruppe, die das Galerie-Image enthält. Weitere Informationen finden Sie unter Anforderungen mandantenübergreifend authentifizieren.
So erstellen Sie einen Katalog mit einem Image von einem anderen Mandanten mithilfe von PowerShell-Befehlen:
- Benutzerdefinierte Eigenschaften der Hostingverbindung mit freigegebenen Mandanten-IDs aktualisieren.
- Ein Image von einem anderen Mandanten auswählen.
Freigegebene Mandanten zu einer Verbindung mit Web Studio hinzufügen
Beim Erstellen oder Aktualisieren von Maschinenkatalogen in Web Studio können Sie freigegebene Images aus verschiedenen Azure-Mandanten und -Abonnements auswählen (die über die Azure Compute Gallery freigegeben sind). Die Funktion erfordert, dass Sie Informationen zu freigegebenen Mandanten und Abonnements für zugehörige Hostverbindungen angeben.
Hinweis:
Stellen Sie sicher, dass Sie die erforderlichen Einstellungen in Azure konfiguriert haben, um die Imagefreigabe mandantenübergreifend zu ermöglichen. Weitere Informationen finden Sie unter Images mandantenübergreifend freigeben.
Führen Sie die folgenden Schritte für eine Verbindung aus:
- Wählen Sie in Web Studio im linken Bereich die Option Hosting aus.
-
Wählen Sie die Verbindung und dann in der Aktionsleiste die Option Verbindung bearbeiten aus.

-
Führen Sie unter Freigegebene Mandanten Folgendes aus:
- Geben Sie die Anwendungs-ID und das Anwendungsgeheimnis an, die dem Abonnement der Verbindung zugeordnet sind. Citrix Virtual Apps and Desktops verwendet diese Informationen zur Authentifizierung bei Azure AD.
- Fügen Sie Mandanten und Abonnements hinzu, die die Azure Compute Gallery mit dem Abonnement der Verbindung teilen. Sie können bis zu 8 freigegebene Mandanten und 8 Abonnements pro Mandant hinzufügen.
- Wenn Sie fertig sind, wählen Sie Anwenden, um die vorgenommenen Änderungen zu übernehmen und das Fenster geöffnet zu lassen, oder wählen Sie OK, um die Änderungen zu übernehmen und das Fenster zu schließen.
Implementieren der Imagefreigabe mit PowerShell
Dieser Abschnitt führt Sie durch die Prozesse der Imagefreigabe mit PowerShell:
- Ein Image aus einem anderen Abonnement auswählen
- Benutzerdefinierte Eigenschaften der Hostverbindung mit freigegebenen Mandanten-IDs aktualisieren
- Ein Image aus einem anderen Mandanten auswählen(#select-an-image-from-a-different-tenant)
Ein Image aus einem anderen Abonnement auswählen
Sie können ein Image in der Azure Compute Gallery auswählen, das zu einem anderen freigegebenen Abonnement im selben Azure-Mandanten gehört, um MCS-Kataloge mit PowerShell-Befehlen zu erstellen und zu aktualisieren.
- Im Stammordner der Hosting-Einheit erstellt Citrix einen neuen Ordner für freigegebene Abonnements namens
sharedsubscription. -
Alle freigegebenen Abonnements in einem Mandanten auflisten.
Get-ChildItem -Path "XDhyp:\HostingUnits\azres\sharedsubscription.folder" <!--NeedCopy--> -
Wählen Sie ein freigegebenes Abonnement aus, und listen Sie dann alle freigegebenen Ressourcengruppen dieses freigegebenen Abonnements auf.
Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription" <!--NeedCopy--> -
Wählen Sie eine Ressourcengruppe aus, und listen Sie dann alle Galerien dieser Ressourcengruppe auf.
Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\ xyz.resourcegroup" <!--NeedCopy--> -
Wählen Sie eine Galerie aus, und listen Sie dann alle Imagedefinitionen dieser Galerie auf.
Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\testgallery.gallery" <!--NeedCopy--> -
Wählen Sie eine Imagedefinition aus, und listen Sie dann alle Imageversionen dieser Imagedefinition auf.
Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\sigtestdef.imagedefinition" <!--NeedCopy--> -
Erstellen und aktualisieren Sie einen MCS-Katalog mit den folgenden Elementen:
- Ressourcengruppe
- Galerie
- Galerie-Imagedefinition
- Galerie-Imageversion
Informationen zum Erstellen eines Katalogs mit dem Remote PowerShell SDK finden Sie unter https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.
Benutzerdefinierte Eigenschaften der Hosting-Verbindung mit freigegebenen Mandanten-IDs aktualisieren
Verwenden Sie Set-Item, um die benutzerdefinierten Eigenschaften der Hosting-Verbindung mit freigegebenen Mandanten-IDs und Abonnement-IDs zu aktualisieren. Fügen Sie eine Eigenschaft SharedTenants in CustomProperties hinzu. Das Format von Shared Tenants ist:
[{"Tenant":"94367291-119e-457c-bc10-25337231f7bd","Subscriptions":["7bb42f40-8d7f-4230-a920-be2781f6d5d9"]},{"Tenant":"50e83564-c4e5-4209-b43d-815c45659564","Subscriptions":["06ab8944-6a88-47ee-a975-43dd491a37d0"]}]
<!--NeedCopy-->
Zum Beispiel:
Set-Item -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`">
<Property xsi:type=`"StringProperty`" Name=`"SubscriptionId`" Value=`"123`" />
<Property xsi:type=`"StringProperty`" Name=`"ManagementEndpoint`" Value=`"https://management.azure.com/`" />
<Property xsi:type=`"StringProperty`" Name=`"AuthenticationAuthority`" Value=`"https://login.microsoftonline.com/`" />
<Property xsi:type=`"StringProperty`" Name=`"StorageSuffix`" Value=`"core.windows.net`" />
<Property xsi:type=`"StringProperty`" Name=`"TenantId`" Value=`"123abc`" />
<Property xsi:type=`"StringProperty`" Name=`"SharedTenants`" Value=`"`[ { 'Tenant':'123abc', 'Subscriptions':['345', '567'] } ]`"` />
</CustomProperties>"
-LiteralPath @("XDHyp:\Connections\aazure") -PassThru -UserName "advc345" -SecurePassword
$psd
<!--NeedCopy-->
Hinweis:
Sie können mehr als einen Mandanten hinzufügen. Jeder Mandant kann mehr als ein Abonnement haben.
Ein Image von einem anderen Mandanten auswählen
Sie können ein Image in der Azure Compute Gallery auswählen, das zu einem anderen Azure-Mandanten gehört, um MCS-Kataloge mit PowerShell-Befehlen zu erstellen und zu aktualisieren.
- Im Stammordner der Hosting-Einheit erstellt Citrix einen neuen freigegebenen Abonnementordner namens
sharedsubscription. -
Alle freigegebenen Abonnements auflisten.
Get-ChildItem XDHyp:\HostingUnits\azres\sharedsubscription.folder <!--NeedCopy--> -
Wählen Sie ein freigegebenes Abonnement aus und listen Sie dann alle freigegebenen Ressourcengruppen dieses freigegebenen Abonnements auf.
Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription <!--NeedCopy--> -
Wählen Sie eine Ressourcengruppe aus und listen Sie dann alle Galerien dieser Ressourcengruppe auf.
Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\ xyz.resourcegroup <!--NeedCopy--> -
Wählen Sie eine Galerie aus und listen Sie dann alle Image-Definitionen dieser Galerie auf.
Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\efg.gallery <!--NeedCopy--> -
Wählen Sie eine Image-Definition aus und listen Sie dann alle Image-Versionen dieser Image-Definition auf.
Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\efg.gallery\hij.imagedefinition <!--NeedCopy--> -
Erstellen und aktualisieren Sie einen MCS-Katalog mit den folgenden Elementen:
- Ressourcengruppe
- Galerie
- Galerie-Image-Definition
- Galerie-Image-Version
Informationen zum Erstellen eines Katalogs mit dem Remote PowerShell SDK finden Sie unter https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.
Anwendungsgeheimnis und Ablaufdatum des Geheimnisses verwalten
Stellen Sie sicher, dass Sie das Anwendungsgeheimnis für eine Verbindung ändern, bevor das Geheimnis abläuft. Sie sehen ein Warnsymbol bei der spezifischen Hostverbindung im Knoten Hosting ab 14 Tage vor Ablauf des Geheimschlüssels. Wenn der Geheimschlüssel jedoch abläuft, erhalten Sie Fehlermeldungen.
Anwendungsgeheimnis in Azure erstellen
Sie können ein Anwendungsgeheimnis für eine Verbindung über das Azure-Portal erstellen.
- Wählen Sie Azure Active Directory.
- Wählen Sie unter App-Registrierungen in Azure AD Ihre Anwendung aus.
- Gehen Sie zu Zertifikate & Geheimnisse.
- Klicken Sie auf Clientgeheimnisse > Neues Clientgeheimnis.
-
Geben Sie eine Beschreibung des Geheimnisses ein und legen Sie eine Dauer fest. Wenn Sie fertig sind, wählen Sie Hinzufügen.
Hinweis:
Speichern Sie das Clientgeheimnis unbedingt, da Sie es später nicht mehr abrufen können.
- Kopieren Sie den Wert des Client-Geheimnisses und das Ablaufdatum.
- Bearbeiten Sie im Web Studio die entsprechende Verbindung und ersetzen Sie den Inhalt in den Feldern Anwendungsgeheimnis und Ablaufdatum des Geheimnisses durch die kopierten Werte.
Ablaufdatum des Geheimnisses ändern
Sie können das Web Studio verwenden, um das Ablaufdatum für das verwendete Anwendungsgeheimnis hinzuzufügen oder zu ändern.
Hinweis:
Sie sehen ein Warnsymbol bei der spezifischen Hostverbindung im Hosting-Knoten, beginnend 14 Tage vor Ablauf des geheimen Schlüssels.
- Klicken Sie im Assistenten Verbindung und Ressourcen hinzufügen mit der rechten Maustaste auf eine Verbindung und dann auf Verbindung bearbeiten.
- Klicken Sie auf der Seite Verbindungseigenschaften auf Ablaufdatum des Geheimnisses, um das Ablaufdatum für das verwendete Anwendungsgeheimnis hinzuzufügen oder zu ändern.
Verwenden einer vorab erstellten Netzwerksicherheitsgruppe
Erstellen Sie eine Deny-All-Netzwerksicherheitsgruppe für die Image-Vorbereitung, anstatt Citrix aufzufordern, NSG zu erstellen und zu ändern. Bearbeiten Sie die benutzerdefinierten Eigenschaften der Hosting-Einheit mit einem PowerShell-Befehl Set-Item, um den Parameter NsgForPreparation einzuschließen, um die Deny-All-Netzwerksicherheitsgruppe bereitzustellen.
Voraussetzungen
Konfigurieren Sie die folgenden Berechtigungen, die für einen Dienstprinzipal erforderlich sind:
-
Microsoft.Network/networkSecurityGroups/join/action: Eine Netzwerksicherheitsgruppe einem Subnetz oder einer Netzwerkschnittstelle zuordnen -
Microsoft.Network/networkSecurityGroups/read: Ruft die Netzwerksicherheitsgruppe ab -
Microsoft.Network/networkSecurityGroups/securityRules/read: Ruft die Regel ab
Die vorab erstellte Deny-All-Netzwerksicherheitsgruppe hinzufügen
Um die vorab erstellte Deny-All-Netzwerksicherheitsgruppe hinzuzufügen, legen Sie die benutzerdefinierten Eigenschaften auf der Hosting-Einheit wie folgt fest:
- Öffnen Sie ein PowerShell-Fenster mit dem Remote PowerShell SDK.
-
Führen Sie die folgenden Befehle aus:
Add-PSSnapin citrix*. cd XDHyp:\HostingUnits\ Dir <!--NeedCopy--> -
Wählen Sie eine Hosting-Einheit aus, um die Details abzurufen:
Get-Item "XDHyp:\HostingUnits\<hostingunitname>" <!--NeedCopy--> -
Kopieren Sie die CustomProperties in einen Editor und fügen Sie die Eigenschaftseinstellung
<Property xsi:type="StringProperty” Name="NsgForPreparation” Value="{ResourceGroupName}/{NetworkSecurityGroupName}"/>an. Beispiel:<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"NsgForPreparation`" Value=`{ResourceGroupName}/{NetworkSecurityGroupName}`"/></CustomProperties> <!--NeedCopy--> -
Weisen Sie im PowerShell-Fenster den geänderten benutzerdefinierten Eigenschaften eine Variable zu. Beispiel:
$customProperty = "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"NsgForPreparation`" Value=`"{ResourceGroupName}/{NetworkSecurityGroupName}`"/></CustomProperties>" <!--NeedCopy--> - Führen Sie
$cred = Get-Credentialaus. Geben Sie bei Aufforderung die Verbindungsanmeldeinformationen an. Die Anmeldeinformationen sind Azure Application ID und Secret. -
Führen Sie den folgenden Befehl aus.
Set-Item -PSPath XDHyp:\HostingUnits\<hostingunitname> -CustomProperties $customProperty -username $cred.username -Securepassword $cred.password <!--NeedCopy-->Wichtig:
Wenn Sie eine Meldung erhalten, dass SubscriptionId fehlt, ersetzen Sie alle doppelten Anführungszeichen („) durch ein Backtick gefolgt von doppelten Anführungszeichen (`”) in der benutzerdefinierten Eigenschaft.
- Führen Sie
diraus, um die aktualisiertenCustomProperties-Einstellungen zu überprüfen.
Hinweis:
Es dauert länger als eine Minute, bis die Updates übernommen werden.
Details der Netzwerksicherheitsgruppe abrufen
Um die Details der Netzwerksicherheitsgruppe abzurufen, rufen Sie zuerst die Ressourcengruppen ab, die die Netzwerksicherheitsgruppe enthalten, und rufen Sie dann die Netzwerksicherheitsgruppe basierend auf dem Namen der Ressourcengruppe ab.
-
Rufen Sie die Ressourcengruppen ab, die die Netzwerksicherheitsgruppe enthalten. Zum Beispiel:
Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["networksecuritygroup"]}' <!--NeedCopy--> -
Rufen Sie die Netzwerksicherheitsgruppe basierend auf dem Namen der Ressourcengruppe ab. Zum Beispiel:
Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType securitygroup -MaxRecords 5 -AdditionalDataFilter '{"location": ["eastus", "westus"], "resourcegroup":["resourcegroupname"]}' <!--NeedCopy-->
Leere Ressourcengruppen filtern
Verwenden Sie den PowerShell-Befehl Get-HypInventoryItem, um leere Ressourcengruppen zu filtern, während Sie ein Masterimage, ein Maschinenprofil oder ein vorbereitetes Image während der Erstellung des Maschinenkatalogs auswählen.
Beispiele:
-
Maximale Datensätze auf einer Seite abrufen:
Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 <!--NeedCopy--> -
Rufen Sie die maximale Anzahl von Datensätzen auf einer Seite ab und filtern Sie, um Ressourcencontainer mit bestimmten Ressourcen zu finden.
Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}' <!--NeedCopy--> -
Rufen Sie mit „skip“ ab, um die Seite direkt anzugeben, und filtern Sie, um Ressourcencontainer mit bestimmten Ressourcen zu finden.
Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -skip 20 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}' <!--NeedCopy--> -
Verwenden Sie ein Token, um die nächste Seite abzurufen, und filtern Sie, um Ressourcencontainer mit bestimmten Ressourcen zu finden.
Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}' -ContinuationToken 'ew0KICAiJGlkIjogIjEiLA0KICAiTWF4Um93cyI6IDUsDQogICJSb3dzVG9Ta2lwIjogMjUsDQogICJLdXN0b0NsdXN0ZXJVcmwiOiAiaHR0cHM6Ly9hcmctbmV1LTEzLXNmLmFyZy5jb3JlLndpbmRvd3MubmV0Ig0KfQ==' <!--NeedCopy--> -
Rufen Sie alle Ressourcengruppen mit dem Tag „Citrix internal tag“ ab und begrenzen Sie die maximale Anzahl von Datensätzen mit
MaxRecords.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 <!--NeedCopy--> -
Filtern Sie nach Maschinenprofil (Masterimage) mit dem Tag „Citrix internal tag“ und begrenzen Sie die maximale Anzahl von Datensätzen mit
MaxRecords.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "templatespecversion"]}' <!--NeedCopy--> -
Filtern Sie nach vorbereitetem Image mit dem Tag „Citrix internal tag“ und begrenzen Sie die maximale Anzahl von Datensätzen mit
MaxRecords.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["manageddisk", "snapshot", "imageversion"]}' <!--NeedCopy--> -
Filtern Sie nach Maschinenprofil (vorbereitetes Image) mit dem Tag „Citrix internal tag“ und begrenzen Sie die maximale Anzahl von Datensätzen mit
MaxRecords.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "templatespecversion"]}' <!--NeedCopy--> -
Filtern Sie nach Image mit dem Tag „Citrix internal tag“ und begrenzen Sie die maximale Anzahl von Datensätzen mit
MaxRecordsund dem Speicherort.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["manageddisk", "snapshot", "imageversion", "storageaccount"], "location": ["eastus", "westus"]}' <!--NeedCopy--> -
Alle Ressourcengruppen ohne Berücksichtigung von Tags abrufen
CitrixResource.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 50 -AdditionalDataFilter '{"containedresourcetypes": ["manageddisk", "snapshot", "imageversion", "storageaccount"]}' -Force $true <!--NeedCopy-->
Verbindung zur Azure Sovereign Airgap Cloud-Umgebung herstellen
Die Azure Sovereign Airgap Cloud-Umgebung eignet sich für streng geheime Workloads, die sich in getrennten Netzwerkdomänen befinden müssen. Sie können eine Verbindung zur Azure Sovereign Airgap Cloud-Umgebung über eine benutzerdefinierte Eigenschaft DisableInstanceDiscovery herstellen, während Sie eine Hostverbindung erstellen.
<Property xsi:type="StringProperty" Name="DisableInstanceDiscovery" Value="true" />
<!--NeedCopy-->
Weitere Informationen zum Erstellen einer Azure-Hostverbindung finden Sie unter Create-HostingConnection.ps1.
Erforderliche Azure-Berechtigungen
Dieser Abschnitt enthält die minimalen und allgemeinen Berechtigungen, die für Azure erforderlich sind.
Minimale Berechtigungen
Minimale Berechtigungen bieten eine bessere Sicherheitskontrolle. Neue Funktionen, die zusätzliche Berechtigungen erfordern, schlagen jedoch fehl, da nur minimale Berechtigungen verwendet werden.
Erstellen einer Hostverbindung
Fügen Sie eine neue Hostverbindung mit den von Azure erhaltenen Informationen hinzu.
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/disks/read",
"Microsoft.Resources/providers/read",
"Microsoft.Resources/subscriptions/locations/read",
"Microsoft.Resources/tenants/read",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/securityRules/read"
<!--NeedCopy-->
Energieverwaltung von VMs
Maschineninstanzen ein- oder ausschalten.
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Insights/diagnosticsettings/delete",
"Microsoft.Insights/diagnosticsettings/read",
"Microsoft.Insights/diagnosticsettings/write",
<!--NeedCopy-->
Erstellen, Aktualisieren oder Löschen von VMs
Erstellen Sie einen Maschinenkatalog, fügen Sie Maschinen hinzu, löschen oder aktualisieren Sie sie, und löschen Sie den Maschinenkatalog.
Im Folgenden finden Sie die Liste der minimalen Berechtigungen, die erforderlich sind, wenn das Masterimage eine verwaltete Festplatte ist oder Snapshots in derselben Region wie die Hostverbindung gespeichert sind.
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Resources/tags/read",
"Microsoft.Resources/tags/write",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Compute/locations/publishers/artifacttypes/types/versions/read",
"Microsoft.Compute/skus/read",
"Microsoft.Compute/virtualMachines/extensions/read",
"Microsoft.Compute/virtualMachines/extensions/write",
"Microsoft.Features/providers/features/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
"Microsoft.Network/locations/usages/read",
"Microsoft.Compute/capacityReservationGroups/capacityReservations/read"
<!--NeedCopy-->
Sie benötigen die folgenden zusätzlichen Berechtigungen, basierend auf minimalen Berechtigungen für die folgenden Funktionen:
-
Wenn das Masterimage eine VHD in einem Speicherkonto ist, das sich in derselben Region wie die Hostingverbindung befindet:
"Microsoft.Storage/storageAccounts/read", "Microsoft.Storage/storageAccounts/listKeys/action", <!--NeedCopy--> -
Wenn das Masterimage eine ImageVersion aus der Shared Image Gallery ist:
"Microsoft.Compute/galleries/read", "Microsoft.Compute/galleries/images/read", "Microsoft.Compute/galleries/images/versions/read", <!--NeedCopy--> -
Wenn das Masterimage eine verwaltete Festplatte ist und die Snapshots oder die VHD sich in einer anderen Region als die Region der Hostingverbindung befinden:
"Microsoft.Storage/storageAccounts/read", "Microsoft.Storage/storageAccounts/listKeys/action", "Microsoft.Storage/storageAccounts/write", "Microsoft.Storage/storageAccounts/delete", "Microsoft.Storage/checknameavailability/read", "Microsoft.Storage/locations/usages/read", "Microsoft.Storage/skus/read", <!--NeedCopy--> -
Wenn Sie eine von Citrix verwaltete Ressourcengruppe verwenden:
"Microsoft.Resources/subscriptions/resourceGroups/write", "Microsoft.Resources/subscriptions/resourceGroups/delete", <!--NeedCopy--> -
Wenn Sie das Masterimage in der Azure Compute Gallery (ehemals Shared Image Gallery) in einem gemeinsam genutzten Mandanten oder Abonnement ablegen:
"Microsoft.Compute/galleries/write", "Microsoft.Compute/galleries/images/write", "Microsoft.Compute/galleries/images/versions/write", "Microsoft.Compute/galleries/read", "Microsoft.Compute/galleries/images/read", "Microsoft.Compute/galleries/images/versions/read", "Microsoft.Compute/galleries/delete", "Microsoft.Compute/galleries/images/delete", "Microsoft.Compute/galleries/images/versions/delete", "Microsoft.Resources/subscriptions/read", <!--NeedCopy--> -
Wenn Sie die Unterstützung für dedizierte Azure-Hosts verwenden:
"Microsoft.Compute/hostGroups/read", "Microsoft.Compute/hostGroups/write", "Microsoft.Compute/hostGroups/hosts/read", <!--NeedCopy--> -
Wenn Sie die serverseitige Verschlüsselung (SSE) mit kundenverwalteten Schlüsseln (CMK) verwenden:
"Microsoft.Compute/diskEncryptionSets/read", <!--NeedCopy--> -
Wenn Sie VMs mithilfe von ARM-Vorlagen (Maschinenprofil) bereitstellen:
"Microsoft.Resources/deployments/write", "Microsoft.Resources/deployments/operationstatuses/read", "Microsoft.Resources/deployments/read", "Microsoft.Resources/deployments/delete", "Microsoft.Insights/DataCollectionRuleAssociations/Read", "Microsoft.Insights/dataCollectionRules/read", <!--NeedCopy--> -
Wenn Sie eine Azure-Vorlagenspezifikation als Maschinenprofil verwenden:
"Microsoft.Resources/templateSpecs/read", "Microsoft.Resources/templateSpecs/versions/read", <!--NeedCopy-->
Erstellen, Aktualisieren und Löschen von Maschinen mit nicht verwalteter Festplatte
Im Folgenden finden Sie die Liste der Mindestberechtigungen, die erforderlich sind, wenn das Masterimage eine VHD ist und die Ressourcengruppe vom Administrator bereitgestellt wird:
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/tags/read",
"Microsoft.Resources/tags/write",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Storage/checknameavailability/read",
"Microsoft.Storage/locations/usages/read",
"Microsoft.Storage/skus/read",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/locations/usages/read",
<!--NeedCopy-->
Allgemeine Berechtigung
Die Rolle „Mitwirkender“ hat vollen Zugriff zur Verwaltung aller Ressourcen. Dieser Satz von Berechtigungen hindert Sie nicht daran, neue Funktionen zu erhalten.
Der folgende Satz von Berechtigungen bietet die beste Kompatibilität für die Zukunft, obwohl er mehr Berechtigungen enthält, als mit dem aktuellen Funktionsumfang erforderlich sind:
"Microsoft.Compute/diskEncryptionSets/read",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/galleries/delete",
"Microsoft.Compute/galleries/images/delete",
"Microsoft.Compute/galleries/images/read",
"Microsoft.Compute/galleries/images/versions/delete",
"Microsoft.Compute/galleries/images/versions/read",
"Microsoft.Compute/galleries/images/versions/write",
"Microsoft.Compute/galleries/images/write",
"Microsoft.Compute/galleries/read",
"Microsoft.Compute/galleries/write",
"Microsoft.Compute/hostGroups/hosts/read",
"Microsoft.Compute/hostGroups/read",
"Microsoft.Compute/hostGroups/write",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Compute/locations/publishers/artifacttypes/types/versions/read",
"Microsoft.Compute/skus/read",
"Microsoft.Compute/virtualMachines/extensions/read",
"Microsoft.Compute/virtualMachines/extensions/write",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/locations/usages/read",
"Microsoft.Resources/deployments/operationstatuses/read",
"Microsoft.Resources/deployments/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Resources/deployments/write",
"Microsoft.Resources/deployments/delete",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/subscriptions/resourceGroups/write",
"Microsoft.Resources/subscriptions/resourceGroups/delete",
"Microsoft.Resources/providers/read",
"Microsoft.Resources/subscriptions/locations/read",
"Microsoft.Resources/subscriptions/read",
"Microsoft.Resources/tags/read",
"Microsoft.Resources/tags/write",
"Microsoft.Resources/tenants/read",
"Microsoft.Resources/templateSpecs/read",
"Microsoft.Resources/templateSpecs/versions/read",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Storage/checknameavailability/read",
"Microsoft.Storage/locations/usages/read",
"Microsoft.Storage/skus/read",
"Microsoft.Features/providers/features/read",
"Microsoft.Insights/DataCollectionRuleAssociations/Read",
"Microsoft.Insights/dataCollectionRules/read",
"Microsoft.Insights/diagnosticsettings/delete",
"Microsoft.Insights/diagnosticsettings/read",
"Microsoft.Insights/diagnosticsettings/write",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/securityRules/read",
"Microsoft.Compute/capacityReservationGroups/capacityReservations/read"
<!--NeedCopy-->
Berechtigungen auf Hostverbindung validieren
Sie können Berechtigungen für eine Hostverbindung validieren, um Aufgaben im Zusammenhang mit der Erstellung und Verwaltung von MCS-Maschinenkatalogen auszuführen. Diese Implementierung hilft Ihnen, fehlende Berechtigungen, die für verschiedene Szenarien wie das Erstellen, Löschen und Aktualisieren von VMs sowie die Energieverwaltung von VMs erforderlich sind, frühzeitig zu erkennen, damit Sie in kritischen Zeiten nicht blockiert werden.
Sie können die Berechtigungen für eine Hostverbindung mit dem PowerShell-Befehl Test-HypHypervisorConnection validieren. Das Ergebnis des Befehls wird als Liste erfasst, wobei jedes Element 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 eine Diskrepanz bei fehlenden Benutzerberechtigungen zu beheben.
- Fehlende Berechtigung: Die Liste der fehlenden Berechtigungen für eine Kategorie.
Gehen Sie wie folgt vor, um die Berechtigungen zu validieren:
- Erstellen Sie eine Hostverbindung zu Azure.
- Öffnen Sie ein PowerShell-Fenster vom Delivery Controller™-Host.
- Führen Sie
asnp citrix*aus, um die Citrix-spezifischen PowerShell-Module zu laden. -
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Sie über die erforderlichen Berechtigungen zum Testen einer Verbindung verfügen.
Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AzureCon" <!--NeedCopy-->Auf Rollenebene erforderliche Berechtigung für den SPN:
- Microsoft.Authorization/roleDefinitions/read (auf Abonnementebene oder auf Ressourcengruppenebene, falls eine Ressourcengruppe angegeben ist)
- Microsoft.Authorization/roleAssignments/read (auf Abonnementebene oder auf Ressourcengruppenebene, falls eine Ressourcengruppe angegeben ist)
Auf API-Ebene erforderliche Berechtigungen für den SPN:
Microsoft.Graph:
- Application.Read.All
- Directory.Read.All
- ServicePrincipalEndpoint.Read.All
-
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 Berechtigungen in den verschiedenen Kategorien haben.
Beispiel:
So testen Sie eine Verbindung auf Abonnementebene mit erforderlicher höherer Autorisierungsstufe:
Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\ AzureCon -SecurePassword $password -UserName 922e65d5-38ae-4cf5-xxxx-xxxxxxxxx <!--NeedCopy-->Beispiel:
So testen Sie eine Verbindung auf Ressourcengruppenebene ohne hohe Autorisierungsstufe:
Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\testles -CustomProperties $customProperties | Format-List <!--NeedCopy-->Hinweis:
Der Parameter CustomProperties wird verwendet, um die Ressourcengruppenebene anzugeben, da die Ressourcengruppe eine verbindungsspezifische Information ist.
Beispiel:
So testen Sie eine Verbindung mit der höheren Autorisierungsstufe auf Ressourcengruppenebene:
Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\testles -SecurePassword $password -UserName 922e65d5-38ae-4cf5-832b-54122196b7dd -CustomProperties $customProperties <!--NeedCopy-->
Informationen zu Berechtigungen finden Sie unter Erforderliche Azure-Berechtigungen.
Nächste Schritte
- Wenn Sie sich im initialen Bereitstellungsprozess befinden, siehe Maschinenkataloge erstellen
- Azure-spezifische Informationen finden Sie unter Einen Microsoft Azure-Katalog erstellen
Weitere Informationen
In diesem Artikel
- Dienstprinzipale und Verbindungen erstellen
- Dienstprinzipale und Verbindungen verwalten
- Verwenden einer vorab erstellten Netzwerksicherheitsgruppe
- Leere Ressourcengruppen filtern
- Verbindung zur Azure Sovereign Airgap Cloud-Umgebung herstellen
- Erforderliche Azure-Berechtigungen
- Berechtigungen auf Hostverbindung validieren
- Nächste Schritte
- Weitere Informationen