Anhand von PowerShell-Skripten können Sie Ihre Umgebung mit allen Konfigurationseinstellungen einrichten. Wenn Sie das PowerShell-Skript zum Bereitstellen von Unified Access Gateway ausführen, kann die Lösung schon beim ersten Systemstart in der Produktion eingesetzt werden.

Wichtig: Mit einer PowerShell-Bereitstellung können Sie alle Einstellungen in der INI-Datei angeben, und die Unified Access Gateway-Instanz ist bereit für die Produktion, sobald sie hochgefahren ist. Wenn Sie keine Einstellungen nach der Bereitstellung ändern möchten, müssen Sie das Kennwort für die Verwaltungsoberfläche nicht angeben.

Das Kennwort für die Verwaltungsoberfläche und die API sind allerdings nicht verfügbar, wenn das Kennwort während der Bereitstellung nicht angegeben wird. Wenn Sie das Kennwort für die Verwaltungsoberfläche bei der Bereitstellung nicht angeben, können Sie später keinen Benutzer hinzufügen, um den Zugriff auf die Verwaltungsoberfläche oder die API zu ermöglichen. Sie müssen Ihr Unified Access Gateway erneut bereitstellen.

Sie können die Parameter in der INI-Datei zum Erstellen von Administratorbenutzern mit geringen Berechtigungen für Überwachungsrollen einbeziehen. Das Erstellen von Superuser-Admin-Benutzern wird nicht unterstützt. Sie können die Kennwortrichtlinien für den Root-Benutzer und den Admin-Benutzer konfigurieren, bevor Sie die Unified Access Gateway-Instanz bereitstellen.

Weitere Informationen zu den Parametern finden Sie im Abschnitt, in dem der entsprechende Parameter der Administrator-Benutzeroberfläche verwendet wird. Beispiel: Einige der Bereitstellungsparameter werden in PowerShell-Parameter für die Bereitstellung von Unified Access Gateway und Bereitstellen von Unified Access Gateway mit dem OVF-Vorlagenassistenten beschrieben. Informationen zu den in der Systemkonfiguration verwendeten Parametern, den Syslog-Servereinstellungen, den Netzwerkeinstellungen usw. finden Sie unter Konfigurieren von Unified Access Gateway auf den Verwaltungsseiten für die Konfiguration. Informationen zu den in Edge-Diensten verwendeten Parametern und anderen Anwendungsfällen von Unified Access Gateway wie Workspace ONE Intelligence und Identify Bridging finden Sie unter Anwendungsbeispiele für die Unified Access Gateway-Bereitstellung.

Voraussetzungen

  • Löschen Sie bei einer Hyper-V-Bereitstellung und bei einem Upgrade von Unified Access Gateway mit statischer IP die vorherige Appliance, bevor Sie die neuere Unified Access Gateway-Instanz bereitstellen.
  • Stellen Sie sicher, dass die Systemanforderungen erfüllt sind.

    Dies ist ein Beispielskript zum Bereitstellen von Unified Access Gateway in Ihrer Umgebung.

    Abbildung 1. PowerShell-Beispielskript

