Los scripts de PowerShell preparan su entorno con todas las opciones de configuración. Si ejecuta el script de PowerShell para implementar Unified Access Gateway, la solución estará lista para producción desde la primera vez que arranque el sistema.

Importante: Con una implementación de PowerShell, puede proporcionar toda la configuración en el archivo INI y la instancia de Unified Access Gateway queda lista para producción apenas arranca. Si no desea cambiar ninguna configuración posterior a la implementación, no es necesario que proporcione la contraseña de la IU del administrador.

Sin embargo, la interfaz de usuario del administrador y la API no estarán disponibles si no se proporcionó la contraseña de la interfaz de usuario del administrador durante la implementación. Si no proporciona la contraseña de la IU del administrador en el momento de la implementación, no podrá agregar un usuario posteriormente para habilitar el acceso a la IU del administrador o la API. Debe volver a implementar Unified Access Gateway.

Puede incluir los parámetros en el archivo INI para crear usuarios administradores con privilegios bajos con funciones de supervisión. No se admite la creación de un usuario administrador superusuario. Puede configurar las directivas de contraseña para el usuario raíz y el usuario administrador antes de implementar la instancia de Unified Access Gateway.

Para obtener más información sobre los parámetros, puede ver la sección en la que se utiliza el parámetro de la interfaz de usuario de administrador equivalente. Por ejemplo: algunos de los parámetros de implementación se describen en Parámetros de PowerShell para implementar Unified Access Gateway y Implementar Unified Access Gateway mediante el asistente de plantillas OVF, para obtener información sobre los parámetros utilizados en la configuración del sistema, la configuración del servidor Syslog, la configuración de red, etc., consulte Configurar Unified Access Gateway en las páginas de configuración del administrador y para obtener información sobre los parámetros utilizados en los servicios perimetrales y otros casos de uso de Unified Access Gateway, como Workspace ONE Intelligence e Identify Bridging, consulte Casos prácticos de las implementaciones de Unified Access Gateway.

Requisitos previos

  • En el caso de una implementación de Hyper-V, y si va a actualizar Unified Access Gateway con una IP estática, elimine el dispositivo anterior antes de implementar la instancia más reciente de Unified Access Gateway.
  • Compruebe que los requisitos del sistema sean correctos y estén disponibles para su uso.

    Este es un script de ejemplo para implementar Unified Access Gateway en su entorno.

    Figura 1. Script de PowerShell de ejemplo

