Les scripts PowerShell préparent votre environnement avec tous les paramètres de configuration. Lorsque vous exécutez le script PowerShell pour déployer Unified Access Gateway, la solution est prête pour la production lors du premier démarrage système.

Important : Avec un déploiement PowerShell, vous pouvez fournir tous les paramètres dans le fichier INI, et l'instance d' Unified Access Gateway sera prête pour la production dès qu'elle sera démarrée. Si vous ne souhaitez pas modifier les paramètres après le déploiement, vous ne devez pas fournir le mot de passe de l'interface utilisateur d'administration.

Cependant, l'interface utilisateur d'administration et l'API ne sont pas disponibles si le mot de passe de l'interface utilisateur d'administration n'est pas fourni lors du déploiement. Si vous ne fournissez pas le mot de passe de l'interface utilisateur d'administration au moment du déploiement, vous ne pouvez pas ajouter ultérieurement un utilisateur pour permettre l'accès à l'interface utilisateur d'administration ou à l'API. Vous devez redéployer votre dispositif Unified Access Gateway.

Vous pouvez inclure les paramètres dans le fichier INI pour créer des utilisateurs administrateurs avec des privilèges limités disposant de rôles de surveillance. La création d'un utilisateur super utilisateur Admin n'est pas prise en charge. Vous pouvez configurer les stratégies de mot de passe pour l'utilisateur racine et l'utilisateur Admin avant de déployer l'instance d'Unified Access Gateway.

Pour plus d'informations sur les paramètres, vous pouvez consulter la section dans laquelle paramètre équivalent de l'interface utilisateur d'administration est utilisé. Par exemple : certains des paramètres de déploiement sont décrits dans Paramètres PowerShell pour le déploiement d'Unified Access Gateway et Déploiement d'Unified Access Gateway au moyen de l'assistant de modèle OVF. Pour plus d'informations sur les paramètres utilisés dans la configuration système, les paramètres du serveur Syslog, les paramètres réseau, etc., reportez-vous à la section Configuration d'Unified Access Gateway à partir des pages de configuration d'administration, et pour plus d'informations sur les paramètres utilisés dans les services Edge et d'autres cas d'utilisation d'Unified Access Gateway, tels que Workspace ONE Intelligence et le pontage d'identité, reportez-vous à la section Cas d'utilisation de déploiement d'Unified Access Gateway.

Conditions préalables

  • Pour un déploiement Hyper-V, si vous mettez à niveau Unified Access Gateway avec une adresse IP statique, supprimez le dispositif antérieur avant de déployer l'instance d'Unified Access Gateway plus récente.
  • Vérifiez que la configuration système requise est appropriée et disponible.

    Il s'agit d'un exemple de script pour déployer Unified Access Gateway dans votre environnement.

    Figure 1. Exemple de script PowerShell

