Cette page explique comment configurer des règles de réseau pour le trafic inter-organisations dans Google Distributed Cloud (GDC) sous air gap.
Le trafic inter-organisations fait référence à la communication entre les services et les charges de travail de différentes organisations.
Avant de commencer
Pour configurer des règles de réseau de trafic inter-organisations, vous devez disposer des éléments suivants :
- Les rôles d'identité et d'accès nécessaires. Pour en savoir plus, consultez Préparer les rôles et les accès prédéfinis.
- Un projet existant. Pour en savoir plus, consultez Créer un projet.
- Désactivez la protection contre l'exfiltration de données.
- L'une des configurations réseau suivantes :
- Les organisations qui utilisent un InterconnectAttachmentGroup commun.
- Organisations utilisant la connectivité via leurs réseaux externes appairés respectifs.
Créer une règle de trafic inter-organisations
Vous pouvez définir des règles de trafic d'entrée ou de sortie inter-organisations pour gérer la communication entre les services et les charges de travail de différentes organisations.
Le trafic inter-organisations fait référence à la communication entre les services et les charges de travail de différentes organisations.
Vous pouvez créer des règles de réseau de projet de trafic inter-organisations au niveau mondial qui s'appliquent au trafic dans toutes les zones de votre organisation. Pour en savoir plus sur les ressources globales dans un univers GDC, consultez Présentation des multizones.
La connexion de services et de charges de travail à une destination en dehors de votre projet dans une autre organisation nécessite une approbation explicite. Vous devez désactiver la protection contre l'exfiltration de données pour autoriser le trafic entre organisations.
Créer une règle de pare-feu d'entrée globale pour le trafic inter-organisations
Lorsque vous exposez des charges de travail dans votre projet à l'aide d'un équilibreur de charge externe, vous devez également créer une règle d'entrée ProjectNetworkPolicy
pour autoriser les adresses IP des clients externes à accéder aux charges de travail.
Cette règle d'entrée globale s'applique à toutes les zones de votre organisation.
Suivez les étapes ci-dessous pour créer une règle de pare-feu et autoriser le trafic entrant provenant de charges de travail dans un projet d'une autre organisation :
Console
- Dans la console GDC du projet que vous configurez, accédez à Mise en réseau > Pare-feu dans le menu de navigation pour ouvrir la page Pare-feu.
- Cliquez sur Créer dans la barre d'actions pour commencer à créer une règle de pare-feu.
Sur la page Détails de la règle de pare-feu, saisissez les informations suivantes :
- Dans le champ Nom, saisissez un nom valide pour votre règle de pare-feu.
- Dans la section Direction du trafic, sélectionnez Entrée pour autoriser le trafic entrant provenant des charges de travail d'autres organisations.
- Dans la section Ciblage, sélectionnez l'une des options suivantes :
- Toutes les charges de travail utilisateur : autorisez les connexions aux charges de travail du projet que vous configurez.
- Service : indiquez que cette règle de pare-feu cible un service spécifique dans le projet que vous configurez.
- Si votre cible est un service de projet, sélectionnez le nom du service dans la liste des services disponibles dans le menu déroulant Service.
- Dans la section De, sélectionnez En dehors de l'organisation, puis saisissez le bloc CIDR d'une autre organisation dans le champ CIDR pour autoriser les connexions depuis le réseau de cette organisation.
- Si votre cible concerne toutes les charges de travail utilisateur, sélectionnez l'une des options suivantes dans la section Protocoles et ports :
- Tout autoriser : autorise les connexions utilisant n'importe quel protocole ou port.
- Protocoles et ports spécifiés : autorisez les connexions utilisant uniquement les protocoles et les ports que vous spécifiez dans les champs correspondants de la règle de pare-feu d'entrée.
Sur la page Détails de la règle de pare-feu, cliquez sur Créer.
Vous avez désormais autorisé les connexions à partir des charges de travail du projet d'une autre organisation. Une fois la règle de pare-feu créée, elle est visible dans un tableau sur la page Pare-feu.
API
Configurez et appliquez votre propre règle d'entrée ProjectNetworkPolicy
personnalisée :
kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
apiVersion: networking.global.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
namespace: PROJECT
name: allow-inbound-traffic-from-external
spec:
policyType: Ingress
subject:
subjectType: UserWorkload
ingress:
- from:
- ipBlock:
cidr: CIDR
EOF
Remplacez les éléments suivants :
GLOBAL_API_SERVER
: chemin d'accès kubeconfig du serveur d'API global. Pour en savoir plus, consultez Serveurs d'API globaux et zonaux. Si vous n'avez pas encore généré de fichier kubeconfig pour le serveur d'API, consultez Se connecter pour en savoir plus.PROJECT
: nom du projet GDC.CIDR
: bloc CIDR d'une autre organisation.
Cette règle est requise, car l'équilibreur de charge externe utilise le retour serveur direct (DSR), qui préserve l'adresse IP externe source et contourne l'équilibreur de charge sur le chemin de retour.
Créer une règle de pare-feu de sortie globale pour le trafic inter-organisations
Pour transférer des données vers des services externes à l'organisation, vous devez d'abord désactiver la protection contre l'exfiltration de données. Vous devez ensuite configurer une règle de pare-feu de sortie pour autoriser le trafic sortant depuis les charges de travail ou les services de votre projet.
Cette section décrit la procédure à suivre pour activer le trafic sortant au niveau du projet. Pour savoir comment gérer la connectivité sortante au niveau de la charge de travail, consultez Gérer le trafic sortant des charges de travail.
Cette règle de pare-feu de sortie globale s'applique à toutes les zones de votre organisation.
Suivez les étapes ci-dessous pour créer une règle de pare-feu et autoriser le trafic sortant des charges de travail ou des services du projet vers les charges de travail d'une autre organisation :
Console
- Dans la console GDC du projet que vous configurez, accédez à Mise en réseau > Pare-feu dans le menu de navigation pour ouvrir la page Pare-feu.
- Cliquez sur Créer dans la barre d'actions pour commencer à créer une règle de pare-feu.
Sur la page Détails de la règle de pare-feu, saisissez les informations suivantes :
- Dans le champ Nom, saisissez un nom valide pour votre règle de pare-feu.
- Dans la section Sens du trafic, sélectionnez Sortie pour indiquer que cette règle de pare-feu contrôle le trafic sortant.
- Dans la section Ciblage, sélectionnez l'une des options suivantes :
- Toutes les charges de travail utilisateur : autorisez les connexions à partir des charges de travail du projet que vous configurez.
- Service : indiquez que cette règle de pare-feu cible un service spécifique dans le projet que vous configurez.
- Si votre cible est un service de projet, sélectionnez le nom du service dans la liste des services disponibles dans le menu déroulant Service.
- Dans la section À, sélectionnez En dehors de l'organisation, puis saisissez le bloc CIDR d'une autre organisation dans le champ CIDR pour autoriser les connexions au réseau de cette organisation.
- Si votre cible concerne toutes les charges de travail utilisateur, sélectionnez l'une des options suivantes dans la section Protocoles et ports :
- Tout autoriser : autorise les connexions utilisant n'importe quel protocole ou port.
- Protocoles et ports spécifiés : autorisez les connexions en utilisant uniquement les protocoles et les ports que vous spécifiez dans les champs correspondants de la règle de pare-feu de sortie.
Sur la page Détails de la règle de pare-feu, cliquez sur Créer.
Vous avez autorisé les connexions à une autre organisation. Une fois la règle de pare-feu créée, elle est visible dans un tableau sur la page Pare-feu.
API
Pour activer le trafic sortant vers des services en dehors de l'organisation, personnalisez votre ressource ProjectNetworkPolicy
. Toutefois, comme la prévention de l'exfiltration de données est activée par défaut, votre règle de sortie ProjectNetworkPolicy
personnalisée affiche une erreur de validation dans le champ d'état, et le plan de données l'ignore. Ce comportement est normal.
Vous pouvez transférer des charges de travail à partir d'un projet donné lorsque vous autorisez l'exfiltration de données pour ce projet. Le trafic sortant que vous autorisez est une traduction d'adresse réseau (NAT) source utilisant une adresse IP bien connue allouée au projet.
Pour activer votre stratégie de sortie personnalisée, procédez comme suit :
Configurez et appliquez votre propre règle de sortie
ProjectNetworkPolicy
personnalisée à toutes les charges de travail utilisateur d'un projet.Utilisez l'exemple suivant :
kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF apiVersion: networking.global.gdc.goog/v1 kind: ProjectNetworkPolicy metadata: namespace: PROJECT name: allow-outbound-traffic-to-external spec: subject: subjectType: UserWorkload egress: - to: - ipBlock: cidr: CIDR EOF
La règle autorise le trafic sortant vers tous les hôtes du bloc CIDR qui se trouvent en dehors de l'organisation. Votre première tentative doit entraîner une erreur d'état voulue et nécessaire.
Vérifiez qu'une erreur de validation s'affiche dans votre état.
Demandez à l'administrateur IAM de l'organisation de désactiver la prévention de l'exfiltration de données. Cette action active votre configuration tout en empêchant tout autre trafic sortant.
Vérifiez la
ProjectNetworkPolicy
que vous avez créée et assurez-vous que l'erreur a disparu du champ "État de validation" et que l'étatReady
estTrue
, ce qui indique que votre règle est en vigueur :kubectl --kubeconfig GLOBAL_API_SERVER \ get projectnetworkpolicy allow-outbound-traffic-to-external \ -n PROJECT -o yaml
Remplacez les éléments suivants :
GLOBAL_API_SERVER
: chemin d'accès au fichier kubeconfig du serveur d'API global. Pour en savoir plus, consultez Serveurs d'API globaux et zonaux. Si vous n'avez pas encore généré de fichier kubeconfig pour le serveur d'API, consultez Se connecter pour en savoir plus.PROJECT
: nom du projet GDC.
Une fois cette règle appliquée, et à condition que vous n'ayez pas défini d'autres règles de sortie, tout autre trafic sortant est refusé pour PROJECT
.