Procedimiento

  1. Descargue el archivo OVA Unified Access Gateway en My VMware en el equipo Windows.
  2. Descargue los archivos ap-deploy-XXX.zip en una carpeta del equipo Windows.
    Los archivos ZIP están disponibles en la página de descargas de VMware para Unified Access Gateway.
  3. Abra el script de PowerShell y cambie el directorio por la ubicación de su script.
  4. Cree un archivo de configuración INI para el dispositivo virtual de Unified Access Gateway.
    Por ejemplo, implemente un nuevo dispositivo de Unified Access Gateway UAG1. El archivo de configuración se llama uag1.ini. Este archivo contiene todas las opciones de configuración de UAG1. Puede utilizar los archivos INI de muestra incluidos en el archivo uagdeploy.ZIP para crear el archivo INI y modificar la configuración correctamente.
    Nota:
    • Puede tener archivos INI únicos para varias implementaciones de Unified Access Gateway en su entorno. Debe cambiar las direcciones IP y los parámetros del nombre en el archivo INI correctamente para poder implementar varios dispositivos.
    • Para convertir la clave privada de PKCS8 a PKCS1, es decir, del formato BEGIN PRIVATE KEY al formato BEGIN RSA PRIVATE KEY, ejecute el siguiente comando openssl:

      openssl rsa -in key.pem -out keyrsa.pem

      Para convertir el archivo de formato PKCS#12 con una extensión de archivo .p12 o .pfx, y para asegurarse de que la clave sea una clave RSA, ejecute los siguientes comandos:

      openssl pkcs12 -in cert.pfx -nokeys -out cert.pem

      openssl pkcs12 -in cert.pfx -nodes -nocerts -out key.pem

      openssl rsa -in key.pem -check -out keyrsa.pem

    Ejemplo del archivo INI para modificar.
    [General]
    netManagementNetwork=
    netInternet=
    netBackendNetwork=
    name=
    dns = 192.0.2.1 192.0.2.2
    dnsSearch = example1.com example2.com
    ip0=10.108.120.119
    diskMode=
    source=
    defaultGateway=10.108.120.125
    target=
    ds=
    deploymentOption=threenic
    eth0CustomConfig=DHCP^UseDNS=false
    eth1CustomConfig=DHCP^UseDNS=false
    eth2CustomConfig=DHCP^UseDNS=false
    authenticationTimeout=300000
    fipsEnabled=false
    sysLogType=TCP
    uagName=UAG1
    locale=en_US
    ipModeforNIC3=DHCPV4_DHCPV6
    tls12Enabled=true
    ipMode=DHCPV4_DHCPV6
    requestTimeoutMsec=10000
    ipModeforNIC2=DHCPV4_DHCPV6
    tls11Enabled=false
    clientConnectionIdleTimeout=180
    tls10Enabled=false
    adminCertRolledBack=false
    cookiesToBeCached=none
    healthCheckUrl=/favicon.ico
    quiesceMode=false
    syslogUrl=10.108.120.108:514
    syslogSystemMessagesEnabled=false
    isCiphersSetByUser=false
    tlsPortSharingEnabled=true
    ceipEnabled=true
    bodyReceiveTimeoutMsec=15000
    monitorInterval=60
    cipherSuites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
    , TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
    outboundCipherSuites=
    adminPasswordExpirationDays=90
    monitoringUsersPasswordExpirationDays=90
    rootSessionIdleTimeoutSeconds=300
    rootPasswordExpirationDays=365
    passwordPolicyMinLen=6
    passwordPolicyMinClass=1
    passwordPolicyUnlockTime=900
    passwordPolicyFailedLockout=3
    adminPasswordPolicyFailedLockoutCount=3
    adminPasswordPolicyMinLen=8
    adminPasswordPolicyUnlockTime=5
    adminSessionIdleTimeoutMinutes=10
    httpConnectionTimeout=120
    isTLS11SetByUser=false
    sessionTimeout=36000000
    ssl30Enabled=false
    snmpEnabled= TRUE | FALSE
    ntpServers=ipOrHostname1 ipOrHostname2
    fallBackNtpServers=ipOrHostname1 ipOrHostname2
    sshEnabled=
    sshPasswordAccessEnabled=
    sshKeyAccessEnabled=
    sshPublicKey1=
    adminDisclaimerText=
    sshLoginBannerText=VMware EUC Unified Access Gateway
    secureRandomSource=
    hostClockSyncEnabled=false
    extendedServerCertValidationEnabled=false
    sslprovider=
    tlsNamedGroups=
    tlsSignatureSchemes=
    osLoginUsername= 
    adminMaxConcurrentSessions=5
    osMaxLoginLimit=10
    dsComplianceOS=false
    sshPort=22
    sshInterface=eth0
    
    [WorkspaceOneIntelligenceSettings1]
    encodedCredentialsFile=
    name=TEST1
    trustedCert1=
    urlThumbprints=bed22939bf8546d15de2136f4c33f48f31d44e71
    
    [WorkspaceOneIntelligenceSettings2]
    encodedCredentialsFile=
    name=RISK_SCORE
    
    [SnmpSettings]
    version= v3
    usmUser= SAM_SNMP_V3
    securityLevel=
    authAlgorithm=
    authPassword=
    privacyAlgorithm=
    privacyPassword=
    engineID=uag1.example.com
    
    [WebReverseProxy1]
    proxyDestinationUrl=https://10.108.120.21
    trustedCert1=
    instanceId=view
    healthCheckUrl=/favicon.ico
    userNameHeader=AccessPoint-User-ID
    proxyPattern=/(.*)
    landingPagePath=/
    hostEntry1=10.108.120.21 HZNView.uagqe.auto.com
    
    [Horizon]
    endpointComplianceCheckProvider=Workspace_ONE_Intelligence_Risk_Score
    proxyDestinationUrl=https://enterViewConnectionServerUrl
    trustedCert1=
    gatewayLocation=external
    disableHtmlAccess=false
    healthCheckUrl=/favicon.ico
    proxyDestinationIPSupport=IPV4
    smartCardHintPrompt=false
    queryBrokerInterval=300
    proxyPattern=(/|/view-client(.*)|/portal(.*)|/appblast(.*))
    matchWindowsUserName=false
    windowsSSOEnabled=false
    complianceCheckOnAuthentication=true
    proxyDestinationUrlThumbprints=
    proxyDestinationPreLoginMessageEnabled=true
    
    [Airwatch]
    tunnelGatewayEnabled=true
    tunnelProxyEnabled=true
    pacFilePath=
    pacFileURL=
    credentialFilePath=
    apiServerUsername=domain\apiusername
    apiServerPassword=*****
    proxyDestinationUrl=https://null
    ntlmAuthentication=false
    healthCheckUrl=/favicon.ico
    organizationGroupCode=
    apiServerUrl=https://null
    airwatchOutboundProxy=false
    outboundProxyHost=1.2.3.4
    outboundProxyPort=3128
    outboundProxyUsername=proxyuser
    outboundProxyPassword=****
    reinitializeGatewayProcess=false
    airwatchServerHostname=tunnel.acme.com
    trustedCert1=c:\temp\CA-Cert-A.pem
    hostEntry1=1.3.5.7 backend.acme.com
    
    [AirwatchSecureEmailGateway]
    airwatchOutboundProxy=false
    memConfigurationId=abc123
    apiServerUsername=domain\apiusername
    healthCheckUrl=/favicon.ico
    apiServerUrl=https://null
    outboundProxyHost=1.2.3.4
    outboundProxyPort=3128
    outboundProxyUsername=proxyuser
    outboundProxyPassword=****
    reinitializeGatewayProcess=false
    airwatchServerHostname=serverNameForSNI
    apiServerPassword=****
    trustedCert1=c:\temp\CA-Cert-A.pem
    pfxCerts=C:\Users\admin\My Certs\mycacerts.pfx
    hostEntry1=1.3.5.7 exchange.acme.com
    
    [AirWatchContentGateway]
    cgConfigId=abc123
    apiServerUrl=https://null
    apiServerUsername=domain\apiusername
    apiServerPassword=*****
    outboundProxyHost=
    outboundProxyPort=
    outboundProxyUsername=proxyuser
    outboundProxyPassword=*****
    airwatchOutboundProxy=false
    hostEntry1=192.168.1.1 cgbackend.acme.com
    trustedCert1=c:\temp\CA-Cert-A.pem
    ntlmAuthentication=false
    reinitializeGatewayProcess=false
    airwatchServerHostname=cg.acme.com
    
    [SSLCert]
    pemPrivKey=
    pemCerts=
    pfxCerts=
    pfxCertAlias=
    
    [SSLCertAdmin]
    pemPrivKey=
    pemCerts=
    pfxCerts=
    pfxCertAlias=
    
    [WorkspaceONEIntelligenceRiskScoreEndpointComplianceCheckSettings]
    allowLow=true
    allowMedium=true
    allowHigh=true
    complianceCheckInterval=5
    allowOthers=false
    name=Workspace_ONE_Intelligence_Risk_Score
    workspaceOneIntelligenceSettingsName=RISK_SCORE
    
    [JWTSettings1]
    publicKey1=
    publicKey2=
    publicKey3=
    name=JWT_1
    
    [JWTSettings2]
    publicKey1=
    publicKey2=
    name=JWT_2
    
    [JWTIssuerSettings1]
    issuer=issuer-1
    jwtType=PRODUCER
    name=issuerJWT_1
    pemPrivKey=
    pemCerts=
    pfxCerts=
    pfxCertAlias=
    
    [JWTIssuerSettings2]
    issuer=issuer-2
    jwtType=PRODUCER
    name=issuerJWT_2
    pemPrivKey=
    pemCerts=
    pfxCerts=
    pfxCertAlias=
    
    [AdminUser1]
    name=monitoringUser1
    enabled=true
    
    [AdminUser2]
    name=monitoringUser2
    enabled=true
    
    [OutboundProxySettings1]
    proxyUrl=
    name=
    proxyType=HTTP
    includedHosts1=
    includedHosts2=
    trustedCert1=
    
    [OutboundProxySettings2]
    proxyUrl=
    name=
    proxyType=HTTP
    includedHosts1=
    includedHosts2=
    trustedCert1=
    
    [adminSAMLSettings]
    enable=true
    entityId=https://www.entityid.com
    
    [OPSWATEndpointComplianceCheckSettings]
    allowInCompliance=
    allowEndpointUnknown=
    complianceCheckFastInterval=
    complianceCheckInitialDelay=
    complianceCheckInterval=
    allowNotInCompliance=
    allowOutOfLicenseUsage=
    allowAssessmentPending=
    allowOthers=
    hostName=
    name=
    clientSecret=
    clientKey=
    
    [PackageUpdates]
    packageUpdatesScheme=OFF|ON_NEXT_BOOT|ON_EVERY_BOOT
    packageUpdatesOSURL=
    packageUpdatesURL=
    trustedCert1=
    Nota:
    • El valor [adminSAMLSettings] que se incluye en el archivo INI es para configurar el método de autenticación SAML utilizado para autenticar a los usuarios con acceso de administrador a la interfaz de usuario del administrador. Aquí, entityId hace referencia al identificador de entidad de proveedor de metadatos externo.
    • Las contraseñas para los usuarios administradores con pocos privilegios con funciones de supervisión se proporcionan como parámetro para el script de PowerShell. Si no se proporciona la contraseña, se solicita al usuario que introduzca la contraseña. Proporcione el parámetro como newAdminUserPwd y el valor del parámetro similar a monitoringUser1:P@ssw0rd1;monitoringUser2:P@ssw0rd2. El parámetro enabled en el archivo INI es opcional y el valor predeterminado es true si el parámetro no está disponible.
  5. Para asegurarse de que la ejecución del script no está restringida, escriba el comando set-executionpolicy de PowerShell.
    set-executionpolicy -scope currentuser unrestricted
    Solo es necesario realizar esta tarea una vez para eliminar la restricción.
    1. (opcional) Si se muestra alguna advertencia relacionada con el script, ejecute el siguiente comando para desbloquearla: unblock-file -path .\uagdeploy.ps1
  6. Ejecute el comando para iniciar la implementación. Si no especifica el archivo .INI, el script utilizará de forma predeterminada ap.ini.
    .\uagdeploy.ps1 -iniFile uag1.ini
  7. Introduzca las credenciales cuando se le soliciten y complete el script.
    Nota: Si se le solicita que añada la huella digital del equipo de destino, introduzca yes.
    El dispositivo de Unified Access Gateway ya está implementado y disponible para producción.

Resultados

Para obtener más información sobre los scripts de PowerShell, consulte https://communities.vmware.com/docs/DOC-30835.

Qué hacer a continuación

Si desea actualizar Unified Access Gateway y seguir conservando la configuración existente, edite el archivo .ini para cambiar la referencia de origen a la nueva versión y vuelva a ejecutar el archivo .ini: uagdeploy.ps1 uag1.ini. Este proceso puede tardar hasta 3 minutos.
[General]
name=UAG1
source=C:\temp\euc-unified-access-gateway-3.2.1-7766089_OVF10.ova

Si desea realizar la actualización sin ninguna interrupción del servicio, consulte Actualización sin tiempo de inactividad.