NSX Cloud bietet PowerShell-Skripte, mit denen Sie den erforderlichen Dienstprinzipal und die Rollen für ein oder mehrere Abonnements generieren können.

Voraussetzungen

  • Sie müssen PowerShell 5.0+ mit dem AzureRM-Modul installiert haben. Wenn Sie über das neue Azure PowerShell AZ-Modul verfügen, müssen Sie den Befehl Enable-AzureRmAlias ausführen, um sicherzustellen, dass die AzureRM-Cmdlets für NSX Cloud erfolgreich ausgeführt werden. .
  • Sie müssen der Eigentümer sein oder über Berechtigungen zum Erstellen und Zuweisen von Rollen in allen Microsoft Azure-Abonnements verfügen.
Hinweis: Die Antwortzeiten von Microsoft Azure können dazu führen, dass das Skript beim ersten Ausführen fehlschlägt. Wenn das Skript fehlschlägt, versuchen Sie es erneut auszuführen.

Prozedur

  1. Laden Sie auf einem Windows-Desktop oder -Server die ZIP-Datei CreateNSXCloudCredentials.zip von der NSX-T Data Center-Download-Seite > Treiber & Tools > NSX-Cloud-Skripte > Microsoft Azure herunter.

  2. Entpacken Sie den folgenden Inhalt der ZIP-Datei in Ihr Windows-System:
    Skript/Datei Beschreibung
    CreateNsxRoles.ps1 Das PowerShell-Skript zum Generieren des NSX Cloud Dienstprinzipals und der verwalteten Identitätsrollen für CSM und PCG. Dieses Skript verwendet die folgenden Parameter:
    • -subscriptionId <the Transit_VNet's_Azure_subscription_ID>
    • (optional) -servicePrincipalName <Service_Principal_Name>
    • (optional) -useOneServicePrincipal
    AddServicePrincipal.ps1 Ein optionales Skript, das erforderlich ist, wenn Sie jedem Abonnement mehrere Abonnements hinzufügen und verschiedene Dienstprinzipale zuweisen möchten. Weitere Informationen finden Sie unter Szenario 3 in den folgenden Schritten. Dieses Skript verwendet die folgenden Parameter:
    • -computeSubscriptionId <the_Compute_VNet's_Azure_subscription_ID>
    • -transitSubscriptionId <the Transit_VNet's_Azure_Subscription_ID>
    • -csmRoleName <CSM_Role_Name>
    • -servicePrincipalName <Service_Principal_Name>
    nsx_csm_role.JSON Eine JSON-Vorlage für den Namen und die Berechtigungen der CSM-Rolle. Diese Datei ist als Eingabe in das PowerShell-Skript erforderlich und muss sich im selben Ordner wie das Skript befinden.
    nsx_pcg_role.JSON Eine JSON-Vorlage für den Namen und die Berechtigungen der PCG-Rolle. Diese Datei ist als Eingabe in das PowerShell-Skript erforderlich und muss sich im selben Ordner wie das Skript befinden.
    Hinweis: Der PCG-(Gateway-)Rollenname ist standardmäßig nsx-pcg-role. Sie müssen diesen Wert beim Hinzufügen Ihres Abonnements in CSM angeben.
  3. Szenario 1: Sie verfügen über ein einzelnes Microsoft Azure-Abonnement, das Sie mit NSX Cloud aktivieren möchten.
    1. Wechseln Sie aus einer PowerShell-Instanz in das Verzeichnis, in das Sie die Microsoft Azure-Skripte und die JSON-Dateien heruntergeladen haben.
    2. Führen Sie das Skript mit dem Namen „CreateNsxRoles.ps1“ und dem -SubscriptionId-Parameter wie folgt aus:
      .\CreateNsxRoles.ps1 -subscriptionId <the_single_Azure_subscription_ID> 
      Hinweis: Wenn Sie den Service Principal-Standardnamen nsx-service-admin überschreiben möchten, können Sie auch den Parameter - servicePrincipalName verwenden. Der SPN muss in Ihrem Microsoft Azure Active Directory eindeutig sein.
  4. Szenario 2: Sie verfügen über mehrere Microsoft Azure-Abonnements unter demselben Microsoft Azure-Verzeichnis, die Sie mit NSX Cloud aktivieren möchten, Sie möchten jedoch für all Ihre Abonnements nur einen einzigen NSX Cloud Service Principal verwenden.
    1. Wechseln Sie aus einer PowerShell-Instanz in das Verzeichnis, in das Sie die Microsoft Azure-Skripte und die JSON-Dateien heruntergeladen haben.
    2. Bearbeiten Sie jede der JSON-Dateien, um eine Liste anderer Abonnement-IDs unter dem Abschnitt mit dem Titel „AssignableScopes“ hinzuzufügen, beispielsweise:
      "AssignableScopes": [
      
      "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      
      "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-ffffffffffff",
      
      "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-000000000000"
      Hinweis: Sie müssen das im Beispiel gezeigte Format verwenden, um Abonnement-IDs hinzufügen: "/subscriptions/<Subscription_ID>"
    3. Führen Sie das Skript mit dem Namen CreateNsxRoles.ps1 mit den Parametern -subscriptionID und -useOneServicePrincipal aus:
      .\CreateNsxRoles.ps1 -subscriptionId <the_Transit_VNet's_Azure_subscription_ID> -useOneServicePrincipal 
      Hinweis: Lassen Sie den Dienstprinzipalnamen hier weg, wenn Sie den Standardnamen verwenden möchten: nsx-service-admin. Wenn dieser Dienstprinzipalname bereits in Ihrem Microsoft Azure Active Directory vorhanden ist, führt die Ausführung dieses Skripts ohne Dienstprinzipalnamen dazu, dass der Dienstprinzipal aktualisiert wird.
  5. Szenario 3: Sie verfügen über mehrere Microsoft Azure-Abonnements unter demselben Microsoft Azure-Verzeichnis, die Sie mit NSX Cloud aktivieren möchten, Sie möchten jedoch unterschiedliche NSX Cloud Service Principal-Namen für unterschiedliche Abonnements verwenden.
    1. Wechseln Sie aus einer PowerShell-Instanz in das Verzeichnis, in das Sie die Microsoft Azure-Skripte und die JSON-Dateien heruntergeladen haben.
    2. Führen Sie die Schritte b und c aus dem zweiten Szenario aus, um in jeder der JSON-Dateien mehrere Abonnements zum Abschnitt „AssignableScopes“ hinzufügen.
    3. Führen Sie das Skript mit dem Namen CreateNsxRoles.ps1 mit dem Parameter -subscriptionID aus:
      .\CreateNsxRoles.ps1 -subscriptionId <One of the subscription_IDs> 
      Hinweis: Lassen Sie den Dienstprinzipalnamen hier weg, wenn Sie den Standardnamen verwenden möchten: nsx-service-admin. Wenn dieser Dienstprinzipalname in Ihrem Microsoft Azure Active Directory vorhanden ist, führt die Ausführung dieses Skripts ohne Dienstprinzipalnamen dazu, dass der Dienstprinzipal aktualisiert wird.
    4. Führen Sie das Skript mit dem Namen AddServicePrincipal.ps1 mit den folgenden Parametern aus:
      Parameter Wert
      -computeSubscriptionId Die Azure-Abonnement-ID von Compute_VNet
      -transitSubscriptionId Die Azure-Abonnement-ID des Transit-VNet
      -csmRoleName Sie können diesen Wert aus der Datei nsx_csm_role.JSON beziehen.
      -servicePrincipalName Neuer Dienstprinzipalname
      ./AddServicePrincipal.ps1 -computeSubscriptionId <the_Compute_VNet's_Azure_subscription_ID>
       -transitSubscriptionId <the_Tranist_VNet's_Azure_Subscription_ID> 
      -csmRoleName <CSM_Role_Name>
      -servicePrincipalName <new_Service_Principal_Name>”
  6. Suchen Sie nach einer Datei im selben Verzeichnis, in dem Sie das PowerShell-Skript ausgeführt haben. Sie heißt in etwa: NSXCloud_ServicePrincipal_<your_subscription_ID>_<NSX_Cloud_Service_Principal_name>. Diese Datei enthält Informationen, die Sie benötigen, um Ihr Microsoft Azure-Abonnement in CSM hinzuzufügen.
    • Client-ID
    • Client-Schlüssel
    • Mandanten-ID
    • Abonnement-ID

Ergebnisse

Es werden die folgenden Konstrukte erstellt:

  • eine Azure-AD-Anwendung für NSX Cloud.

  • einen Azure Resource Manager Service Principal für die NSX Cloud-Anwendung.

  • eine Rolle für CSM, die dem Service-Principal-Konto zugeordnet ist.

  • eine Rolle für PCG, um die Arbeit an Ihrem Public-Cloud-Bestand zu ermöglichen.

  • Eine Datei mit einem Namen wie NSXCloud_ServicePrincipal_<your_subscription_ID>_<NSX_Cloud_Service_Principal_name> wird in demselben Verzeichnis erstellt, in dem Sie das PowerShell-Skript ausgeführt haben. Diese Datei enthält Informationen, die Sie benötigen, um Ihr Microsoft Azure-Abonnement in CSM hinzuzufügen.
Hinweis: In den JSON-Dateien, die zum Erstellen der Rollen CSM und PCG verwendet werden, finden Sie eine Liste der Berechtigungen, die ihnen nach dem Erstellen der Rollen zur Verfügung stehen.

Nächste Maßnahme

Ihr Microsoft-Azure-Abonnement in CSM hinzufügen
Hinweis: Beim Aktivieren von NSX Cloud für mehrere Abonnements müssen Sie jedes separate Abonnement einzeln dem CSM hinzufügen. Wenn Sie beispielsweise insgesamt über fünf Abonnements verfügen, müssen Sie fünf Microsoft Azure-Konten in CSM hinzufügen, wobei alle anderen Werte gleich, die Abonnement-IDs jedoch unterschiedlich sind.