Travailler avec la connectivité sortante en Code Engine

La fonction de connexions sortantes de IBM Cloud® Code Engine permet de définir des points d'extrémité accessibles pour vos projets Code Engine.

  • Utiliser les plages d'adresses IP de destination autorisées pour les connexions sortantes en notation CIDR.
  • Connectez votre projet Code Engine avec IBM Cloud VPC Services de chemins privés en utilisant la console Code Engine ou le CLI.

Vous pouvez créer des connexions sortantes à l'aide de la console ou de l'interface de ligne de commande (CLI).

Plages d'adresses IP de destination autorisées pour les connexions sortantes

Les plages d'adresses IP de destination autorisées garantissent que le trafic sortant est limité aux adresses que vous définissez comme sûres. Vous empêchez ainsi l'accès indésirable à l'internet et renforcez la conformité et la sécurité.

Les spécifications de plage CIDR n'affectent pas la communication interne au projet, les connexions de chemin privé ou les connexions de service privé, qui sont toujours des destinations autorisées. Par conséquent, la restriction du trafic sortant sur la base de plages CIDR n'empêche pas les applications de votre projet Code Engine de communiquer entre elles, ou de communiquer avec un service de chemin privé connecté, ou avec un point d'extrémité privé d'une API de service IBM Cloud.

