Virtual Private Network (VPN)

Scopri come collegare AEM as a Cloud Service alla tua VPN per creare canali di comunicazione sicuri tra AEM e servizi interni.

Che cos'è Virtual Private Network?

Virtual Private Network (VPN) consente a un cliente AEM as a Cloud Service di connettere gli ambienti AEM all'interno di un programma Cloud Manager a una VPN esistente supportata. La VPN consente connessioni sicure e controllate tra AEM as a Cloud Service e i servizi all’interno della rete del cliente.

Un programma Cloud Manager può avere solo un tipo di infrastruttura di rete singolo. Prima di eseguire i seguenti comandi, verificare che Virtual Private Network sia il tipo di infrastruttura di rete 🔗 più appropriato per il proprio AEM as a Cloud Service.

NOTE
La connessione dell’ambiente di build da Cloud Manager a una VPN non è supportata. Se devi accedere ad artefatti binari da un archivio privato, devi impostare un archivio protetto da password e protetto da password con un URL disponibile su Internet come descritto qui.

Prerequisiti

Quando si configura una rete privata virtuale utilizzando le API di Cloud Manager, è necessario quanto segue:

  • Account Adobe con autorizzazioni Proprietario business Cloud Manager

  • Accedi alle credenziali di autenticazione dell'API Cloud Manager 🔗

    • ID organizzazione (ID organizzazione IMS)
    • ID client (alias chiave API)
    • Token di accesso (token Bearer)
  • ID del programma Cloud Manager

  • ID dell’ambiente Cloud Manager

  • Una rete privata virtuale basata su route, con accesso a tutti i parametri di connessione necessari.

Per ulteriori dettagli consulta come impostare, configurare e ottenere le credenziali API di Cloud Manager, per utilizzarle per effettuare una chiamata API di Cloud Manager.

Questo tutorial utilizza curl per creare le configurazioni API di Cloud Manager. I comandi curl forniti assumono una sintassi Linux/macOS. Se si utilizza il prompt dei comandi di Windows, sostituire il carattere di interruzione di riga \ con ^.

Abilita rete privata virtuale per programma

Per iniziare, abilita la rete privata virtuale su AEM as a Cloud Service.

Cloud Manager

L’uscita dalla porta flessibile può essere abilitata utilizzando Cloud Manager. I passaggi seguenti descrivono come abilitare l’uscita con porta flessibile su AEM as a Cloud Service utilizzando Cloud Manager.

  1. Accedi a Adobe Experience Manager Cloud Manager come Proprietario business Cloud Manager.

  2. Passa al programma desiderato.

  3. Nel menu a sinistra, passare a Servizi > Infrastruttura di rete.

  4. Selezionare il pulsante Aggiungi infrastruttura di rete.

    Aggiungi infrastruttura di rete

  5. Nella finestra di dialogo Aggiungi infrastruttura di rete, seleziona l'opzione Rete privata virtuale. Compila i campi e seleziona Continua. Rivolgiti all’amministratore di rete della tua organizzazione per ottenere i valori corretti.

    Aggiungi VPN

  6. Crea almeno una connessione VPN. Assegna alla connessione un nome significativo e seleziona il pulsante Aggiungi connessione.

    Aggiungi connessione VPN

  7. Configura la connessione VPN. Rivolgiti all’amministratore di rete della tua organizzazione per ottenere i valori corretti. Seleziona Salva per confermare l'aggiunta della connessione.

    Configura connessione VPN

  8. Se sono necessarie più connessioni VPN, il numero di connessioni necessarie sarà maggiore. Dopo aver aggiunto tutte le connessioni VPN, selezionare Continua.

    Configura connessione VPN

  9. Seleziona Salva per confermare l'aggiunta della VPN e di tutte le connessioni configurate.

    Conferma creazione VPN

  10. Attendere che l'infrastruttura di rete venga creata e contrassegnata come Pronta. Questo processo può richiedere fino a 1 ora.

    Stato creazione VPN

Una volta creata la VPN, ora puoi configurarla utilizzando le API di Cloud Manager come descritto di seguito.

API Cloud Manager