Prozedur

  1. Laden Sie die Unified Access Gateway-OVA vom Customer Connect-Portal auf Ihren Computer herunter.
  2. Laden Sie die uagdeploy-XXX.zip-Dateien in einen Ordner auf dem Computer herunter.
    Die ZIP-Dateien sind auf der Customer Connect-Seite für Unified Access Gateway verfügbar.
  3. Öffnen Sie ein PowerShell-Skript und ändern Sie das Verzeichnis in den Speicherort des Skripts.
  4. Erstellen Sie eine INI-Konfigurationsdatei für die virtuelle Unified Access Gateway-Appliance.
    Beispiel: Stellen Sie eine neue Unified Access Gateway-Appliance UAG1 bereit. Die Konfigurationsdatei hat den Namen uag1.ini. Diese Datei enthält alle Konfigurationseinstellungen für UAG1. Sie können mit den INI-Beispieldateien in der Datei uagdeploy.ZIP die INI-Datei erstellen und die Einstellungen entsprechend ändern.
    Hinweis:
    • Sie können eindeutige INI-Dateien für mehrere Unified Access Gateway-Bereitstellungen in Ihrer Umgebung verwenden. Um mehrere Appliances bereitzustellen, müssen Sie die IP-Adressen und die Namensparameter in der INI-Datei entsprechend ändern.
    • Führen Sie den folgenden openssl-Befehl aus, um den privaten Schlüssel von PKCS8 in PKCS1 zu konvertieren, das heißt, vom Format BEGIN PRIVATE KEY in das Format BEGIN RSA PRIVATE KEY:

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

      Führen Sie die folgenden Befehle aus, um die PKCS #12-Formatdatei mit einer .p12- oder .pfx-Dateierweiterung zu konvertieren und sicherzustellen, dass der Schlüssel ein RSA-Schlüssel ist:

      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

    Beispiel für die anzupassende INI-Datei.
    [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
    tunnelConfigurationId=
    
    [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=
    Hinweis:
    • Die in der INI-Datei enthaltenen [adminSAMLSettings] dienen zur Konfiguration der SAML-Authentifizierungsmethode, die zur Authentifizierung der Benutzer mit Administratorzugriff auf die Verwaltungsoberfläche verwendet wird. Hier bezieht sich entityId auf die Entitäts-ID des externen Metadatenanbieters.
    • Kennwörter für die Admin-Benutzer mit geringen Berechtigungen und Überwachungsrollen werden als Parameter für das PowerShell-Skript bereitgestellt. Wird das Kennwort nicht bereitgestellt, wird der Benutzer zur Eingabe des Kennworts aufgefordert. Stellen Sie den Parameter als newAdminUserPwd und einen Parameterwert bereit, der monitoringUser1:P@ssw0rd1;monitoringUser2:P@ssw0rd2 ähnelt. Der Parameter enabled in der INI-Datei ist optional und wird standardmäßig auf „true“ festgelegt, wenn der Parameter nicht verfügbar ist.
  5. Geben Sie den PowerShell-Befehl set-executionpolicy ein, um eine uneingeschränkte Ausführung des Skripts sicherzustellen.
    set-executionpolicy -scope currentuser unrestricted
    Sie müssen dies nur einmal durchführen, um die Einschränkung zu entfernen.
    1. (Optional) Wenn eine Warnung für das Skript angezeigt wird, führen Sie folgenden Befehl aus, um die Warnung aufzuheben: unblock-file -path .\uagdeploy.ps1
  6. Führen Sie den Befehl aus, um die Bereitstellung zu starten. Wenn Sie die INI-Datei nicht angeben, verwendet das Skript standardmäßig ap.ini.
    .\uagdeploy.ps1 -iniFile uag1.ini
  7. Geben Sie die Anmeldedaten ein, wenn Sie dazu aufgefordert werden, und schließen Sie das Skript ab.
    Hinweis: Wenn Sie aufgefordert werden, den Fingerabdruck für den Zielcomputer hinzuzufügen, geben Sie Ja ein.
    Die Unified Access Gateway-Appliance ist bereitgestellt und kann in der Produktion eingesetzt werden.

Ergebnisse

Weitere Informationen zu PowerShell-Skripten finden Sie unter https://communities.vmware.com/docs/DOC-30835.

Nächste Maßnahme

Wenn Sie Unified Access Gateway unter Beibehaltung der vorhandenen Einstellungen ein Upgrade durchführen möchten, bearbeiten Sie die INI-Datei, um die Quellreferenz zur neuen Version zu ändern, und führen Sie die .INI-Datei uagdeploy.ps1 uag1.ini erneut aus. Dieser Vorgang kann bis zu 3 Minuten in Anspruch nehmen.
[General]
name=UAG1
source=C:\temp\euc-unified-access-gateway-3.2.1-7766089_OVF10.ova

Informationen zum Upgrade ohne Unterbrechung des Dienstes finden Sie unter Upgrade ohne Ausfallzeit.