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.
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 :
- un VSI dans un VPC,
- un cluster OpenShift hébergé dans un VPC,
- les environnements sur site ou tout autre réseau externe (voir également comment connecter des services en nuage à des environnements sur site avec Private Path )
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.
| 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.
- Accédez à la page « Connectivité » :
- Sélectionnez votre projet dans la page Projets de la console Code Engine.
- 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.
- Cliquez sur Ajouter pour créer une plage d'adresses IP de destination autorisée.
- Indiquez un nom.
- Indiquez une plage d'adresses IP en notation CIDR.
- 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.
- Accédez à la page « Connectivité » :
- Sélectionnez votre projet dans la page Projets de la console Code Engine.
- Cliquez sur Paramètres du projet > Connectivité > onglet Connexions de chemin privé pour afficher la liste des connexions de chemin privé existantes.
- Cliquez sur « Ajouter » pour créer une connexion de chemin d'accès privée.
- Indiquez un nom.
- Vous spécifiez l'instance de service Private Path à laquelle se connecter par nom ou par CRN.
- Par nom, sélectionnez l'instance de service Private Path dans la liste déroulante.
- Par CRN, fournir l'instance de service Private Path CRN.
- Sélectionnez la politique d'isolation :
- 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.
- Dédié- Limite l'utilisation de cette connexion de chemin privé à un seul projet Code Engine.
- 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).
- Accédez à la page « Connectivité » :
- Sélectionnez votre projet dans la page Projets de la console Code Engine.
- 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.
- Cliquez sur la ligne contenant la plage d'adresses IP de destination autorisée que vous souhaitez modifier.
- 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/0supprime 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
sharedet 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
dedicatedPrivate Path peut toujours être modifiée enshared. - Une connexion de chemin privé
sharedne peut être modifiée endedicatedque 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 :
- Accédez à la page « Connectivité » :
- Sélectionnez votre projet dans la page Projets de la console Code Engine.
- Cliquez sur Paramètres du projet > Connectivité > onglet Connexions de chemin privé pour afficher la liste des connexions de chemin privé existantes.
- 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.
- 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.
- Accédez à la page « Connectivité » :
- Sélectionnez votre projet dans la page Projets de la console Code Engine.
- 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.
- 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.
- 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
--nameet--cidren 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.
-
Sélectionnez votre projet « Code Engine ». Exemple :
ibmcloud ce project select --name myproject -
Créez une plage d'adresses IP de destination autorisées en spécifiant les options
--nameet--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.
-
Sélectionnez votre projet « Code Engine ». Exemple :
ibmcloud ce project select --name myproject -
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. Fournirsharedoudedicatedsi 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/0supprime 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
sharedet 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-policysurdedicated. - Une connexion
dedicatedPrivate Path peut toujours être modifiée enshared. - Une connexion de chemin privé
sharedne peut être modifiée endedicatedque 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