Procédure

  1. Téléchargez le fichier OVA d'Unified Access Gateway depuis le portail Customer Connect sur votre machine.
  2. Téléchargez les fichiers uagdeploy-XXX.zip dans un dossier sur la machine.
    Les fichiers ZIP sont disponibles sur la page Customer Connect d' Unified Access Gateway.
  3. Ouvrez un script PowerShell et modifiez le répertoire vers l'emplacement de votre script.
  4. Créez un fichier de configuration INI pour le dispositif virtuel d'Unified Access Gateway.
    Par exemple : déployez un nouveau dispositif Unified Access Gateway UAG1. Le fichier de configuration s'appelle uag1.ini. Ce fichier contient tous les paramètres de configuration pour UAG1. Vous pouvez utiliser les exemples de fichiers .INI dans le fichier uagdeploy.ZIP pour créer le fichier INI et modifier les paramètres en conséquence.
    Note :
    • Vous pouvez disposer de fichiers INI uniques pour plusieurs déploiements d'Unified Access Gateway dans votre environnement. Vous devez modifier les adresses IP et les paramètres de nom dans le fichier INI de façon appropriée pour déployer plusieurs dispositifs.
    • Pour convertir la clé privée de PKCS8 en PKCS1, c'est-à-dire d'un format BEGIN PRIVATE KEY à un format BEGIN RSA PRIVATE KEY, exécutez la commande openssl suivante :

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

      Pour convertir le fichier au format PKCS#12 avec une extension de fichier .p12 ou .pfx et pour vous assurer que la clé est une clé RSA, exécutez les commandes suivantes :

      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

    Exemple de fichier INI à modifier.
    [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
    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
    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
    customExecutable1=WEBEXVDIPLUGIN
    
    [CustomExecutableSettings1]
    name=OPSWAT2
    osType=
    trustedSigningCertificates1=
    url=<<URL to custom executable file>>
    urlResponseRefreshInterval=
    isObtainedFromURL=
    
    [Airwatch]
    tunnelGatewayEnabled=true
    disableAutoConfigUpdate=false
    pacFilePath=
    pacFileURL=
    credentialFilePath=
    apiServerUsername=domain\apiusername
    apiServerPassword=*****
    proxyDestinationUrl=https://null
    ntlmAuthentication=false
    healthCheckUrl=/favicon.ico
    organizationGroupCode=
    apiServerUrl=https://null
    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]
    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=*****
    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
    
    [IDPExternalMetadata1]
    allowUnencrypted=false
    certChainPem=
    encryptionCertificateType=
    entityID=<entityID>
    forceAuthN=false
    metadataXmlFile=<Path of IDP metadata xml file>
    privateKeyPem=
    
    [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=
    
    [SyslogServerSettings1]
    sysLogType=TCP
    syslogCategory=ALL
    syslogFormat=TEXT
    syslogSettingName=
    syslogSystemMessagesEnabledV2=true
    syslogUrl=
    
    [SyslogServerSettings2]
    hostname=
    port=6515
    sysLogType=TLS
    syslogCategory=ALL
    syslogClientCertKeyPemV2=
    syslogClientCertPemV2=
    syslogServerCACertPemV2=
    syslogFormat=TEXT
    syslogSettingName=
    syslogSystemMessagesEnabledV2=false
    
    [SyslogServerSettings3]
    mqttClientCertCertPem=
    mqttClientCertKeyPem=
    mqttServerCACertPem=
    mqttTopic=
    sysLogType=MQTT
    syslogCategory=ALL
    syslogFormat=TEXT
    syslogSettingName=
    syslogSystemMessagesEnabledV2=true
    syslogUrl=
    Note :
    • L'élément [adminSAMLSettings] inclus dans le fichier INI s'applique à la configuration de la méthode d'authentification SAML utilisée pour authentifier les utilisateurs avec un accès administrateur à l'interface utilisateur d'administration. Ici, entityId fait référence à l'ID d'entité du fournisseur de métadonnées externe.
    • Les mots de passe des utilisateurs Admin avec des privilèges limités disposant de rôles de surveillance sont fournis en tant que paramètres au script PowerShell. Si le mot de passe n'est pas fourni, l'utilisateur est invité à saisir le mot de passe. Fournissez le paramètre sous la forme newAdminUserPwd et la valeur du paramètre semblable à monitoringUser1:P@ssw0rd1;monitoringUser2:P@ssw0rd2. Le paramètre enabled dans le fichier INI est facultatif et sa valeur est définie par défaut sur true si le paramètre n'est pas disponible.
  5. Pour vérifier que l'exécution du script n'est pas restreinte, saisissez la commande PowerShell set-executionpolicy.
    set-executionpolicy -scope currentuser unrestricted
    Vous n'avez besoin d'effectuer cette opération qu'une seule fois pour supprimer la restriction.
    1. (Facultatif) S'il existe un avertissement pour le script, exécutez la commande suivante pour débloquer l'avertissement : unblock-file -path .\uagdeploy.ps1
  6. Exécutez la commande pour démarrer le déploiement. Si vous ne spécifiez pas le fichier .INI, le script est défini par défaut sur ap.ini.
    .\uagdeploy.ps1 -iniFile uag1.ini
  7. Entrez les informations d'identification lorsque vous y êtes invité et terminez le script.
    Note : Si vous êtes invité à ajouter l'empreinte numérique de la machine cible, entrez yes.
    Le dispositif Unified Access Gateway est déployé et disponible pour la production.

Résultats

Pour plus d'informations sur les scripts PowerShell, consultez https://communities.vmware.com/docs/DOC-30835.

Que faire ensuite

Si vous souhaitez mettre à niveau Unified Access Gateway tout en conservant les paramètres existants, modifiez le fichier .ini pour utiliser la nouvelle version de la référence source, puis réexécutez le fichier .ini : uagdeploy.ps1 uag1.ini. Ce processus peut prendre jusqu'à 3 minutes.
[General]
name=UAG1
source=C:\temp\euc-unified-access-gateway-3.2.1-7766089_OVF10.ova

Si vous souhaitez procéder à la mise à niveau sans interruption de service, reportez-vous à la section Mettre à niveau sans interruption.