VPN (Virtual Private Network)

Lär dig hur du ansluter AEM as a Cloud Service till ditt VPN för att skapa säkra kommunikationskanaler mellan AEM och interna tjänster.

Vad är Virtual Private Network?

Med VPN (Virtual Private Network) kan en AEM as a Cloud Service-kund ansluta de AEM miljöerna i ett Cloud Manager-program till en befintlig, stödd VPN. VPN ger säkra och kontrollerade anslutningar mellan AEM as a Cloud Service och tjänster i kundens nätverk.

Ett Cloud Manager-program kan bara ha en enskild nätverksinfrastrukturtyp. Kontrollera att Virtuellt privat nätverk är den lämpligaste typen av nätverksinfrastruktur för din AEM as a Cloud Service innan du kör följande kommandon.

NOTE
Observera att det inte går att ansluta byggmiljön från Cloud Manager till ett VPN. Om du måste få åtkomst till binära artefakter från en privat databas måste du skapa en säker och lösenordsskyddad databas med en URL som är tillgänglig på den offentliga Internet enligt beskrivningen här.

Förutsättningar

Följande krävs när du konfigurerar ett virtuellt privat nätverk med Cloud Manager API

Mer information finns i Konfigurera och hämta API-autentiseringsuppgifter för Cloud Manager så att du kan använda dem för att göra ett Cloud Manager API-anrop.

I den här självstudien används curl för att skapa Cloud Manager API-konfigurationer. De curl-kommandon som tillhandahålls förutsätter en Linux/macOS-syntax. Om du använder kommandotolken i Windows ersätter du radbrytningstecknet \ med ^.

Aktivera virtuellt privat nätverk per program

Börja med att aktivera det virtuella privata nätverket på AEM as a Cloud Service.

Cloud Manager

Flexibel portutgång kan aktiveras med Cloud Manager. I följande steg beskrivs hur du aktiverar flexibel portutgång på AEM as a Cloud Service med Cloud Manager.

  1. Logga in på Adobe Experience Manager Cloud Manager som Cloud Manager Business Owner.

  2. Navigera till önskat program.

  3. Navigera till Tjänster > Nätverksinfrastrukturer på den vänstra menyn.

  4. Välj knappen Lägg till nätverksinfrastruktur.

    Lägg till nätverksinfrastruktur

  5. Välj alternativet Virtuellt privat nätverk i dialogrutan Lägg till nätverksinfrastruktur. Fyll i fälten och välj Fortsätt. Samarbeta med organisationens nätverksadministratör för att få rätt värden.

    Lägg till VPN

  6. Skapa minst en VPN-anslutning. Ge anslutningen ett beskrivande namn och välj knappen Lägg till anslutning.

    Lägg till VPN-anslutning

  7. Konfigurera VPN-anslutningen. Samarbeta med organisationens nätverksadministratör för att få rätt värden. Välj Spara för att bekräfta att anslutningen har lagts till.

    Konfigurera VPN-anslutning

  8. Om det krävs flera VPN-anslutningar måste du ange fler anslutningar efter behov. När alla VPN-anslutningar har lagts till väljer du Fortsätt.

    Konfigurera VPN-anslutning

  9. Välj Spara för att bekräfta att VPN och alla konfigurerade anslutningar lagts till.

    Bekräfta skapande av VPN

  10. Vänta tills nätverksinfrastrukturen har skapats och markerats som Ready. Den här processen kan ta upp till 1 timme.

    VPN-skapandestatus

När VPN har skapats kan du nu konfigurera det med Cloud Manager API:er enligt beskrivningen nedan.

Cloud Manager API:er

Virtuellt privat nätverk kan aktiveras med Cloud Manager API:er. I följande steg beskrivs hur du aktiverar VPN på AEM as a Cloud Service med Cloud Manager API.

  1. Ta först reda på i vilken region det avancerade nätverket behövs genom att använda Cloud Manager API-åtgärden listRegions. region name krävs för efterföljande Cloud Manager API-anrop. Normalt används regionen där produktionsmiljön finns.

    Hitta AEM as a Cloud Service-miljöns region i Cloud Manager under miljöns information. Regionnamnet som visas i Cloud Manager kan mappas till regionkoden som används i Cloud Manager API.

    listRegions HTTP request

    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. Aktivera åtgärden createNetworkInfrastructure för ett Cloud Manager-program med Cloud Manager API:er. Använd rätt region-kod som hämtats från Cloud Manager API listRegions -åtgärden.

    createNetworkInfrastructure HTTP-begäran

    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
    

    Definiera JSON-parametrarna i en vpn-create.json och tillhandahåll för att rulla via ... -d @./vpn-create.json.

    Hämta exemplet vpn-create.json. Filen är bara ett exempel. Konfigurera filen efter behov baserat på de valfria/obligatoriska fälten som beskrivs i 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
            }
        }]
    }
    

    Vänta i 45-60 minuter på att Cloud Manager-programmet ska tillhandahålla nätverksinfrastrukturen.

  3. Kontrollera att miljön har slutfört konfigurationen Virtuellt privat nätverk med Cloud Manager API getNetworkInfrastructure med hjälp av id som returnerades från HTTP-begäran createNetworkInfrastructure i föregående steg.

    getNetworkInfrastructure HTTP-begäran

    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'
    

    Kontrollera att HTTP-svaret innehåller status av ready. Om du inte är klar ännu kontrollerar du statusen var några minut.

När VPN har skapats kan du nu konfigurera det med Cloud Manager API:er enligt beskrivningen nedan.

