Configurer des hôtes virtuels pour le cloud

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

Un client Cloud disposant d'un compte payant peut créer un hôte virtuel dans une organisation.

En savoir plus :

Qui peut créer et modifier des d'hébergement dans le cloud

La création et la modification d'hôte virtuel sont disponibles pour les comptes payants uniquement dans Edge Cloud. L'utilisateur qui crée l'hôte virtuel doit avoir le rôle d'administrateur de l'organisation ou un un rôle personnalisé disposant des autorisations nécessaires pour modifier un hôte virtuel. Les utilisateurs d'autres rôles n'ont pas accès l'autorisation de créer des hôtes virtuels.

Par exemple, les clients payants peuvent:

  • Activer TLS unidirectionnelle et bidirectionnelle
  • Spécifiez le keystore/Truststore utilisé par l'hôte virtuel

Les comptes sans frais et d'essai ne peuvent pas créer ni modifier d'hôtes virtuels, et sont limités aux hôtes virtuels créé pour eux au moment de l'enregistrement Edge. Pour en savoir plus sur les forfaits Edge, consultez https://apigee.com/api-management/#/pricing.

Conditions de configuration d'un hôte virtuel pour le cloud

Le tableau suivant récapitule les conditions requises pour créer un hôte virtuel:

Catégorie Exigence Description
Type de compte Payant Les comptes sans frais et d'essai ne permettent pas de créer ni de modifier des hôtes virtuels.
Rôle utilisateur administrateur de l'organisation Seul un administrateur de l'entreprise peut créer un hôte virtuel ou un utilisateur doté d'un rôle personnalisé disposant pour modifier un hôte virtuel.
Nombre d'hôtes virtuels 20 au maximum

Vous êtes limité à un maximum de 20 hôtes virtuels par organisation/environnement dans le cloud.

Remarque: Il n'y a aucune limite au nombre d'hôtes virtuels dans l'environnement Google Cloud.

La plupart des organisations/environnements utilisent deux hôtes virtuels: un pour HTTP et un pour HTTPS. y accéder. Vous aurez peut-être besoin d'hôtes virtuels supplémentaires si votre organisation/environnement le permet l’accès en utilisant différents noms de domaine.

URL de base Inclut le protocole Lorsque vous définissez l'URL de base de l'hôte virtuel, que ce soit dans l'interface utilisateur ou à l'aide de l'API, vous devez doit spécifier le protocole (par exemple, "http://" ou "https://") dans l'URL.
Port 443

Vous ne pouvez créer un hôte virtuel que sur le port 443.

Notez que vous pouvez créer plusieurs hôtes virtuels sur le port 443, à condition qu'ils aient des alias d'hôte uniques et tous sont compatibles avec TLS.

TLS Obligatoire

Vous ne pouvez créer qu'un hôte virtuel compatible avec le protocole TLS sur HTTPS. Vous devez déjà créé un keystore et éventuellement un Truststore contenant votre certificat et votre clé TLS.

Vous devez disposer d'un certificat signé par une entité de confiance telle que Symantec ou VeriSign. Vous ne pouvez pas utiliser de certificat autosigné.

Si vous avez besoin d'un accès HTTP, contactez l'assistance Apigee Edge.

Protocole TLS TLS 1.2

Edge dans le cloud n'est compatible qu'avec TLS version 1.2.

Alias d'hôte Unique dans l’organisation et l’environnement L'alias d'hôte n'existe pas pour une autre combinaison organisation/environnement.
Nom de domaine Appartenant au client

Vous devez être propriétaire du nom de domaine spécifié dans l'hôte virtuel. Vérifications en périphérie pour s'assurer que le nom de domaine, tel que défini par l'alias d'hôte, correspond aux métadonnées dans le protocole TLS certificat.

Plus précisément, Edge vérifie les informations suivantes dans le certificat:

  • CN - Nom commun
  • SAN - Subject Alternative Name

Les caractères génériques sont autorisés dans le SAN ou le CN (par exemple, *.myco.net).

Edge vérifie également que le certificat n'a pas expiré.

Prise en charge de l'extension SNI de l'application cliente Toutes les applications clientes accédant à l'hôte virtuel doivent être compatibles avec l'extension SNI.

