NSX Cloud proporciona scripts de PowerShell que ayudan a generar la entidad de servicio y las funciones que se necesitan para una o varias suscripciones.

Requisitos previos

  • Debe tener PowerShell 5.0 o una versión posterior con el módulo AzureRM instalado. Si tiene el nuevo módulo de la zona de disponibilidad de Azure PowerShell, debe ejecutar el comando Enable-AzureRmAlias para asegurarse de que los cmdlets de AzureRM para NSX Cloud se ejecuten correctamente.
  • Debe ser el propietario o tener permisos para crear y asignar funciones en todas las suscripciones de Microsoft Azure.
Nota: El tiempo de respuesta de Microsoft Azure puede provocar que el script genere un error cuando se ejecuta por primera vez. Si se produce un error en el script, intente ejecutarlo de nuevo.

Procedimiento

  1. En un servidor o escritorio Windows o compatible, descargue el archivo ZIP llamado CreateNSXCloudCredentials.zip en NSX Página de descargas > Controladores y herramientas > Scripts de NSX Cloud > Microsoft Azure.

  2. Extraiga el siguiente contenido del archivo ZIP en su sistema Windows:
    Script/archivo Descripción
    CreateNsxRoles.ps1 El script de PowerShell para generar la entidad de servicio y las funciones de identidad administrada deNSX Cloud para CSM y PCG. El script utiliza los siguientes parámetros:
    • -subscriptionId <the Transit_VNet's_Azure_subscription_ID>
    • (opcional) -servicePrincipalName <Service_Principal_Name>
    • (opcional) -useOneServicePrincipal
    AddServicePrincipal.ps1 Un script opcional necesario si desea agregar varias suscripciones y asignar entidades de servicio diferentes a cada suscripción. Consulte el escenario 3 en los siguientes pasos. El script utiliza los siguientes parámetros:
    • -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. Una plantilla JSON para los permisos y el nombre de la función de CSM. Este archivo se requiere como una entrada para el script de PowerShell y debe estar en la misma carpeta que el script.
    nsx_pcg_role.json Una plantilla JSON para los permisos y el nombre de la función de PCG. Este archivo se requiere como una entrada para el script de PowerShell y debe estar en la misma carpeta que el script.
    Nota: El nombre de la función predeterminado (Puerta de enlace) de PCG es nsx-pcg-role. Debe proporcionar este valor al agregar la suscripción en CSM.
  3. Escenario 1: tiene una sola suscripción de Microsoft Azure que desea habilitar con NSX Cloud.
    1. En una instancia de PowerShell, vaya al directorio donde descargó los archivos JSON y los scripts de Microsoft Azure.
    2. Ejecute el script llamado CreateNsxRoles.ps1 con el parámetro -SubscriptionId, como se indica a continuación:
      .\CreateNsxRoles.ps1 -subscriptionId <the_single_Azure_subscription_ID> 
      Nota: Si desea reemplazar el nombre predeterminado de la entidad de servicio de nsx-service-admin, también puede usar el parámetro - servicePrincipalName. El nombre de la entidad de servicio debe ser único en Microsoft Azure Active Directory.
  4. Escenario 2: tiene varias suscripciones de Microsoft Azure en el mismo directorio de Microsoft Azure que desea habilitar con NSX Cloud, pero quiere utilizar una entidad de servicio de NSX Cloud en todas las suscripciones.
    1. En una instancia de PowerShell, vaya al directorio donde descargó los archivos JSON y los scripts de Microsoft Azure.
    2. Edite cada uno de los archivos JSON para agregar una lista de otros identificadores de suscripción en la sección titulada "AssignableScopes", por ejemplo:
      "AssignableScopes": [
      
      "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      
      "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-ffffffffffff",
      
      "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-000000000000"
      Nota: Debe utilizar el formato que se muestra en el ejemplo para agregar los identificadores de suscripción: "/subscriptions/<Subscription_ID>"
    3. Ejecute el script llamado CreateNsxRoles.ps1 con los parámetros -subscriptionID y -useOneServicePrincipal:
      .\CreateNsxRoles.ps1 -subscriptionId <the_Transit_VNet's_Azure_subscription_ID> -useOneServicePrincipal 
      Nota: Omita el nombre de la entidad de servicio aquí si desea usar el nombre predeterminado: nsx-service-admin. Si ya existe ese nombre de entidad de servicio en Microsoft Azure Active Directory, al ejecutar este script sin un nombre de entidad de servicio, se actualiza dicha entidad de servicio.
  5. Escenario 3: tiene varias suscripciones de Microsoft Azure en el mismo directorio de Microsoft Azure que desea habilitar con NSX Cloud, pero quiere utilizar distintos nombres de entidad de servicio de NSX Cloud en distintas suscripciones.
    1. En una instancia de PowerShell, vaya al directorio donde descargó los archivos JSON y los scripts de Microsoft Azure.
    2. Siga los pasos b y c del segundo escenario para agregar varias suscripciones a la sección AssignableScopes en cada uno de los archivos JSON.
    3. Ejecute el script llamado CreateNsxRoles.ps1 con los parámetros -subscriptionID:
      .\CreateNsxRoles.ps1 -subscriptionId <One of the subscription_IDs> 
      Nota: Omita el nombre de la entidad de servicio aquí si desea usar el nombre predeterminado: nsx-service-admin. Si existe ese nombre de entidad de servicio en Microsoft Azure Active Directory, al ejecutar este script sin un nombre de entidad de servicio, se actualiza dicha entidad de servicio.
    4. Ejecute el script llamado AddServicePrincipal.ps1 con los siguientes parámetros:
      Parámetro Valor
      -computeSubscriptionId Identificador de suscripción de Azure de Compute_VNet
      -transitSubscriptionId Identificador de suscripción de Azure de la VNet de tránsito
      -csmRoleName Obtenga este valor del archivo nsx_csm_role.JSON
      -servicePrincipalName Nuevo nombre de entidad de servicio
      ./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. Busque un archivo en el mismo directorio donde se ejecutó el script de PowerShell. Debe tener un nombre similar a este: NSXCloud_ServicePrincipal_<your_subscription_ID>_<NSX_Cloud_Service_Principal_name>. Este archivo contiene la información que se necesita para agregar la suscripción de Microsoft Azure en CSM.
    • ID de cliente
    • Clave de cliente
    • ID de tenant
    • Identificador de suscripción

Resultados

Se crearán las siguientes construcciones:

  • Una aplicación de Azure AD para NSX Cloud.

  • Una entidad de servicio de Azure Resource Manager para la aplicación NSX Cloud.

  • Una función para la instancia de CSM asociada a la cuenta de la entidad de servicio.

  • Una función de PCG para que pueda funcionar en el inventario de nube pública.

  • Un archivo con un nombre similar a NSXCloud_ServicePrincipal_<su_identificador_de_suscripción>_<nombre_de_entidad_de_servicio_de_NSX_Cloud> se crea en el mismo directorio en el que se ejecutó el script de PowerShell. Este archivo contiene la información que se necesita para agregar la suscripción de Microsoft Azure en CSM.
Nota: Consulte los archivos JSON que se utilizan para crear las funciones CSM y PCG si desea obtener una lista de los permisos disponibles para ellos después de que se crean las funciones.

Qué hacer a continuación

Agregar la suscripción de Microsoft Azure en CSM
Nota: Cuando habilita NSX Cloud para varias suscripciones, debe agregar cada suscripción independiente a CSM de forma individual, por ejemplo, si tiene cinco suscripciones en total, debe agregar cinco cuentas de Microsoft Azure en CSM con todos los demás valores iguales, pero diferentes identificadores de suscripción.