Konfigurera virtuella privata nätverksproxies per miljö

  1. Aktivera och konfigurera konfigurationen Virtuellt privat nätverk i varje AEM as a Cloud Service-miljö med Cloud Manager API-åtgärden enableEnvironmentAdvancedNetworkingConfiguration .

    enableEnvironmentAdvancedNetworkingConfiguration HTTP-begäran

    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
    

    Definiera JSON-parametrarna i en vpn-configure.json och tillhandahåll för att rulla via ... -d @./vpn-configure.json.

Hämta exemplet 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 deklarerar en uppsättning värdar för vilka port 80 eller 443 ska dirigeras via de delade standardadressintervallen i stället för den dedikerade IP-adressen. nonProxyHosts kan vara användbart eftersom trafik som trycks ned via delade IP-adresser optimeras automatiskt av Adobe.

För varje portForwards-mappning definierar det avancerade nätverket följande vidarebefordringsregel:

Proxyvärd
Proxyport
Extern värd
Extern port
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest

Om AEM endast kräver HTTP/HTTPS-anslutningar till den externa tjänsten lämnar du portForwards-arrayen tom, eftersom dessa regler bara krävs för icke-HTTP/HTTPS-begäranden.

​2. Verifiera VPN-routningsreglerna för varje miljö med Cloud Manager API:ns getEnvironmentAdvancedNetworkingConfiguration -åtgärd.

getEnvironmentAdvancedNetworkingConfiguration HTTP-begäran

$ 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. Proxykonfigurationer för virtuella privata nätverk kan uppdateras med Cloud Manager API:ts enableEnvironmentAdvancedNetworkingConfiguration -åtgärd. Kom ihåg att enableEnvironmentAdvancedNetworkingConfiguration är en PUT-åtgärd, så alla regler måste anges med varje anrop av den här åtgärden.

​4. Nu kan du använda den virtuella privata nätverkets utgångskonfiguration i din anpassade AEM kod och konfiguration.

Ansluta till externa tjänster via det virtuella privata nätverket

När det virtuella privata nätverket är aktiverat kan AEM kod och konfiguration använda dem för att ringa till externa tjänster via VPN. Det finns två varianter av externa anrop som AEM behandlar på olika sätt:

  1. HTTP/HTTPS-anrop till externa tjänster
    • Innehåller HTTP/HTTPS-anrop till tjänster som körs på andra portar än standardportarna 80 eller 443.
  2. icke-HTTP/HTTPS-anrop till externa tjänster
    • Inkluderar alla icke-HTTP-anrop, till exempel anslutningar med e-postservrar, SQL-databaser eller tjänster som körs på andra icke-HTTP/HTTPS-protokoll.

HTTP/HTTPS-begäranden från AEM på standardportar (80/443) tillåts som standard, men VPN-anslutningen används inte om den inte är korrekt konfigurerad enligt beskrivningen nedan.

HTTP/HTTPS

När du skapar HTTP-/HTTPS-anslutningar från AEM proxiceras HTTP-/HTTPS-anslutningar automatiskt ut ur AEM när VPN används. Ingen ytterligare kod eller konfiguration krävs för att stödja HTTP/HTTPS-anslutningar.

TIP
I AEM as a Cloud Service dokumentation för virtuellt privat nätverk finns en fullständig uppsättning routningsregler.

Exempel på koder

HTTP/HTTPS

HTTP/HTTPS

Exempel på Java™-kod som skapar HTTP/HTTPS-anslutning från AEM as a Cloud Service till en extern tjänst med protokollet HTTP/HTTPS.

Kodexempel för icke-HTTP/HTTPS-anslutningar

När anslutningar som inte är HTTP/HTTPS skapas (t.ex. SQL, SMTP och så vidare) från AEM måste anslutningen upprättas via ett särskilt värdnamn som AEM anger.

Variabelnamn
Använd
Java™-kod
OSGi-konfiguration
AEM_PROXY_HOST
Proxyvärd för icke-HTTP/HTTPS-anslutningar
System.getenv("AEM_PROXY_HOST")
$[env:AEM_PROXY_HOST]

Anslutningar till externa tjänster anropas sedan via AEM_PROXY_HOST och den mappade porten (portForwards.portOrig), som AEM sedan dirigeras till det mappade externa värdnamnet (portForwards.name) och porten (portForwards.portDest).

Proxyvärd
Proxyport
Extern värd
Extern port
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest

Exempel på koder

SQL-anslutning med JDBC DataSourcePool

SQL-anslutning med JDBC DataSourcePool

Exempel på Java™-kod som ansluter till externa SQL-databaser genom att konfigurera AEM JDBC-datakällpool.

SQL-anslutning med Java API:er

SQL-anslutning med Java™ API:er

Exempel på Java™-kod som ansluter till externa SQL-databaser med Java™ SQL API:er.

VPN (Virtual Private Network)

E-posttjänst

Exempel på OSGi-konfiguration som använder AEM för att ansluta till externa e-posttjänster.

Begränsa åtkomst till AEM as a Cloud Service via VPN

Konfigurationen Virtuellt privat nätverk begränsar åtkomsten till AEM as a Cloud Service-miljöer till ett VPN.

Konfigurationsexempel

Använda IP tillåtelselista

Använder en IP-tillåtelselista

Konfigurera en IP-tillåtelselista så att endast VPN-trafik kan komma åt AEM.

Sökvägsbaserade begränsningar för VPN-åtkomst till AEM Publish

Sökvägsbaserade begränsningar för VPN-åtkomst till AEM Publish

Kräv VPN-åtkomst för specifika sökvägar i AEM Publish.

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