La compatibilité SNI est requise par toutes les applications.

Créer un hôte virtuel à l'aide d'un navigateur

La plupart des exemples de cette section utilisent l'API Edge pour créer ou modifier des hôtes virtuels, mais vous pouvez créer un hôte virtuel dans l'interface utilisateur Edge.

Pour créer un hôte virtuel à l'aide de l'interface utilisateur Edge:

  1. Connectez-vous à apigee.com/edge.
  2. Sélectionnez Admin > Hôtes virtuels
  3. Sélectionnez l'environnement, par exemple prod ou test.
  4. Sélectionnez + Hôte virtuel pour créer un hôte virtuel ou sélectionnez le nom d'un un hôte virtuel existant pour le modifier.
  5. Pour en savoir plus sur le remplissage des champs d'hôte virtuel, consultez le tableau ci-dessus.

Définir un hôte virtuel pour le protocole TLS unidirectionnel

Objet XML qui définit l'hôte virtuel. Par exemple, l'objet XML suivant définit hôte virtuel pour TLS unidirectionnel:

<VirtualHost name="myTLSVHost"> 
    <HostAliases> 
        <HostAlias>api.myCompany.com</HostAlias> 
    </HostAliases> 
    <Port>443</Port> 
    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>false</ClientAuthEnabled> 
        <KeyStore>ref://myTestKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
    </SSLInfo>
</VirtualHost>

Dans cette définition, vous:

  • Indiquez myTLSVHost comme nom. Utilisez ce nom comme référence l'hôte virtuel dans un proxy d'API ou dans un appel d'API.
  • Indiquez api.myCompany.com comme alias d'hôte. Il s'agit de la domaine public utilisé pour accéder à vos API, tel que défini par une définition DNS et un CNAME enregistrer.
  • Spécifiez 443 comme numéro de port. En cas d'omission, par défaut le port est défini sur 443.
  • Activez le protocole TLS si nécessaire.

    Élément <Enable> est défini sur "true" pour activer le protocole TLS unidirectionnel, et les éléments et <KeyStore> spécifient le keystore et l'alias de clé utilisés par la connexion TLS.

    Pour activer le protocole TLS bidirectionnel, définissez <ClientAuthEnabled> sur "true". Spécifiez un truststore à l'aide de l'élément <TrustStore>. Le Truststore contient l'émetteur du certificat du client et la chaîne d'autorité de certification du certificat, ce qui est obligatoire.

    Remarque: comme Edge était initialement compatible avec SSL, le tag que vous utilisez pour configurer TLS est nommé <SSLInfo>.

Notez que vous pouvez définir d'autres propriétés dans l'hôte virtuel. Pour une Pour connaître toutes les propriétés, consultez la documentation de référence sur les propriétés d'hôte virtuel.

Décider comment spécifier le keystore et le nom du truststore dans l'hôte virtuel

Lors de la configuration d'un hôte virtuel pour qu'il prenne en charge TLS, vous spécifiez un keystore à l'aide d'un référence. Une référence est une variable qui contient le nom du keystore ou truststore, au lieu de spécifier directement le nom du keystore ou du truststore, comme indiqué ci-dessous:

    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>false</ClientAuthEnabled> 
        <KeyStore>ref://myTestKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
    </SSLInfo>

L'avantage d'utiliser une référence est que vous pouvez modifier sa valeur keystore utilisé par l'hôte virtuel, généralement parce que le certificat du keystore actuel est arrivant à expiration dans un avenir proche. Modifier la valeur de la référence ne nécessite pas de redémarrer le routeur Edge. Consultez la section Utiliser des références pour en savoir plus en savoir plus sur la création et la modification des références.

Vous ne pouvez utiliser qu'une référence au keystore et au truststore. Vous ne pouvez pas utiliser de référence à l'alias. Lorsque vous modifiez la référence dans un keystore, assurez-vous que le nom d'alias du certificat est identique à celui de l'ancien keystore.

Restrictions concernant l'utilisation de références aux keystores et au truststore