Votre cas d'utilisation peut déterminer les spécifications de la connexion sortante. Les cas d'utilisation typiques sont les suivants :

  • En ne spécifiant aucune règle (c'est-à-dire aucune adresse IP autorisée), si les applications Code Engine au sein d'un projet ne sont pas censées atteindre des points d'extrémité externes.
  • Spécification d'une seule plage d'adresses IP de destination autorisée (0.0.0.0/0) pour autoriser tous les points d'extrémité possibles. Par défaut, une règle, appelée allow-all, est définie avec une plage d'adresses IP de 0.0.0.0/0.
  • Spécification d'une règle avec une plage d'adresses IP de destination autorisée qui permet à la charge de travail de votre projet Code Engine d'atteindre uniquement la plage de points finaux spécifiée (par exemple, votre centre de données sur site).

Connexions de chemins privés

Private Path permet des connexions entre un service IBM Cloud tel que Code Engine et votre VPC sans compromettre la sécurité ou mettre votre VPC en danger. Voir Permettre à un service IBM Cloud de se connecter au VPC d'un fournisseur.

Ce diagramme illustre comment établir un service Private Path avec des connexions à la passerelle VPE d'une application Code Engine et à votre VPC. Tout d'abord, l'application Code Engine se connecte à la passerelle VPE dans le VPC de Code Engine. Ensuite, la passerelle VPE se connecte au Private Path NLB dans le VPC du fournisseur. À son tour, le chemin privé NLB se connecte à l'application du fournisseur. L'application du fournisseur répond alors à la demande. Cette activité de service de voie privée est entièrement contenue dans une seule région (par exemple, us-south) dans un réseau privé IBM Cloud.

Utilisez Private Path pour connecter votre projet Code Engine à votre VPC via un réseau privé.
Utilisez Private Path pour connecter votre projet Code Engine à votre VPC via un réseau privé.

Le diagramme ci-dessous montre d'autres exemples de la manière dont Private Path peut contribuer à relier votre projet Code Engine à d'autres projets :

Utilisez Private Path pour connecter votre projet Code Engine à diverses cibles dans votre VPC ou d'autres réseaux externes.
Utilisez un chemin privé pour connecter votre projet Code Engine à diverses cibles dans votre VPC ou d'autres réseaux externes

Branchements privés

La connexion à des points d'extrémité privés d'un ensemble de services communs de la plateforme IBM Cloud fait partie des destinations de sortie autorisées pour tous les projets Code Engine. L'ensemble des services de la plateforme activés varie selon les régions, comme le montre le tableau suivant.

Services de plateforme avec points d'extrémité privés activés par région
Service de plateforme Point d'accès privé disponible dans les régions
Recherche globale (point de terminaison URL ) et marquage global (point de terminaison URL ) au-syd, br-sao, ca-tor, eu-de, eu-es, eu-gb, in-che, jp-osa, jp-tok, us-east, us-south
Catalogue global ( URL des terminaux ) au-syd, br-sao, eu-de, jp-osa, us-east, us-south
Gestion des comptes ( URL des terminaux (https://private.accounts.cloud.ibm.com)) eu-de, us-east, us-south
Mesure de l'utilisation ( URL s sur les terminaux ) eu-de, us-east, us-south
Gestion d'entreprise ( URL des terminaux ) eu-de, us-east, us-south
Contrôleur de ressources ( URL s sur les points de terminaison ) eu-de, us-east, us-south
Gestion des utilisateurs ( URL s des terminaux ) eu-de, us-east, us-south

Gestion des destinations sortantes autorisées à l'aide de la console

Ajout d'une plage d'adresses IP de destination autorisée pour la connectivité sortante

Vous pouvez créer des plages d'adresses IP de destination autorisées afin de limiter l'endroit où votre charge de travail peut se connecter sur un réseau externe.

  1. Accédez à la page « Connectivité » :
    1. Sélectionnez votre projet dans la page Projets de la console Code Engine.
    2. Cliquez sur l'onglet Paramètres du projet > Connectivité > Plages CIDR pour afficher la liste des plages d'adresses IP de destination autorisées existantes.
  2. Cliquez sur Ajouter pour créer une plage d'adresses IP de destination autorisée.
  3. Indiquez un nom.
  4. Indiquez une plage d'adresses IP en notation CIDR.
  5. Confirmez votre configuration.

Ajout d'un chemin privé pour la connectivité sortante

Vous pouvez établir une connexion Private Path entre votre projet Code Engine et votre VPC.

  1. Accédez à la page « Connectivité » :
    1. Sélectionnez votre projet dans la page Projets de la console Code Engine.
    2. Cliquez sur Paramètres du projet > Connectivité > onglet Connexions de chemin privé pour afficher la liste des connexions de chemin privé existantes.
  2. Cliquez sur « Ajouter » pour créer une connexion de chemin d'accès privée.
  3. Indiquez un nom.
  4. Vous spécifiez l'instance de service Private Path à laquelle se connecter par nom ou par CRN.
    1. Par nom, sélectionnez l'instance de service Private Path dans la liste déroulante.
    2. Par CRN, fournir l'instance de service Private Path CRN.
  5. Sélectionnez la politique d'isolation :
    1. Partagé- Permet de réutiliser la connexion du chemin privé entre les projets Code Engine qui résident dans le même compte IBM Cloud que le VPC cible, ou dans les comptes de la même famille de comptes d'entreprise.
    2. Dédié- Limite l'utilisation de cette connexion de chemin privé à un seul projet Code Engine.
  6. Confirmez votre configuration.

Une fois la connexion au VPC créée, le propriétaire du service Private Path reçoit une demande de connexion. Le propriétaire peut examiner, autoriser ou refuser cette demande de connexion. Utilisez les consommateurs Code Engine account ID et VPE gateway creation timestamp affichés dans la vue détaillée de la connexion du chemin privé pour identifier la demande de connexion au sein du service de chemin privé.

Mise à jour d'une plage d'adresses IP de destination autorisée pour la connectivité sortante

Vous pouvez modifier les plages d'adresses IP de destination autorisées pour empêcher votre charge de travail de se connecter à des points d'extrémité non souhaités (par exemple, pour se connecter à l'internet public).

  1. Accédez à la page « Connectivité » :
    1. Sélectionnez votre projet dans la page Projets de la console Code Engine.
    2. Cliquez sur l'onglet Paramètres du projet > Connectivité > Plages CIDR pour afficher la liste des plages d'adresses IP de destination autorisées existantes.
  2. Cliquez sur la ligne contenant la plage d'adresses IP de destination autorisée que vous souhaitez modifier.
  3. Indiquez la plage d'adresses IP mise à jour et enregistrez vos modifications.

Lorsque vous mettez à jour les règles de connectivité sortante, notez :

  • Les plages d'adresses IP de destination autorisées ne sont pas contradictoires; elles sont additives. Lorsque vous définissez plusieurs plages, les destinations autorisées créent une union de toutes les plages spécifiées, de sorte que l'ordre d'ajout des plages n'affecte pas les destinations autorisées résultantes. Si vous ajoutez une deuxième plage qui est déjà couverte par une plage existante, le système rejette la création car elle est redondante.

  • La spécification de la plage d'adresses IP 0.0.0.0/0 supprime toutes les règles existantes et permet une connectivité totale.

  • Après avoir limité les règles de connectivité sortante, il peut s'écouler un certain temps avant que votre charge de travail ne prenne en compte ces règles. Par exemple, si le client HTTP utilisé dans votre code établit une connexion avant que vous ne mettiez à jour la règle de connectivité sortante, il peut ouvrir une connexion à ce point d'extrémité. Pour vous assurer que vos règles de connectivité sortante sont appliquées immédiatement, réinitialisez toutes les connexions. Vous pouvez réinitialiser en redéployant vos charges de travail ou en gérant ces situations dans votre code.

  • Après avoir restreint les connexions sortantes de votre projet Code Engine, vous pouvez constater des effets secondaires inattendus tels que l'échec d'une compilation parce qu'aucune requête externe ne peut être effectuée.

Mise à jour d'une connexion de chemin privé pour la connectivité sortante

Vous pouvez modifier une connexion de chemin privé entre votre projet Code Engine et votre VPC pour qu'elle soit dedicated ou shared.

  • Une connexion Private Path peut être shared et donc réutilisée entre des projets Code Engine qui résident dans le même compte IBM Cloud que le VPC cible, ou des comptes dans la même famille de comptes d'entreprise.
  • Pour limiter l'utilisation d'une connexion Private Path à un seul projet Code Engine, définissez sa politique d'isolation sur dedicated.
  • Une connexion dedicated Private Path peut toujours être modifiée en shared.
  • Une connexion de chemin privé shared ne peut être modifiée en dedicated que si elle n'est pas utilisée par plus d'un projet Code Engine.

Pour mettre à jour la politique d'isolation d'une connexion Private Path :

  1. Accédez à la page « Connectivité » :
    1. Sélectionnez votre projet dans la page Projets de la console Code Engine.
    2. Cliquez sur Paramètres du projet > Connectivité > onglet Connexions de chemin privé pour afficher la liste des connexions de chemin privé existantes.
  2. Accédez à la ligne contenant la connexion de chemin privé que vous souhaitez mettre à jour, cliquez sur l'icône d'actions de ligne à trois points et sélectionnez l'option Modifier la politique d'isolement.
  3. Dans la boîte de dialogue, cliquez sur Modifier pour confirmer vos modifications.

Suppression d'une destination autorisée pour la connectivité sortante

Vous pouvez supprimer des destinations sortantes autorisées précédemment définies, si vous ne souhaitez plus qu'elles soient définies pour la connectivité sortante.

La suppression des plages d'adresses IP de destination autorisées bloque le trafic sortant pour les applications, fonctions et tâches Code Engine au sein d'un projet.

  1. Accédez à la page « Connectivité » :
    1. Sélectionnez votre projet dans la page Projets de la console Code Engine.
    2. Cliquez sur Paramètres du projet > Connectivité > Onglet Plages CIDR pour afficher la liste des plages d'adresses IP de destination autorisées existantes, ou sur l'onglet Connexions de chemin privé pour afficher la liste des connexions de chemin privé existantes.
  2. Allez sur la ligne contenant la destination sortante autorisée que vous souhaitez supprimer, cliquez sur l'icône d'actions de ligne à trois points et sélectionnez l'option Supprimer.
  3. Confirmez la suppression lorsque vous y êtes invité.

Gestion des destinations sortantes autorisées à l'aide de la CLI

Pour travailler avec les destinations sortantes autorisées à l'aide de commandes CLI, connectez-vous à votre compte IBM Cloud et sélectionnez le compte et le groupe de ressources Code Engine.

Ajout d'une plage d'adresses IP de destination autorisée pour la connectivité sortante

Pour les commandes CLI de connectivité sortante Code Engine, vous pouvez spécifier les valeurs et pour configurer les plages d'adresses IP de destination autorisées les valeurs --name et --cidr pour configurer les plages d'adresses IP de destination autorisées. Suivez les directives CIDR :

  • N'utilisez pas de plage d'adresses IP parmi les plages d'adresses IP réservées.
  • N'utilisez pas les valeurs --name et --cidr en double.
  • N'utilisez pas de nom CIDR non pris en charge.
  • N'utilisez pas de plage d'adresses IP non prise en charge. Suivre la notation CIDR.

Vous pouvez créer des plages d'adresses IP de destination autorisées afin de limiter l'endroit où votre charge de travail peut se connecter sur un réseau externe.

  1. Sélectionnez votre projet « Code Engine ». Exemple :

    ibmcloud ce project select --name myproject
    
  2. Créez une plage d'adresses IP de destination autorisées en spécifiant les options --name et --cidr. Indiquez un nom et une adresse IP valides. Reportez-vous à ces exemples :

    ibmcloud ce connectivity outbound create --name mycidr1 --cidr 192.68.5.0/24
    
    ibmcloud ce connectivity outbound create --name mycidr2-allow-all --cidr 0.0.0.0/0
    
    ibmcloud ce connectivity outbound create --name mycidr2-allow-all --cidr 0.0.0.0/0 --force
    

Ajout d'un chemin privé pour la connectivité sortante

Pour les commandes CLI de connectivité sortante Code Engine, vous pouvez spécifier les valeurs suivantes les valeurs --name, --format, --pps-crn, et éventuellement --isolation-policy pour établir des connexions Private Path entre votre projet Code Engine et votre VPC.

  1. Sélectionnez votre projet « Code Engine ». Exemple :

    ibmcloud ce project select --name myproject
    
  2. Créez un chemin privé pour la connectivité sortante en spécifiant les adresses --name, --format, et --pps-crn. Fournir un nom, un format et un CRN valides. Fournir shared ou dedicated si l'on spécifie --isolation-policy. Reportez-vous à ces exemples :

    ibmcloud ce connectivity outbound create --name my-pps-connection --format pps --pps-crn crn:v1:bluemix:public:is:eu-de:a/abcdefabcdefabcdefabcd1234567890::private-path-service-gateway:r010-2b2b2b2b-3c3c-4d4d-5e5e-6f6f6f6f6f6f
    
    ibmcloud ce connectivity outbound create --name my-pps-connection-2 --format pps --pps-crn crn:v1:bluemix:public:is:eu-de:a/abcdefabcdefabcdefabcd1234567890::private-path-service-gateway:r010-2b2b2b2b-3c3c-4d4d-5e5e-6f6f6f6f6f5e --isolation-policy dedicated
    

Une fois la connexion au VPC créée, le propriétaire du service Private Path reçoit une demande de connexion. Le propriétaire peut examiner, autoriser ou refuser cette demande de connexion. Utilisez les consommateurs Code Engine account ID et VPE gateway creation timestamp affichés dans la vue détaillée de la connexion du chemin privé pour identifier la demande de connexion au sein du service de chemin privé.

Affichage des destinations autorisées existantes pour la connectivité sortante

Pour afficher une destination sortante autorisée spécifique, indiquez son nom. Exemple :

ibmcloud ce connectivity outbound get --name my-allowed-destination

Pour afficher toutes les destinations sortantes autorisées, exécutez la commande suivante :

ibmcloud ce connectivity outbound list

Pour afficher les formats sélectionnés des destinations sortantes autorisées, exécutez l'exemple suivant :

ibmcloud ce connectivity outbound list --format cidr,pps

ibmcloud ce connectivity outbound list --format cidr

ibmcloud ce connectivity outbound list --format pps

Mise à jour d'une plage d'adresses IP de destination autorisée pour la connectivité sortante

Vous pouvez modifier les plages d'adresses IP de destination autorisées pour empêcher votre charge de travail de se connecter à des points d'extrémité non souhaités (par exemple, pour se connecter à l'internet public).

Mettre à jour une plage d'adresses IP de destination autorisée en spécifiant les options --name et --cidr. Indiquez un nom et une adresse IP valides. Reportez-vous à ces exemples :

ibmcloud ce connectivity outbound update --name mycidr1 --cidr 192.68.5.0/24

ibmcloud ce connectivity outbound update --name mycidr2-allow-all --cidr 0.0.0.0/0
Are you sure you want to update an allowed destination IP address range with '0.0.0.0/0'?, It will remove all other entries [y/N]>

ibmcloud ce connectivity outbound update --name mycidr2-allow-all --cidr 0.0.0.0/0 --force

Lorsque vous mettez à jour les règles de connectivité sortante, notez :

  • Les plages d'adresses IP de destination autorisées ne sont pas contradictoires; elles sont additives. Lorsque vous définissez plusieurs plages, les destinations autorisées créent une union de toutes les plages spécifiées, de sorte que l'ordre d'ajout des plages n'affecte pas les destinations autorisées résultantes. Si vous ajoutez une deuxième plage qui est déjà couverte par une plage existante, le système rejette la création car elle est redondante.

  • La spécification de la plage d'adresses IP 0.0.0.0/0 supprime toutes les règles existantes et permet une connectivité totale.

  • Même après avoir limité les règles de connectivité sortante, il peut s'écouler un certain temps avant que votre charge de travail ne prenne en compte ces règles. Par exemple, si le client HTTP utilisé dans votre code établit une connexion avant que vous ne mettiez à jour la règle de connectivité sortante, il peut ouvrir une connexion à ce point d'extrémité. Pour vous assurer que vos règles de connectivité sortante sont appliquées immédiatement, réinitialisez toutes les connexions. Vous pouvez réinitialiser en redéployant vos charges de travail ou en gérant ces situations dans votre code.

  • Après avoir restreint les connexions sortantes de votre projet Code Engine, vous pouvez constater des effets secondaires inattendus tels que l'échec d'une compilation parce qu'aucune requête externe ne peut être effectuée.

Mise à jour d'une connexion de chemin privé pour la connectivité sortante

Vous pouvez modifier une connexion de chemin privé entre votre projet Code Engine et votre VPC pour qu'elle soit dedicated ou shared.

  • Une connexion Private Path peut être shared et donc réutilisée entre les projets Code Engine qui résident dans le même compte IBM Cloud que le VPC cible, ou les comptes de la même Enterprise Account Family.
  • Pour limiter l'utilisation d'une connexion de chemin privé à un seul projet Code Engine, définissez sa valeur --isolation-policy sur dedicated.
  • Une connexion dedicated Private Path peut toujours être modifiée en shared.
  • Une connexion de chemin privé shared ne peut être modifiée en dedicated que si elle n'est pas utilisée par plus d'un projet Code Engine.

Pour mettre à jour une connexion par chemin privé, spécifiez les options --name et --isolation-policy. Reportez-vous à ces exemples :

ibmcloud ce connectivity outbound update --name my-pps-connection --isolation-policy dedicated

ibmcloud ce connectivity outbound update --name my-pps-connection --isolation-policy shared

Suppression d'une destination autorisée pour la connectivité sortante

Vous pouvez supprimer des destinations sortantes autorisées précédemment définies, si vous ne souhaitez plus qu'elles soient définies pour la connectivité sortante.

La suppression des plages d'adresses IP de destination autorisées bloque le trafic sortant pour les applications, fonctions et tâches Code Engine au sein d'un projet.

Pour supprimer une destination sortante autorisée avec confirmation, indiquez son nom. Exemple :

ibmcloud ce connectivity outbound delete --name my-allowed-destination

Pour supprimer de force (c'est-à-dire sans confirmation) une destination sortante autorisée, exécutez la commande suivante :

ibmcloud ce connectivity outbound delete --name my-allowed-destination --force