NSX Cloud fournit les scripts PowerShell qui vous permettent de générer le principal de service et les rôles requis pour un ou plusieurs abonnements.

Conditions préalables

  • Vous devez disposer de PowerShell 5.0 ou version ultérieure, et le module AzureRM doit être installé. Si vous disposez du nouveau module Azure Powershell Az, vous devez exécuter la commande Enable-AzureRmAlias pour vous assurer que les cmdlets AzureRM pour NSX Cloud s'exécutent correctement.
  • Vous devez être le titulaire des abonnements Microsoft Azure ou être autorisé à créer et à attribuer des rôles dans ces abonnements.
Note : Le temps de réponse de Microsoft Azure peut provoquer l'échec du script lorsque vous l'exécutez la première fois. Si le script échoue, essayez de l'exécuter à nouveau.

Procédure

  1. Sur un poste de travail ou serveur Windows, téléchargez le fichier ZIP nommé CreateNSXCloudCredentials.zip depuis NSX Page de téléchargement > Pilotes et outils > Scripts NSX Cloud > Microsoft Azure.

  2. Extrayez le contenu suivant du fichier ZIP dans votre système Windows :
    Script/Fichier Description
    CreateNsxRoles.ps1 Script PowerShell permettant de générer le principal de service NSX Cloud et les rôles d'identité gérés pour CSM et PCG. Le script prend les paramètres suivants :
    • -subscriptionId <the Transit_VNet's_Azure_subscription_ID>
    • (Facultatif) -servicePrincipalName <Service_Principal_Name>
    • (Facultatif) -useOneServicePrincipal
    AddServicePrincipal.ps1 Script facultatif. Il est nécessaire pour ajouter plusieurs abonnements et attribuer différents principaux de service à chaque abonnement. Reportez-vous au Scénario 3 dans les étapes ci-dessous. Le script prend les paramètres suivants :
    • -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 Modèle JSON pour le nom et les autorisations du rôle CSM. Ce fichier est requis comme entrée dans le script PowerShell doit se trouver dans le même dossier que le script.
    nsx_pcg_role.json Modèle JSON pour le nom et les autorisations du rôle PCG. Ce fichier est requis comme entrée dans le script PowerShell doit se trouver dans le même dossier que le script.
    Note : Le nom du rôle PCG (passerelle) par défaut est nsx-pcg-role. Vous devez fournir cette valeur lors de l'ajout de votre abonnement dans CSM.
  3. Scénario 1 : vous disposez d'un seul abonnement Microsoft Azure et vous souhaitez l'activer avec NSX Cloud.
    1. À partir d'une instance de PowerShell, accédez au répertoire dans lequel vous avez téléchargé les scripts Microsoft Azure et les fichiers JSON.
    2. Exécutez le script CreateNsxRoles.ps1 avec le paramètre -SubscriptionId, comme suit :
      .\CreateNsxRoles.ps1 -subscriptionId <the_single_Azure_subscription_ID> 
      Note : Si vous souhaitez remplacer le nom de principal de service par défaut de nsx-service-admin, vous pouvez également utiliser le paramètre - servicePrincipalName. Le nom de principal de service doit être unique dans Microsoft Azure Active Directory.
  4. Scénario 2 : vous disposez de plusieurs abonnements Microsoft Azure dans le même annuaire Microsoft Azure. Vous souhaitez les activer avec NSX Cloud, en utilisant un seul principal de service NSX Cloud pour tous vos abonnements.
    1. À partir d'une instance de PowerShell, accédez au répertoire dans lequel vous avez téléchargé les scripts Microsoft Azure et les fichiers JSON.
    2. Modifiez chacun des fichiers JSON pour y ajouter la liste des autres ID d'abonnement dans la section AssignableScopes, par exemple :
      "AssignableScopes": [
      
      "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      
      "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-ffffffffffff",
      
      "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-000000000000"
      Note : Vous devez utiliser le format indiqué dans l'exemple pour ajouter des ID d'abonnement : "/subscriptions/<Subscription_ID>"
    3. Exécutez le script CreateNsxRoles.ps1 avec les paramètres -subscriptionID et -useOneServicePrincipal :
      .\CreateNsxRoles.ps1 -subscriptionId <the_Transit_VNet's_Azure_subscription_ID> -useOneServicePrincipal 
      Note : Vous pouvez omettre le nom du principal de service si vous souhaitez utiliser le nom par défaut : nsx-service-admin. Si vous exécutez le script sans nom de principal de service, alors que ce nom de principal de service existe déjà dans Microsoft Azure Active Directory, alors ce principal de service est mis à jour.
  5. Scénario 3 : vous disposez de plusieurs abonnements Microsoft Azure dans le même annuaire Microsoft Azure. Vous souhaitez les activer avec NSX Cloud, en utilisant différents noms de principaux de service NSX Cloud pour les différents abonnements.
    1. À partir d'une instance de PowerShell, accédez au répertoire dans lequel vous avez téléchargé les scripts Microsoft Azure et les fichiers JSON.
    2. Suivez les étapes b et c du deuxième scénario pour ajouter plusieurs abonnements dans la section AssignableScopes de chaque fichier JSON.
    3. Exécutez le script CreateNsxRoles.ps1 avec le paramètre -subscriptionID :
      .\CreateNsxRoles.ps1 -subscriptionId <One of the subscription_IDs> 
      Note : Vous pouvez omettre le nom du principal de service si vous souhaitez utiliser le nom par défaut : nsx-service-admin. Si vous exécutez le script sans nom de principal de service, alors que ce nom de principal de service existe dans Microsoft Azure Active Directory, alors ce principal de service est mis à jour.
    4. Exécutez le script AddServicePrincipal.ps1 avec les paramètres suivants :
      Paramètre Valeur
      -computeSubscriptionId ID d'abonnement Azure du VNet de calcul
      -transitSubscriptionId ID d'abonnement Azure du VNet de transit
      -csmRoleName Obtenez cette valeur à partir du fichier nsx_csm_role.JSON
      -servicePrincipalName Nouveau nom du principal de service
      ./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. Recherchez un fichier dans le répertoire où vous avez exécuté le script PowerShell. Il porte un nom semblable à : NSXCloud_ServicePrincipal_<votre_ID_abonnement>_<nom_principal_du_service_NSX_Cloud>. Ce fichier contient les informations requises pour ajouter votre abonnement Microsoft Azure dans CSM.
    • ID de client
    • Clé de client
    • ID de locataire
    • ID d'abonnement

Résultats

Les constructions suivantes sont créées :

  • une application Azure AD pour NSX Cloud.

  • un principal du service Azure Resource Manager pour l'application NSX Cloud.

  • un rôle pour CSM associé au compte du principal du service.

  • un rôle pour PCG afin de lui permettre de travailler sur votre inventaire de cloud public.

  • un fichier au nom semblable à NSXCloud_ServicePrincipal_<your_subscription_ID>_<NSX_Cloud_Service_Principal_name>. Il est créé dans le répertoire où vous avez exécuté le script PowerShell. Ce fichier contient les informations requises pour ajouter votre abonnement Microsoft Azure dans CSM.
Note : Consultez les fichiers JSON qui sont utilisés pour créer les rôles CSM et PCG afin d'obtenir la liste des autorisations qui leur sont accessibles après leur création.

Que faire ensuite

Ajouter votre abonnement Microsoft Azure dans CSM
Note : Lorsque vous activez NSX Cloud pour plusieurs abonnements, vous devez les ajouter individuellement à CSM. Par exemple, si vous disposez de cinq abonnements, ajoutez cinq comptes Microsoft Azure à CSM, avec différents ID d'abonnement, mais toutes les autres valeurs identiques.