Vous devez tenir compte de la restriction suivante lorsque vous utilisez des références à des keystores et Truststores:

  • Vous ne pouvez utiliser des références keystore et truststore dans des hôtes virtuels que si vous acceptez l'extension SNI et vous terminez SSL sur les routeurs Apigee.
  • Si vous avez un équilibreur de charge devant les routeurs Apigee et que vous arrêtez le protocole TLS sur le vous ne pouvez pas utiliser de références keystore et truststore dans des hôtes virtuels.

Définir un hôte virtuel pour TLS bidirectionnel

Pour activer le protocole TLS bidirectionnel, définissez l'élément <ClientAuthEnabled> sur true, et spécifiez un Truststore en à l'aide d'une référence avec l'élément <TrustStore>. Le Truststore contient l'émetteur du certificat du client et la chaîne d'autorité de certification du certificat, ce qui est obligatoire. Le client doit également être correctement configuré pour le protocole TLS bidirectionnel.

Pour créer un hôte virtuel pour TLS bidirectionnel, créez un objet XML qui définit l'hôte virtuel hôte:

<VirtualHost name="myTLSVHost"> 
    <HostAliases> 
        <HostAlias>api.myCompany.com</HostAlias> 
    </HostAliases> 
    <Port>443</Port> 
    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>true</ClientAuthEnabled> 
        <KeyStore>ref://myTestKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
        <TrustStore>ref://myTestTruststoreRef</TrustStore> 
    </SSLInfo>
</VirtualHost>

Dans cette définition, vous:

  • Activez le protocole TLS bidirectionnel en définissant <ClientAuthEnabled> sur "true".
  • Spécifiez la référence au truststore à l'aide de l'élément <TrustStore>. Le Truststore contient l'émetteur du certificat du client et la chaîne d'autorité de certification du certificat, ce qui est obligatoire.

Définir un hôte virtuel qui utilise le certificat et la clé d'essai sans frais d'Apigee

Si vous disposez d'un compte Edge for Cloud payant et que vous ne disposez pas encore d'un certificat et d'une clé TLS, vous pouvez créer un hôte virtuel qui utilise le certificat et la clé d'essai sans frais d'Apigee. Cela signifie que vous pouvez créer l'hôte virtuel sans créer de keystore au préalable.

Le certificat d'essai sans frais d'Apigee est défini pour un domaine de *.apigee.net. Par conséquent, le <HostAlias> de l'hôte virtuel doit également être au format *.apigee.net.

Si vous utilisez le protocole TLS bidirectionnel, vous devez quand même définir l'élément <ClientAuthEnabled> sur true, puis spécifiez un truststore à l'aide d'une référence avec l'élément <TrustStore>. comme décrit ci-dessus dans Définir un hôte virtuel pour TLS bidirectionnel.

Un objet XML qui définit l'hôte virtuel à l'aide du certificat et de la clé d'essai sans frais d'Apigee omet la les éléments <KeyStore> et <KeyAlias>, et les remplace par les <UseBuiltInFreeTrialCert>, comme indiqué ci-dessous:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>false</ClientAuthEnabled>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

La valeur par défaut de l'élément <UseBuiltInFreeTrialCert> est "false".

Pour le protocole TLS bidirectionnel, définissez l'hôte virtuel comme suit:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>true</ClientAuthEnabled>
        <TrustStore>ref://myTestTruststoreRef</TrustStore>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

Dans l'interface utilisateur Edge, sélectionnez l'option Utiliser un certificat d'essai sans frais intégré lors de la création de l'hôte virtuel pour utiliser le certificat et la clé Apigee sans frais:

Sélectionnez &quot;Utiliser un certificat d&#39;essai sans frais intégré&quot;.

Créer un hôte virtuel