È possibile abilitare la rete privata virtuale utilizzando le API di Cloud Manager. I passaggi seguenti descrivono come abilitare la VPN su AEM as a Cloud Service utilizzando l’API Cloud Manager.

  1. In primo luogo, determinare l'area in cui è necessaria la rete avanzata utilizzando l'operazione listRegions dell'API Cloud Manager. region name è necessario per effettuare chiamate API Cloud Manager successive. In genere, viene utilizzata l’area in cui risiede l’ambiente di produzione.

    Trova l'area geografica dell'ambiente AEM as a Cloud Service in Cloud Manager nei dettagli ambiente. Il nome dell'area visualizzato in Cloud Manager può essere mappato al codice dell'area utilizzato nell'API Cloud Manager.

    richiesta HTTP listRegions

    code language-shell
    $ curl -X GET https://cloudmanager.adobe.io/api/program/{programId}/regions \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: Bearer <ACCESS_TOKEN>' \
        -H 'Content-Type: application/json'
    
  2. Abilitare Virtual Private Network per un programma Cloud Manager utilizzando l'operazione createNetworkInfrastructure delle API Cloud Manager. Utilizza il codice region appropriato ottenuto dall'operazione listRegions dell'API Cloud Manager.

    createNetworkInfrastructure richiesta HTTP

    code language-shell
    $ curl -X POST https://cloudmanager.adobe.io/api/program/{programId}/networkInfrastructures \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: Bearer <ACCESS_TOKEN>' \
        -H 'Content-Type: application/json'
        -d @./vpn-create.json
    

    Definisci i parametri JSON in un vpn-create.json e forniti per curl tramite ... -d @./vpn-create.json.

    Scarica l'esempio vpn-create.json. Questo file è solo un esempio. Configura il file come richiesto in base ai campi facoltativi/obbligatori documentati in enableEnvironmentAdvancedNetworkingConfiguration.

    code language-json
    {
        "kind": "vpn",
        "region": "va7",
        "addressSpace": [
            "10.104.182.64/26"
        ],
        "dns": {
            "resolvers": [
                "10.151.201.22",
                "10.151.202.22",
                "10.154.155.22"
            ],
            "domains": [
                "wknd.site",
                "wknd.com"
            ]
        },
        "connections": [{
            "name": "connection-1",
            "gateway": {
                "address": "195.231.212.78",
                "addressSpace": [
                    "10.151.0.0/16",
                    "10.152.0.0/16",
                    "10.153.0.0/16",
                    "10.154.0.0/16",
                    "10.142.0.0/16",
                    "10.143.0.0/16",
                    "10.124.128.0/17"
                ]
            },
            "sharedKey": "<secret_shared_key>",
            "ipsecPolicy": {
                "dhGroup": "ECP256",
                "ikeEncryption": "AES256",
                "ikeIntegrity": "SHA256",
                "ipsecEncryption": "AES256",
                "ipsecIntegrity": "SHA256",
                "pfsGroup": "ECP256",
                "saDatasize": 102400000,
                "saLifetime": 3600
            }
        }]
    }
    

    Attendere 45-60 minuti affinché il programma Cloud Manager esegua il provisioning dell'infrastruttura di rete.

  3. Verificare che l'ambiente abbia completato la configurazione di Virtual Private Network tramite l'operazione getNetworkInfrastructure dell'API Cloud Manager, utilizzando id restituito dalla richiesta HTTP createNetworkInfrastructure nel passaggio precedente.

    richiesta HTTP getNetworkInfrastructure

    code language-shell
    $ curl -X GET https://cloudmanager.adobe.io/api/program/{programId}/networkInfrastructure/{networkInfrastructureId} \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: <YOUR_BEARER_TOKEN>' \
        -H 'Content-Type: application/json'
    

    Verificare che la risposta HTTP contenga un stato di pronto. Se non è ancora pronto, ricontrolla lo stato ogni pochi minuti.

Una volta creata la VPN, ora puoi configurarla utilizzando le API di Cloud Manager come descritto di seguito.

Configurare proxy di rete privata virtuale per ambiente

  1. Abilita e configura la configurazione della rete privata virtuale in ogni ambiente AEM as a Cloud Service utilizzando l'operazione enableEnvironmentAdvancedNetworkingConfiguration dell'API Cloud Manager.

    enableEnvironmentAdvancedNetworkingConfiguration richiesta HTTP

    code language-shell
    $ curl -X PUT https://cloudmanager.adobe.io/api/program/{programId}/environment/{environmentId}/advancedNetworking \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: Bearer <ACCESS_TOKEN>' \
        -H 'Content-Type: application/json' \
        -d @./vpn-configure.json
    

    Definisci i parametri JSON in un vpn-configure.json e forniti per curl tramite ... -d @./vpn-configure.json.

Scarica l’esempio vpn-configure.json

{
    "nonProxyHosts": [
        "example.net",
        "*.example.org"
    ],
    "portForwards": [
        {
            "name": "mysql.example.com",
            "portDest": 3306,
            "portOrig": 30001
        },
        {
            "name": "smtp.sendgrid.com",
            "portDest": 465,
            "portOrig": 30002
        }
    ]
}

nonProxyHosts dichiara un set di host per i quali la porta 80 o 443 deve essere instradata attraverso gli intervalli di indirizzi IP condivisi predefiniti anziché attraverso l'IP in uscita dedicato. nonProxyHosts può essere utile in quanto il traffico in uscita attraverso gli IP condivisi viene ottimizzato automaticamente da Adobe.

Per ogni mappatura portForwards, la rete avanzata definisce la seguente regola di inoltro:

Host proxy
Porta proxy
Host esterno
Porta esterna
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest

Se la distribuzione AEM only richiede connessioni HTTP/HTTPS al servizio esterno, lasciare vuoto l'array portForwards, in quanto queste regole sono necessarie solo per le richieste non HTTP/HTTPS.

​2. Per ogni ambiente, verificare che le regole di routing VPN siano attive utilizzando l'operazione getEnvironmentAdvancedNetworkingConfiguration dell'API Cloud Manager.

getEnvironmentAdvancedNetworkingConfiguration richiesta HTTP

$ curl -X GET https://cloudmanager.adobe.io/api/program/{programId}/environment/{environmentId}/advancedNetworking \
    -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
    -H 'x-api-key: <CLIENT_ID>' \
    -H 'Authorization: Bearer <ACCESS_TOKEN>' \
    -H 'Content-Type: application/json'

​3. Le configurazioni proxy di rete privata virtuale possono essere aggiornate utilizzando l'operazione enableEnvironmentAdvancedNetworkingConfiguration dell'API Cloud Manager. Ricorda che enableEnvironmentAdvancedNetworkingConfiguration è un'operazione PUT, pertanto tutte le regole devono essere fornite con ogni chiamata di questa operazione.

​4. Ora puoi utilizzare la configurazione di uscita Virtual Private Network nel codice AEM e nella configurazione personalizzati.

Connessione a servizi esterni tramite la rete privata virtuale

Con la rete privata virtuale abilitata, il codice e la configurazione AEM possono utilizzarli per effettuare chiamate a servizi esterni tramite la VPN. Esistono due tipi di chiamate esterne che l’AEM tratta in modo diverso:

  1. Chiamate HTTP/HTTPS a servizi esterni
    • Include le chiamate HTTP/HTTPS effettuate a servizi in esecuzione su porte diverse dalle porte standard 80 o 443.
  2. chiamate non HTTP/HTTPS a servizi esterni
    • Include tutte le chiamate non HTTP, ad esempio le connessioni con i server di posta, i database SQL o i servizi eseguiti su altri protocolli non HTTP/HTTPS.

Le richieste HTTP/HTTPS dall’AEM sulle porte standard (80/443) sono consentite per impostazione predefinita, ma non utilizzano la connessione VPN se non configurate in modo appropriato come descritto di seguito.

HTTP/HTTPS

Quando si creano connessioni HTTP/HTTPS dall’AEM, quando si utilizza la VPN le connessioni HTTP/HTTPS vengono automaticamente escluse dall’AEM. Per supportare le connessioni HTTP/HTTPS non è necessario alcun codice o configurazione aggiuntivi.

TIP
Consulta la documentazione di AEM as a Cloud Service Virtual Private Network per l'insieme completo di regole di routing.

Esempi di codice

HTTP/HTTPS

HTTP/HTTPS

Esempio di codice Java™ per stabilire una connessione HTTP/HTTPS da AEM as a Cloud Service a un servizio esterno utilizzando il protocollo HTTP/HTTPS.

Esempi di codice di connessioni non HTTP/HTTPS

Durante la creazione di connessioni non HTTP/HTTPS (ad es. SQL, SMTP e così via) dall’AEM, la connessione deve essere effettuata attraverso uno speciale nome host fornito dall’AEM.

Nome variabile
Utilizzare
Codice Java™
Configurazione OSGi
AEM_PROXY_HOST
Host proxy per connessioni non HTTP/HTTPS
System.getenv("AEM_PROXY_HOST")
$[env:AEM_PROXY_HOST]

Le connessioni ai servizi esterni vengono quindi chiamate tramite AEM_PROXY_HOST e la porta mappata (portForwards.portOrig), che AEM indirizza quindi al nome host esterno mappato (portForwards.name) e alla porta (portForwards.portDest).

Host proxy
Porta proxy
Host esterno
Porta esterna
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest

Esempi di codice

Connessione SQL tramite DataSourcePool JDBC

Connessione SQL tramite DataSourcePool JDBC

Esempio di codice Java™ connessione a database SQL esterni tramite la configurazione del pool di origini dati JDBC dell'AEM.

Connessione SQL tramite API Java

Connessione SQL tramite API Java™

Esempio di codice Java™ per la connessione a database SQL esterni tramite le API SQL di Java™.

Virtual Private Network (VPN)

Servizio di posta elettronica

Esempio di configurazione OSGi con AEM per la connessione a servizi di posta elettronica esterni.

Limitare l’accesso ad AEM as a Cloud Service tramite VPN

La configurazione di Virtual Private Network limita l’accesso agli ambienti AEM as a Cloud Service a una VPN.

Esempi di configurazione

Applicazione di un elenco consentiti IP

Applicazione di un inserisco nell'elenco Consentiti di

Inserire nell'elenco Consentiti Configura un IP in modo che solo il traffico VPN possa accedere all’AEM.

Restrizioni all’accesso VPN basato su percorsi per AEM Publish

Restrizioni all'accesso VPN basato su percorso a AEM Publish

Richiedi accesso VPN per percorsi specifici sul Publish AEM.

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69