NSX Cloud fornisce script PowerShell che consentono di generare i ruoli e l'entità servizio necessari per una o più sottoscrizioni.

Prerequisiti

  • È necessario che sia installato PowerShell 5.0 o versione successiva con il modulo AzureRM. Se si dispone del nuovo modulo Az Azure Powershell, è necessario eseguire il comando Enable-AzureRmAlias per assicurarsi che i cmdlet di AzureRM per NSX Cloud vengano eseguiti correttamente .
  • È necessario essere il proprietario o disporre delle autorizzazioni per creare e assegnare ruoli in tutte le sottoscrizioni di Microsoft Azure.
Nota: Il tempo di risposta di Microsoft Azure può causare un errore dello script quando lo si esegue per la prima volta. Se lo script non riesce, provare a eseguirlo di nuovo.

Procedura

  1. In un desktop o server Windows scaricare il file ZIP denominato CreateNSXCloudCredentials.zip da NSX pagina Download > Drivers & Tools > NSX Cloud Scripts > Microsoft Azure.

  2. Estrarre il contenuto seguente del file ZIP nel sistema Windows :
    Script/file Descrizione
    CreateNsxRoles.ps1 Script di PowerShell per generare l'entità servizio NSX Cloud e i ruoli di identità gestiti per CSM e PCG. Questo script accetta i seguenti parametri:
    • -subscriptionId <the Transit_VNet's_Azure_subscription_ID>
    • (facoltativo) -servicePrincipalName <Service_Principal_Name>
    • (facoltativo) -useOneServicePrincipal
    AddServicePrincipal.ps1 Uno script facoltativo necessario se si desidera aggiungere più sottoscrizioni e assegnare entità servizio diverse a ciascuna sottoscrizione. Vedere Scenario 3 nei passaggi seguenti. Questo script accetta i seguenti parametri:
    • -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 Un modello JSON per il nome e le autorizzazioni del ruolo CSM. Questo file è necessario come input per lo script di PowerShell e deve trovarsi nella stessa cartella dello script.
    nsx_pcg_role.json Un modello JSON per il nome e le autorizzazioni del ruolo PCG. Questo file è necessario come input per lo script di PowerShell e deve trovarsi nella stessa cartella dello script.
    Nota: Il nome del ruolo predefinito di nsx-pcg-role (Gateway) è PCG. È necessario fornire questo valore quando si aggiunge la sottoscrizione in CSM.
  3. Scenario 1: si desidera abilitare una singola sottoscrizione di Microsoft Azure con NSX Cloud.
    1. Da un'istanza di PowerShell, passare alla directory in cui sono stati scaricati gli script e i file JSON di Microsoft Azure.
    2. Eseguire lo script denominato CreateNsxRoles.ps1 con il parametro -SubscriptionId, come indicato di seguito:
      .\CreateNsxRoles.ps1 -subscriptionId <the_single_Azure_subscription_ID> 
      Nota: Se si desidera sostituire il nome dell'entità servizio predefinito di nsx-service-admin, è possibile utilizzare anche il parametro - servicePrincipalName. Il nome dell'entità servizio deve essere univoco in Microsoft Azure Active Directory.
  4. Scenario 2: si desidera abilitare più sottoscrizioni di Microsoft Azure nella stessa directory di Microsoft Azure con NSX Cloud, ma si intende utilizzare una sola entità servizioNSX Cloud per tutte le sottoscrizioni.
    1. Da un'istanza di PowerShell, passare alla directory in cui sono stati scaricati gli script e i file JSON di Microsoft Azure.
    2. Modificare ciascuno dei file JSON per aggiungere un elenco di altri ID di sottoscrizione nella sezione intitolata "AssignableScopes" , ad esempio:
      "AssignableScopes": [
      
      "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      
      "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-ffffffffffff",
      
      "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-000000000000"
      Nota: Per aggiungere ID sottoscrizione, è necessario utilizzare il formato mostrato nell'esempio: "/subscriptions/<Subscription_ID>"
    3. Eseguire lo script denominato CreateNsxRoles.ps1 con i parametri -subscriptionID e -useOneServicePrincipal:
      .\CreateNsxRoles.ps1 -subscriptionId <the_Transit_VNet's_Azure_subscription_ID> -useOneServicePrincipal 
      Nota: Omettere il nome dell'entità servizio qui se si desidera utilizzare il nome predefinito: nsx-service-admin. Se il nome dell'entità servizio esiste già in Microsoft Azure Active Directory, l'esecuzione di questo script senza specificare un nome di entità servizio aggiorna tale entità.
  5. Scenario 3: si desidera abilitare più sottoscrizioni di Microsoft Azure nella stessa directory di Microsoft Azure con NSX Cloud, ma si intende utilizzare nomi di entità servizioNSX Cloud diversi per sottoscrizioni diverse.
    1. Da un'istanza di PowerShell, passare alla directory in cui sono stati scaricati gli script e i file JSON di Microsoft Azure.
    2. Eseguire i passaggi b e c del secondo scenario per aggiungere più sottoscrizioni alla sezione AssignableScopes in ciascuno dei file JSON.
    3. Eseguire lo script denominato CreateNsxRoles.ps1 con i parametri -subscriptionID:
      .\CreateNsxRoles.ps1 -subscriptionId <One of the subscription_IDs> 
      Nota: Omettere il nome dell'entità servizio qui se si desidera utilizzare il nome predefinito: nsx-service-admin. Se il nome dell'entità servizio esiste in Microsoft Azure Active Directory, l'esecuzione di questo script senza specificare un nome di entità servizio aggiorna tale entità.
    4. Eseguire lo script denominato AddServicePrincipal.ps1 con i seguenti parametri:
      Parametro Valore
      -computeSubscriptionId ID sottoscrizione Azure della VNet di elaborazione
      -transitSubscriptionId ID sottoscrizione Azure della VNet di transito
      -csmRoleName Recuperare questo valore dal file nsx_csm_role.JSON
      -servicePrincipalName Nome nuova entità servizio
      ./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. Cercare un file nella stessa directory in cui è stato eseguito lo script di PowerShell. Il nome è del tipo: NSXCloud_ServicePrincipal_<ID_sottoscrizione>_<Nome_entità_servizio_Cloud_NSX>. Questo file contiene le informazioni necessarie per aggiungere la sottoscrizione a Microsoft Azure in CSM.
    • ID client
    • Chiave client
    • ID tenant
    • ID sottoscrizione

risultati

Vengono creati i seguenti costrutti:

  • Un'applicazione Azure AD per NSX Cloud.

  • Un'entità servizio Azure Resource Manager per l'applicazione NSX Cloud.

  • Un ruolo per CSM collegato all'account dell'entità servizio.

  • Un ruolo di PCG per consentirne il funzionamento nell'inventario del cloud pubblico.

  • Un file denominato NSXCloud_ServicePrincipal_<ID_sottoscrizione>_<Nome_entità_servizio_Cloud_NSX> viene creato nella stessa directory in cui è stato eseguito lo script di PowerShell. Questo file contiene le informazioni necessarie per aggiungere la sottoscrizione a Microsoft Azure in CSM.
Nota: Fare riferimento ai file JSON utilizzati per creare i ruoli CSM e PCG per un elenco delle autorizzazioni disponibili dopo la creazione dei ruoli.

Operazioni successive

Aggiunta della sottoscrizione di Microsoft Azure in CSM
Nota: Quando si abilita NSX Cloud per più sottoscrizioni, è necessario aggiungere singolarmente ogni sottoscrizione separata a CSM, ad esempio se si dispone di cinque sottoscrizioni totali, è necessario aggiungere cinque account di Microsoft Azure in CSM con tutti gli altri valori uguali ma con ID di sottoscrizione diversi.