Procédez comme suit pour créer l'hôte virtuel:

  1. Créez une entrée DNS et un enregistrement CNAME pour votre domaine public (api.myCompany.com pour cet exemple) qui pointe vers [org]-[environment].apigee.net.
  2. Créez et configurez un keystore, nommé myTestKeystore dans cet exemple, en exécutant les commandes suivantes : en suivant la procédure décrite ici: Création de keystores et de Truststore à l'aide de l'interface utilisateur Edge. Pour cet exemple, Assurez-vous que le keystore utilise un alias myKeyAlias pour le certificat. clé privée.
  3. Importez le certificat et la clé dans le keystore. Vérifiez que le nom de domaine spécifié par vos cert correspond à l'alias d'hôte que vous souhaitez utiliser pour l'hôte virtuel.
  4. Créez une référence au keystore à l'aide de l'interface utilisateur ou de l'API Edge. La référence spécifie le nom du keystore et le type de référence comme KeyStore. Consultez la section Utiliser des références pour en savoir plus en savoir plus sur la création et la modification des références.

  5. Créez l'hôte virtuel en utilisant la fonction Créer un Virtual Host. Veillez à spécifier la référence keystore et l'alias de clé appropriés. Pour utiliser l'API, créez le keystore à l'aide de l'appel d'API POST suivant : nommé myTLSVHost:
    curl -X POST -H "Content-Type:application/xml" \
      https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts \
      -d '<VirtualHost name="myTLSVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Port>443</Port>
        <SSLInfo>
          <Enabled>true</Enabled>
          <ClientAuthEnabled>false</ClientAuthEnabled>
          <KeyStore>ref://myTestKeystoreRef</KeyStore>
          <KeyAlias>myKeyAlias</KeyAlias>
        </SSLInfo>
      </VirtualHost>' \
      -u orgAdminEmail:password

    Si vous exécutez un protocole TLS bidirectionnel avec le client, définissez <ClientAuthEnabled> sur "true". et spécifiez le truststore à l'aide de l'élément <TrustStore>. Le client doit être correctement configuré pour TLS bidirectionnel, ce qui signifie que Edge dispose d’un Truststore contenant le l'émetteur de certificat et la chaîne de certificats du client. Créez le truststore en suivant la procédure décrite ici: Création de keystores et de Truststore à l'aide de l'interface utilisateur Edge.

  6. Si vous disposez de proxys d'API existants, ajoutez l'hôte virtuel à l'élément <HTTPConnection> dans le ProxyEndpoint L'hôte virtuel est ajouté automatiquement à tous les nouveaux proxys d'API. Voir <ph type="x-smartling-placeholder"></ph> Configurez un proxy d'API pour utiliser un hôte virtuel.

Après avoir mis à jour un proxy d'API pour utiliser l'hôte virtuel, et créé l'entrée DNS et le CNAME pour l'alias d'hôte, vous pouvez accéder au proxy d'API comme indiqué ci-dessous:

https://api.myCompany.com/v1/{project-base-path}/{resource-path}

Exemple :

https://api.myCompany.com/v1/weather/forecastrss?w=12797282

Modifier un hôte virtuel

Les clients Cloud payants effectuent deux tâches principales pour modifier un hôte virtuel existant:

  1. Modifier la valeur d'une référence à un keystore ou à un truststore.

    Remarque: Une fois que vous avez défini un <KeyStore> ou <TrustStore> pour utiliser une référence, vous pouvez modifier sa valeur à tout moment. Toutefois, si vous souhaitez modifier <KeyStore> ou <TrustStore> pour utiliser une autre référence ou modifier <KeyAlias> pour utiliser un autre alias, vous devez contacter l'assistance Apigee Edge.
  2. Modifier les propriétés TLS de l'hôte virtuel

Modification de la valeur d'un référence

Vous pouvez modifier la valeur d'une référence pour changer le keystore ou le truststore utilisé par une instance virtuelle hôte.

Avant de modifier la valeur de la référence:

  1. Créez un keystore et importez un certificat et une clé comme décrit dans la section . Création de keystores et de Truststore à l'aide de l'interface utilisateur Edge. Dans le nouveau keystore, Veillez à utiliser pour l'alias de clé le même nom que celui utilisé dans la clé existante. Google Store.
  2. Si nécessaire, créez un nouveau truststore et importez un certificat comme décrit dans la section . Création de keystores et de Truststore à l'aide de l'interface utilisateur Edge.
  3. Modifiez la référence comme décrit dans la section Utiliser des références.

Modification des propriétés TLS du hôte virtuel

Les clients payants peuvent utiliser le Mettre à jour une API d'hôte virtuel pour mettre à jour un hôte virtuel Cette API vous permet de définir de l'hôte virtuel décrites dans la section Documentation de référence sur la propriété d'hôte virtuel

Lorsque vous modifiez l'hôte virtuel, Edge effectue une validation similaire à celle lorsque vous créez un hôte virtuel. C'est-à-dire que, lors d'une modification, Edge valide que:

  • Le domaine spécifié par l'alias d'hôte n'est pas utilisé dans une autre organisation et environnement.
  • Vous êtes propriétaire du nom de domaine. Plus précisément, Edge vérifie que les informations suivantes dans cert correspond à l'alias de l'hôte: <ph type="x-smartling-placeholder">
      </ph>
    • CN - Nom commun
    • SAN - Subject Alternative Name
    • Edge vérifie que le certificat n'a pas expiré.

Pour modifier un hôte virtuel à l'aide de l'API Edge, procédez comme suit:

  1. Mettez à jour l'hôte virtuel à l'aide du Mettre à jour une API Virtual Host Lorsque vous utilisez l'API, vous devez spécifier la définition complète l'hôte virtuel dans le corps de la requête, et pas seulement les éléments à modifier. Dans ce Par exemple, vous définissez la valeur de la propriété proxy_read_timeout:

    curl -X PUT -H "Content-Type:application/xml" \
      https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts/{vhost_name} \
      -d '<VirtualHost name="myTLSVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Port>443</Port>
        <SSLInfo>
          <Enabled>true</Enabled>
          <ClientAuthEnabled>false</ClientAuthEnabled>
          <KeyStore>ref://myTestKeystoreRef</KeyStore>
          <KeyAlias>myKeyAlias</KeyAlias>
        </SSLInfo>
        <Properties>
           <Property name="proxy_read_timeout">50</Property>
             </Properties>
      </VirtualHost>' \
      -u orgAdminEmail:password

Modification d'un l'hôte virtuel utilise des références au keystore et au truststore

Tous les nouveaux hôtes virtuels pour Edge dans le cloud utilisent la référence au keystore et au truststore. Les références vous permettent de modifier le keystore et le truststore sans contacter l'assistance Apigee Edge.

Les hôtes virtuels plus anciens sur Apigee Edge peuvent ne pas être configurés pour utiliser des références pour les keystores et Truststores. Dans ce cas, vous pouvez mettre à jour l'hôte virtuel pour qu'il utilise une référence.

Mettre à jour un hôte virtuel pour utiliser un référence

Pour mettre à jour l'hôte virtuel, procédez comme suit:

  1. Si nécessaire, créez un keystore et importez un certificat comme décrit dans la section . Création de keystores et de Truststore à l'aide de l'interface utilisateur Edge. Si vous disposez déjà d'un keystore, vous pouvez configurer une référence pour qu'elle pointe vers lui.
  2. Créez une référence au keystore.
  3. Si nécessaire, créez un nouveau truststore et importez un certificat. Si vous possédez déjà un truststore, vous pouvez alors configurer une référence pour qu'elle pointe vers elle.
  4. Créez une référence au truststore.
  5. Mettez à jour l'hôte virtuel pour définir le keystore, l'alias, le truststore et tout autre service TLS propriétés. La charge utile pour l'appel est la suivante:
    curl -X PUT -H "Content-Type:application/xml" \
      https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts/{vhost_name} \
      -d '<VirtualHost  name="myTLSVHost">
            <HostAliases>
              <HostAlias>api.myCompany.com</HostAlias>
            </HostAliases>
            <Port>443</Port>
            <OCSPStapling>off</OCSPStapling>
            <SSLInfo>
              <Enabled>true</Enabled>
              <ClientAuthEnabled>true</ClientAuthEnabled>
              <KeyStore>ref://myKeyStore2Way</KeyStore>
              <KeyAlias>keyAlias</KeyAlias>
              <TrustStore>ref://myTrustStore2Way</TrustStore>
              <IgnoreValidationErrors>false</IgnoreValidationErrors>
            </SSLInfo>
          </VirtualHost>' \
        -u orgAdminEmail:pWord
  6. Contacter Apigee Prise en charge du redémarrage des routeurs Edge pour terminer le processus.